Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 127723

Summary: fontforge-20050624 access violation (with lilypond-2.8.0)
Product: Gentoo Linux Reporter: Thomas Holder <2008>
Component: New packagesAssignee: Gentoo Fonts Team <fonts>
Status: RESOLVED FIXED    
Severity: normal CC: michael.kiermaier, vapier
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 125752    
Attachments: fontforge-20060125-respect-HOME.patch
fontforge-20060406-respect-HOME.patch

Description Thomas Holder 2006-03-27 02:01:51 UTC
this bug report is forked from bug 97574

when emerging lilypond, I (sometimes) get this error:

------------------------- ACCESS VIOLATION SUMMARY -------------------------
LOG FILE = "/var/log/sandbox/sandbox-media-sound_-_lilypond-2.8.0-18165.log"

mkdir:     /root/.PfaEdit
----------------------------------------------------------------------------

The problem is the way fontforge detects homedir. It does evaluate /etc/passwd rather than $HOME. $HOME is /var/tmp/portage/homedir/ inside ebuilds, but fontforge wants to write to /root/! The following patch for fontforge-20050624 solved the issue for me:

--- fontforge/autosave.c.orig   2006-03-27 09:10:53.000000000 +0200
+++ fontforge/autosave.c        2006-03-27 09:52:33.000000000 +0200
@@ -48,7 +48,7 @@
 # include <pwd.h>
 
 static char *gethomedir(void) {
-    static char *dir=NULL;
+    char *dir=getenv("HOME");
     int uid;
     struct passwd *pw;
 
@@ -65,9 +65,6 @@
     }
     endpwent();
 
-    if ( (dir=getenv("HOME"))!=NULL )
-return( (dir=strdup(dir)) );
-
 return( NULL );
 }
 #endif
Comment 1 Thomas Holder 2006-03-27 02:40:21 UTC
the patch also applies to fontforge-20060209 (see bug 125752)
Comment 2 Michael Kiermaier 2006-03-27 10:27:17 UTC
Same problem here:

make[2]: Leaving directory `/var/tmp/portage/lilypond-2.8.0-r1/work/lilypond-2.8.0/Documentation/misc'
make[2]: Entering directory `/var/tmp/portage/lilypond-2.8.0-r1/work/lilypond-2.8.0/Documentation/misc'
true
make[2]: Leaving directory `/var/tmp/portage/lilypond-2.8.0-r1/work/lilypond-2.8.0/Documentation/misc'
make[1]: Leaving directory `/var/tmp/portage/lilypond-2.8.0-r1/work/lilypond-2.8.0/Documentation'
--------------------------- ACCESS VIOLATION SUMMARY ---------------------------
LOG FILE = "/var/log/sandbox/sandbox-media-sound_-_lilypond-2.8.0-r1-28690.log"

mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
mkdir:     /root/.PfaEdit
--------------------------------------------------------------------------------


# emerge info
Portage 2.0.54 (default-linux/x86/2005.0, gcc-3.3.6, glibc-2.3.5-r2, 2.6.15-gentoo-r1 i686)
=================================================================
System uname: 2.6.15-gentoo-r1 i686 AMD Athlon(tm)  3200+
Gentoo Base System version 1.6.14
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
dev-lang/python:     2.2.2, 2.3.5, 2.4.2
sys-apps/sandbox:    1.2.12
sys-devel/autoconf:  2.13, 2.59-r6
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1
sys-devel/binutils:  2.16.1
sys-devel/libtool:   1.4.3-r4, 1.5.20
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=athlon-xp -O2 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/bind /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=athlon-xp -O2 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://gentoo.oregonstate.edu/ http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="de_DE.utf8"
LC_ALL="de_DE.utf8"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="x86 3dnow 3dnowext X Xaw3d aac aalib alsa amarok apache2 apm arts audiofile avi bash-completion berkdb bitmap-fonts blas bzip2 bzlib caps cdparanoia cdr crypt css cups curl divx4linux dri dvd eds encode exif expat fam ffmpeg flac font-server fortran gcj gd gdbm gif glut gmp gphoto2 gpm gstreamer gtk2 gtkhtml guile hal icq idn imagemagick imlib innodb ipv6 jack jack-tmpfs java jce jpeg junit kde kdeenablefinal kdexdeltas ladcca ladspa lapack lcms libcaca libg++ libwww live lzo mad maildir matroska matrox mhash mikmod mmx mng monkey motif mp3 mpeg musicbrainz mysql ncurses nls nptl nptlonly nsplugin objc ogg oggvorbis openal opengl oss pam pcre pdflib perl pic png portaudio povray python qt quicktime readline real samba sasl sdl slang sndfile soundtouch speex spell sse ssl svg svga tcltk tcpd tetex theora tiff truetype truetype-fonts type1-fonts udev unicode usb vim vim-with-x visualization vorbis win32codecs wmf xine xinerama xml xml2 xmms xv xvid xvmc zlib userland_GNU kernel_linux elibc_glibc"
Unset:  ASFLAGS, CTARGET, LDFLAGS, LINGUAS
Comment 3 SpanKY gentoo-dev 2006-04-07 21:14:22 UTC
Created attachment 84186 [details, diff]
fontforge-20060125-respect-HOME.patch

looks like that isnt the only bug in the code ... bunch of ugly memleaks as well

ive sent this stuff upstream
Comment 4 SpanKY gentoo-dev 2006-04-07 21:36:08 UTC
Created attachment 84188 [details, diff]
fontforge-20060406-respect-HOME.patch
Comment 5 SpanKY gentoo-dev 2006-04-07 22:38:01 UTC
ok, upstream has accepted this patch into their repo so using it in the 20060406 ebuild should be fine
Comment 6 SpanKY gentoo-dev 2006-04-09 10:46:17 UTC
fontforge-20060406 now in portage, thanks for the report