Evolution and jemalloc

Pascal Hofstee caelian at gmail.com
Sat Jan 14 11:33:57 PST 2006

After jemalloc turned out to have a distinct disliking for MC-gnome's
glib-2.9.2 i opted to pkg_delete -a and install a clean standard
ports-version of the Gnome-2.12.x environment. Everything is now working as
expected with the sole exception so far of Evolution, which seems to
generate a runaway process that eats up all available memory + swap before
the kernel shoots it down. (This is with no limits on vmemory_usage set) on

I also found that setting MALLOC_OPTIONS to aj fixes the runaway process
problems and evolution starts up as expected.
So far i have been able to trace program execution down to the following
IDL-generated code block (and a partial back-trace to illustrate how it got
to that point). The function is generated inside ${WORKDIR}/evolution-2.4
/shell/Evolution-stubs.c (iirc)

void GNOME_Evolution_Component_setLineStatus(GNOME_Evolution_Component _obj,
const CORBA_boolean online, const GNOME_Evolution_Listener listener,
CORBA_Environment *ev){
gpointer _args[2];
_args[0] = (gpointer)&online;
_args[1] = (gpointer)&listener;
ORBit_c_stub_invoke (_obj, &GNOME_Evolution_Component__iinterface.methods,
9, NULL, _args, NULL, ev, GNOME_Evolution_Component__classid,
G_STRUCT_OFFSET (POA_GNOME_Evolution_Component__epv, setLineStatus),


#0  GNOME_Evolution_Component_setLineStatus (_obj=0x809179980, online=1
'\001', listener=0x8092194f0, ev=0x7fffffffe3d0)
    at Evolution-stubs.c:84
        _args = {0x7fffffffe3af, 0x7fffffffe3a0}
#1  0x00000000004154f8 in set_line_status (shell=0x80908ef80, status=1) at
        info = (EComponentInfo *) 0x8091beec0
        priv = (EShellPrivate *) 0x809218b50
        p = (GSList *) 0x8090c67f0
        ev = {_id = 0x0, _major = 0, _any = {_type = 0x0, _value = 0x0,
_release = 0 '\0'}}
        client = (GConfClient *) 0x8091beec0
#2  0x000000000041574f in e_shell_go_online (shell=0x80908ef80,
action_window=0x0) at e-shell.c:1193
        __PRETTY_FUNCTION__ = "e_shell_go_online"
#3  0x000000000041488d in e_shell_construct (shell=0x80908ef80, iid=0x41b8f0
    startup_line_mode=E_SHELL_STARTUP_LINE_MODE_CONFIG) at e-shell.c:700
        priv = (EShellPrivate *) 0x1
        corba_object = 0x1
        start_online = 1
        __PRETTY_FUNCTION__ = "e_shell_construct"

The offending line as far as i have been able to trace it down is the
ORBit_c_stub_invoke call in the code above.
If anyone could help me further tracing down this issue and tell me what i
should likely have a look at that would be highly appreciated .. as i am
getting kinda stuck on my debugging at this point.

  Pascal Hofstee

More information about the freebsd-gnome mailing list