gnucash VERY slow startup

Kaarthik Sivakumar kaarthik at comcast.net
Mon Apr 12 14:22:19 PDT 2004


>>> "CS" == Chris Shenton <chris at shenton.org> writes:
CS> [Dang, I meant to send only to Dewey before bothering the list -- sorry.]
CS> [CC'ing freebsd-ports here, now that I have some details]

Chris> I'm running on a 1.8GHz Dell with 5.2-CURRENT and it takes more
Chris> like 10-20 minutes to start.  A truss seems to show *lots* of
Chris> failed access() and open() for various libraries.

CS> Derek Atkins <warlord at MIT.EDU> writes:

>> I think this is a FreeBSD (or *BSD) problem, as it's specific to that
>> platform.

CS> And it used to run fine on FreeBSD, but I can't remember at what
CS> version, probably 4.x-STABLE.  I'm now running 5.2-CURRENT.  If other
CS> CURRENT users have no problems then it's something hosed with my
CS> various libraries and such.  If everyone else running CURRENT has the
CS> same problem then it would appear an odd interaction between GnuCash
CS> and FreeBSD.

CS> So if anyone's running on CURRENT without startup delays, please let
CS> me know. :-)

I am running 5.2RC2 and I dont have any startup problems. I am
completely updated as far as dependencies are concerned. Maybe
something changed from 5.2 to -current.

kaarthik

CS> I'm using GnuCash-1.8.8, as up to date with all dependencies as I can
CS> get with "portupgrade -R gnucash\*".


>> I don't know if truss will necessarily help, unless you're sitting
>> there watching in real time to see WTF it's doing for so long?  

CS> I was; it spews tons of access() and open() to various libraries in a
CS> variety of locations, most of which failed, until it found the real
CS> location.  It seems to repeat this look, fail, find for the same
CS> libraries over and over.  I've tried to provide details -- which
CS> libraries, what paths, how many times called -- below.


>> It could be a bug in the runtime linker, or libtool, or ltdl, or
>> even guile.

CS> When it's starting, Guile's using all the CPU -- for a long time.
CS> This is when I've been watching truss.

CS> Eventually, the splash screen comes up , but then is delayed again:
CS> the screen tells me its "Loading modules..." (various) but it appears
CS> to be experiencing the same problems which caused the pre-splash delay
CS> since each module seems to take minutes to load.


>> But I find it strange that it works just fine on Linux, Solaris, and MacOSX 

CS> I'm not saying it's a GnuCash issue, just trying to solve a problem.
CS> Perhaps it's something in FreeBSD-5.x-CURRENT library support because
CS> it used to work fine, months back.  Just looking for clues to help
CS> narrow the search. Any suggestions at how to further diagnose would be
CS> appreciated.



CS> Below, I've run "truss -o gnucash.truss gnucash" for a few minutes.
CS> "top" shows guile eating all the cpu which truss isn't, and it's in
CS> state "stopev" which I don't recognize; maybe it's an artifact of
CS> truss.   The CPU consumption is definitely repeatable
CS> without truss, as here:

CS>   PID USERNAME PRI NICE   SIZE    RES STATE    TIME   WCPU    CPU COMMAND
CS>  5688 chris    139    0 22024K 11836K RUN      0:45 93.75% 93.75% guile


CS> I let it run a few minutes under truss then do some sort and uniq on
CS> the output to generate a list of the number of times various calls are
CS> made like:

CS>   chris at PECTOPAH<113> cat gnucash.truss | sort | uniq -c | sort -g -r > gnucash.truss.uniq-count

CS> The following are just most-frequently invoked calls, and it seems like
CS> thousands of failed calls to open the same nonexistent library can't be
CS> good, can't be the way things should work. Again, this is just waiting
CS> a couple minutes for it to start, and it hasn't even gotten close to
CS> showing the splash screen.

CS> 27695 open("/usr/X11R6/lib/gnucash/libm.la",0x0,0666)	 ERR#2 'No such file or directory'
CS> 27695 access("/usr/X11R6/lib/gnucash/libm.so",4)	 ERR#2 'No such file or directory'
CS> 16375 open("/usr/X11R6/lib/gnucash/libpopt.la",0x0,0666) ERR#2 'No such file or directory'
CS> 16375 open("/usr/X11R6/lib/gnucash/libintl.la",0x0,0666) ERR#2 'No such file or directory'
CS> 13584 open("/usr/X11R6/lib/gnucash/libcrypt.la",0x0,0666) ERR#2 'No such file or directory'
CS> 13584 access("/usr/X11R6/lib/gnucash/libcrypt.so",4)	 ERR#2 'No such file or directory'
CS> 12028 open("/usr/X11R6/lib/gnucash/libglib12.la",0x0,0666) ERR#2 'No such file or directory'
CS> 12014 open("/usr/local/lib/libm.la",0x0,0666)		 ERR#2 'No such file or directory'
CS> 12014 open("/usr/X11R6/lib/libm.la",0x0,0666)		 ERR#2 'No such file or directory'
CS> 12014 access("/usr/local/lib/libm.so",4)		 ERR#2 'No such file or directory'
CS> 12014 access("/usr/X11R6/lib/libm.so",4)		 ERR#2 'No such file or directory'
CS> 9726 open("/usr/X11R6/lib/gnucash/libgwrap-wct.la",0x0,0666) ERR#2 'No such file or directory'
CS> 9726 open("/usr/X11R6/lib/gnucash/libgwrap-glib.la",0x0,0666) ERR#2 'No such file or directory'
CS> 8131 sigprocmask(0x3,0x28066fd0,0x0)			 = 0 (0x0)
CS> 7104 open("/usr/local/lib/libpopt.la",0x0,0666)	 ERR#2 'No such file or directory'
CS> 7104 open("/usr/local/lib/libintl.la",0x0,0666)	 ERR#2 'No such file or directory'
CS> 7104 open("/usr/X11R6/lib/libpopt.la",0x0,0666)	 ERR#2 'No such file or directory'
CS> 7104 open("/usr/X11R6/lib/libintl.la",0x0,0666)	 ERR#2 'No such file or directory'
CS> 7104 access("/usr/X11R6/lib/gnucash/libpopt.so",4)	 ERR#2 'No such file or directory'
CS> 7104 access("/usr/X11R6/lib/gnucash/libintl.so",4)	 ERR#2 'No such file or directory'
CS> 7008 close(5)					 = 0 (0x0)
CS> 6007 open("libm.la",0x0,0666)			 ERR#2 'No such file or directory'
CS> 6007 open("/usr/lib/libm.la",0x0,0666)		 ERR#2 'No such file or directory'
CS> 6007 open("/lib/libm.la",0x0,0666)			 ERR#2 'No such file or directory'
CS> 6007 access("/usr/lib/libm.so",4)			 = 0 (0x0)

CS> [zillions of lines removed]
CS> _______________________________________________
CS> freebsd-ports at freebsd.org mailing list
CS> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
CS> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"



More information about the freebsd-ports mailing list