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>