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
CURRENT/amd64.
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),
(ORBitSmallSkeleton)
_ORBIT_skel_small_GNOME_Evolution_Component_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
e-shell.c:1147
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
"OAFIID:GNOME_Evolution_Shell:2.4",
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