Evolution crawls on FreeBSD

Jeremy Messenger mezz7 at cox.net
Mon Mar 17 01:43:04 UTC 2008


On Sun, 16 Mar 2008 20:31:33 -0500, E. J. Cerejo <ejcerejo at optonline.net>  
wrote:

> On Sat, 01 Mar 2008 21:21:54 -0500
> Joe Marcus Clarke <marcus at marcuscom.com> wrote:
>
>>
>> On Sat, 2008-03-01 at 20:46 -0500, E. J. Cerejo wrote:
>> > On Sat, 01 Mar 2008 19:20:47 -0500
>> > Joe Marcus Clarke <marcus at marcuscom.com> wrote:
>> >
>> > >
>> > > On Sat, 2008-03-01 at 19:12 -0500, E. J. Cerejo wrote:
>> > > > On Sat, 01 Mar 2008 18:50:53 -0500
>> > > > Joe Marcus Clarke <marcus at marcuscom.com> wrote:
>> > > >
>> > > > >
>> > > > > On Sat, 2008-03-01 at 18:16 -0500, E. J. Cerejo wrote:
>> > > > > > I'm running FreeBSD 7.0RC3 and I'm trying to figure out why  
>> evolution takes over a minute to start, there are no error messages if  
>> I run it from terminal window.  First I was running 6.3 but I upgraded  
>> to 7.0 thinking that it might of solve the problem but it didn't.  What  
>> amazes me is, I've got ubuntu installed on the same machine and it only  
>> takes 3 seconds to start, also it only takes 3 seconds to start in  
>> windows.  Evolution running like this is completely worthless.  Any  
>> ideas what might be causing this?  Please respond to my email address  
>> also.
>> > > > >
>> > > > > This has been discussed on this mailing list before.  The  
>> number of
>> > > > > plug-ins enabled in Evo slows down the load time as the loader  
>> is
>> > > > > spinning trying to load each plug-in.  You should disable all  
>> unneeded
>> > > > > plug-ins.
>> > > > >
>> > > > > Joe
>> > > > >
>> > > > > --
>> > > > > PGP Key : http://www.marcuscom.com/pgp.asc
>> > > >
>> > > > Plug-ins don't seem to have an effect when running it on ubuntu,  
>> all the plug-ins are enabled under ubuntu and still starts in 3  
>> seconds.  Are you trying to say that the FreeBSD loader is kind of  
>> primitive comparing to the linux loader?
>> > >
>> > > No.  I'm saying that the tasks the FreeBSD loader performs takes  
>> longer
>> > > than the ones performed by the Linux loader.
>> >
>> > Well, I disabled all the plugins and still takes 40 seconds to open  
>> that's a lot longer than linux with all the plugins enabled.  As far  
>> I'm concerned evolution is out of my list of programs, I still have my  
>> doubts about the real reason as to why it takes so long to open.  In  
>> reality there's no real reason as to why a program will take so long to  
>> open, if that's the case evolution will loose a lot of users in the  
>> FreeBSD community.
>>
>> You're free to build Evolution and e-d-s with debugging symbols, and
>> watch it load in gdb if you don't believe me.  Last time I did this, I
>> found most of the time spent in the loader.  Any optimizations would
>> certainly be welcome.
>
> This patch for this evolution bug was posted in questions by lenzi and  
> it solved that bug, I just thought you would like to know.  It's not an  
> evolution bug but glib20 instead.

Read below again.

> ---------------------------------x------------------------------
>
> The problem is that glib on function g_module_load, searchs for a symbol
> g_module_check_init, g_module_unload... by default.
>
> It occurs that the evolution code, that will be loaded, does not have
> those functions available... so th glib (and dlsym) tries to find the
> symbol in every load module in memory... and doing so consumes all cpu
> for several seconds, for each load module....
>
> ! coded a solution for gmodule that tests for those special symbos, and
> if found, uses dlsymb(RTLD_NEXT,....) instead of dlsym(handler....)
> so it will search a much less modules, and evolution will start in 3
> seconds... (20 times less...)
>
> Of course the correct strategy is to correct code evolution module
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Here...

> (libevolution-mail.so). will do next time....
>
> modified file: /usr/ports/devel/glib20/files/patch-gmodule::gmodule-dl.c
>
> please note this is only a temporary fix... the correct solution is to
> fix the evolution module....
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

...and here.

We already have speed up Evolution in GNOME 2.22, see here:

http://lists.freebsd.org/pipermail/freebsd-gnome/2008-March/019485.html

Cheers,
Mezz

> =============================================
<snip>



-- 
mezz7 at cox.net  -  mezz at FreeBSD.org
FreeBSD GNOME Team
http://www.FreeBSD.org/gnome/  -  gnome at FreeBSD.org


More information about the freebsd-gnome mailing list