Excessive startup times following libtool upgrade

Peter Jeremy peterjeremy at optushome.com.au
Sat Mar 11 06:18:49 UTC 2006


On Fri, 2006-Mar-10 21:40:22 -0600, Eric Schuele wrote:
>Ade Lovett wrote:
>>On Mar 10, 2006, at 01:45 , Peter Jeremy wrote:
>>>I have rebuilt gnucash following the libtool upgrade (admittedly, I
>>>had to downgrade guile to avoid an slib problem).  After which gnucash
>>>takes 15 minutes of system time to start (it used to take about a
>>>minute), issuing a ridiculous number of syscalls (30K/sec).  I've done
>>>some poking around with ktrace and gdb and believe that the problem is
>>>libtool trying to load shared libraries.
>>
>>This appears to be something unique to gnucash -- I've looked at some 
>>other libltdl-using ports, and they don't exhibit the same behavior.

I've done some more poking around and I was wrong - it's not related
to the FreeBSD libltdl because guile embeds its own - libguile-ltdl.
This is a (slightly) customised version of the libtool15 code.

>guessed".  They said it was a known issue and that it was FreeBSD 
>specific.  Their guess was that it had to do with how shared objects 
>were being opened multiple times.  Sounds like a good guess given 
>Peter's findings.

It used to be slow but it looked to be mostly CPU-bound so I assumed
it was just guile.  It's now glacial but I'm no longer sure why.  I'm
considering hacking libguile-ltdl to cache both positive and negative
shared library lookup results but it would be nice to know what the
real problem was.

Unfortunately, I don't have any other guile-based applications so I'm
not sure if this is guile-specific or gnucash-specific.

-- 
Peter Jeremy


More information about the freebsd-ports mailing list