Segfault in libgnome if using electric fence

Electric fence is a tool to catch weird errors which seem to cause
segfault in every unimaginable place: usually, these are the effect of
bad memory management that (un)fortunatly do not cause a segfault where
they should, but lurk in the dark waiting for the program to do something

Efence solves this putting a "fence" around malloc'd blocks, that way it
segfaults exactly where an address is read/written that shouldn't had.

I tried debugging a gnome app with efence but got into some kind of loop.
I realized the problem was gnome_segv also segfaulting, which led me to
inspect gnome_segv itself with efence.

Here's a stack trace:

#0  0x4151889b in gconv () from /usr/lib/gconv/
#0  0x4151889b in gconv () from /usr/lib/gconv/
#1  0x40471b99 in mbrtowc () from /lib/
#2  0x40439d10 in mbtowc () from /lib/
#3  0x403a1eb4 in _XlcGetCodeSetFromName () from
#4  0x4039cddf in _XlcConvert () from /usr/X11R6/lib/
#5  0x403aa1cc in _Xlcmbstowcs () from /usr/X11R6/lib/
#6  0x403aa36f in _Xmbstowcs () from /usr/X11R6/lib/
#7  0x40394369 in _XimLcctstowcs () from /usr/X11R6/lib/
#8  0x403945ce in XimParseStringFile () from /usr/X11R6/lib/
#9  0x403932d9 in _XimLocalSetIMValues () from /usr/X11R6/lib/
#10 0x4039338a in _XimLocalOpenIM () from /usr/X11R6/lib/
#11 0x403929cc in _XimServerDestroy () from /usr/X11R6/lib/
#12 0x4036af95 in XOpenIM () from /usr/X11R6/lib/
#13 0x402f206f in gdk_im_set_best_style () from /usr/lib/
#14 0x402f217b in gdk_im_open () from /usr/lib/
#15 0x402e2939 in gdk_init_check () from /usr/lib/
#16 0x402415e5 in gtk_init_check () from /usr/lib/
#17 0x40241a61 in gtk_init () from /usr/lib/
#18 0x40088a70 in gnome_icon_entry_get_filename ()
   from /usr/lib/
#19 0x40415ad7 in poptSetExecPath () from /usr/lib/
#20 0x40415a9f in poptSetExecPath () from /usr/lib/
#21 0x404163e6 in poptGetNextOpt () from /usr/lib/
#22 0x403fe899 in gnomelib_parse_args () from /usr/lib/
#23 0x40088da9 in gnome_init_with_popt_table () from
#24 0x8048f25 in main ()
#25 0x4043178a in __libc_start_main () from /lib/

Any ideas? 

   .--= ULLA! =----------------------------.  finger
   \           \   for PGP public key
    `----------= =--'
A complex system that works is invariably found to have evolved from a simple system that works.

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]