Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 11 Mar 2006 17:18:43 +1100
From:      Peter Jeremy <peterjeremy@optushome.com.au>
To:        Eric Schuele <e.schuele@computer.org>
Cc:        freebsd-ports@freebsd.org, Ade Lovett <ade@freebsd.org>
Subject:   Re: Excessive startup times following libtool upgrade
Message-ID:  <20060311061843.GA3222@turion.vk2pj.dyndns.org>
In-Reply-To: <441246A6.30402@computer.org>
References:  <20060310094514.GA688@turion.vk2pj.dyndns.org> <E5E31245-D591-4353-9777-E6528AC6DC34@freebsd.org> <441246A6.30402@computer.org>

next in thread | previous in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060311061843.GA3222>