On Sun, Jan 02, 2011 at 12:50:05PM +0000, Mick wrote:
> On Sunday 02 January 2011 11:22:23 P Purkayastha wrote:
> > I am experiencing repeated crashes on exiting or restarting e17. It
> > is 100% reproducible here. I think it started about a week to two
> > weeks ago. One major update that happened just before the crashes
> > started was a system update in gentoo with "-hal" USE flag
> > (enlightenment was also updated). However, I did compile
> > enlightenment and e_dbus with hal USE flag and hald is running on my
> > system.
I seem to have the same problem, running r55795 of libs & e.
Besides on e restart/exit, it also happens when rotating the screen with
xrandr. Attached are two gdb backtraces.
> > I tracked down the crashes to the places module. Other gadgets do
> > not seem to trigger the crash. places module can't even be unloaded
> > once it is loaded (it gives no crashes on loading). The bt on trying
> > to unload places module is attached in the file gdb.places.txt
I don't think it's caused by the places module, as I don't have it
loaded. The problem seems to be in e_gadcon.c, there the id_del func is
called with an invalid parameter (gcc->cf->id is invalid, because
gcc->cf is NULL, see the bottom of my backtraces).
> I don't have a fix I'm afraid, but can confirm that I have been
> getting similar crashes when I try to remove some gadgets. The
> gadgets (e.g. weather, everything, etc) cannot be removed without
> having first removed the respective module. However, I have no
> crashes on starting or exiting E17.
>
> I am running revision 55768.
Than it's very recent... looks like this bug is caused(/exposed?)
by r55771[1] where a 'gcc->cf = NULL' is added.
regards,
Peter
[1]: http://trac.enlightenment.org/e/changeset/55771
(gdb) bt full
#0 0x000000000048d485 in _e_gadcon_client_free (gcc=0x21d00d0)
at e_gadcon.c:1638
No locals.
#1 0x00000000004b3913 in e_object_unref (obj=0x7fc64c190040) at e_object.c:106
No locals.
#2 0x000000000048b40f in e_gadcon_unpopulate (gc=0x20e94d0) at e_gadcon.c:485
gcc = 0x21d00d0
#3 0x00007fc64e40ead3 in gadman_shutdown () at e_mod_gadman.c:106
gc = 0x20e94d0
layer = 0
#4 0x00007fc64e40c108 in e_modapi_shutdown (m=<value optimized out>)
at e_mod_main.c:126
No locals.
#5 0x00000000004b19a6 in e_module_shutdown () at e_module.c:54
m = 0x20e5680
#6 0x000000000042eee2 in _e_main_shutdown (errorcode=0) at e_main.c:1245
i = 1274592992
#7 0x0000000000431e6f in main (argc=<value optimized out>,
argv=<value optimized out>) at e_main.c:1174
i = <value optimized out>
safe_mode = 0
buf =
"/usr/local/share/enlightenment/data/icons\000\000\000\000\000\000\000\f\000\000\000\000\000\000\000\221\365r[\306\177\000\000\300r\342\267\377\177\000\000\000\000\300\342\304o\377\377\000\000V*\021\270\214\377\340d)\\\306\177\000\000\004\000\000\000\000\000\000\000\020\365r[\306\177\000\000\300r\342\267\377\177\000\000\000\000
\343\304o\377\377\000\000V*\021\270\214\377%\000\000\000$\000\000\000\022",
'\000' <repeats 11 times>, "\017\000\000\000\035", '\000' <repeats 11 times>,
"\t", '\000' <repeats 11 times>,
"\026\000\000\000\n\000\000\000\v\000\000\000\061", '\000' <repeats 11 times>,
"\r\000\000\000\024\000\000\000A\016\t\\\306\177\000\000\000\000\000\000\021\000\000\000\350\070\224[\306\177"...
s = <value optimized out>
action = {__sigaction_handler = {
sa_handler = 0x4c49a0 <e_sigabrt_act>,
sa_sigaction = 0x4c49a0 <e_sigabrt_act>}, sa_mask = {__val = {
0 <repeats 16 times>}}, sa_flags = -1073741820, sa_restorer = 0}
t = 0
tstart = <value optimized out>
(gdb) l
1633 gcc->menu = NULL;
1634 }
1635 e_gadcon_client_edit_end(gcc);
1636 gcc->client_class->func.shutdown(gcc);
1637 if (gcc->client_class->func.id_del)
1638 gcc->client_class->func.id_del((E_Gadcon_Client_Class
*)gcc->client_class, gcc->cf->id);
1639 gcc->gadcon->clients = eina_list_remove(gcc->gadcon->clients, gcc);
1640 if (gcc->o_box) evas_object_del(gcc->o_box);
1641 if (gcc->o_frame) evas_object_del(gcc->o_frame);
1642 eina_stringshare_del(gcc->name);
(gdb) p gcc->cf
$2 = (E_Config_Gadcon_Client *) 0x0
Program received signal SIGSEGV, Segmentation fault.
0x000000000048d485 in _e_gadcon_client_free (gcc=0x11a3930) at e_gadcon.c:1638
1638 gcc->client_class->func.id_del((E_Gadcon_Client_Class
*)gcc->client_class, gcc->cf->id);
(gdb) bt full
#0 0x000000000048d485 in _e_gadcon_client_free (gcc=0x11a3930)
at e_gadcon.c:1638
No locals.
#1 0x00000000004b3913 in e_object_unref (obj=0x7f705029d040) at e_object.c:106
No locals.
#2 0x000000000048b40f in e_gadcon_unpopulate (gc=0xffe260) at e_gadcon.c:485
gcc = 0x11a3930
#3 0x00007f70506b4bdc in on_shape_change (data=<value optimized out>,
es=<value optimized out>, ch=<value optimized out>) at e_mod_gadman.c:889
l = 0xff0df0
g = 0xff2a10
gc = 0xffe260
cf_gcc = <value optimized out>
con = <value optimized out>
layer = 1342805120
#4 0x000000000045c53c in _e_container_shape_change_call (es=0x12ecba0,
ch=E_CONTAINER_SHAPE_RESIZE) at e_container.c:1105
l = 0xff0df0
cb = 0x7f7050099480
#5 0x0000000000449464 in _e_border_eval (bd=0x14f27f0) at e_border.c:7140
x = 0
y = 0
xx = 640
yy = 424
pnd = <value optimized out>
rem_change = <value optimized out>
#6 0x000000000044a940 in e_border_idler_before () at e_border.c:2947
bl = 0x129f450
bd = 0x14f27f0
ml = <value optimized out>
cl = 0xe48e80
man = <value optimized out>
con = <value optimized out>
#7 0x0000000000432bc5 in _e_main_cb_idler_before (data=<value optimized out>)
at e_main.c:1616
l = <value optimized out>
pl = <value optimized out>
eb = <value optimized out>
#8 0x00007f705e246073 in _ecore_idle_enterer_call ()
at ecore_idle_enterer.c:146
No locals.
#9 0x00007f705e247e2d in _ecore_main_loop_iterate_internal (once_only=0)
at ecore_main.c:1397
next_time = <value optimized out>
#10 0x00007f705e248217 in ecore_main_loop_begin () at ecore_main.c:663
No locals.
#11 0x0000000000431d90 in main (argc=<value optimized out>,
argv=<value optimized out>) at e_main.c:1158
i = <value optimized out>
safe_mode = 0
buf =
"/usr/local/share/enlightenment/data/icons\000\000\000\000\000\000\000\f\000\000\000\000\000\000\000\221\225\336]p\177\000\000p\300k\251\377\177\000\000\000\000\340}\227r\377\377\000\000vj\350\274\340\376\340\004\225^p\177\000\000\004\000\000\000\000\000\000\000\020\225\336]p\177\000\000p\300k\251\377\177\000\000\000\...@~\227r\377\377\000\000vj\350\274\340\376%\000\000\000$\000\000\000\022",
'\000' <repeats 11 times>, "\017\000\000\000\035", '\000' <repeats 11 times>,
"\t", '\000' <repeats 11 times>,
"\026\000\000\000\n\000\000\000\v\000\000\000\061", '\000' <repeats 11 times>,
"\r\000\000\000\024\000\000\000A\256t^p\177\000\000\000\000\000\000\021\000\000\000\350\330\377]"...
s = <value optimized out>
action = {__sigaction_handler = {
sa_handler = 0x4c49a0 <e_sigabrt_act>,
sa_sigaction = 0x4c49a0 <e_sigabrt_act>}, sa_mask = {__val = {
0 <repeats 16 times>}}, sa_flags = -1073741820, sa_restorer = 0}
t = 7.8585765425495337e-317
tstart = <value optimized out>
(gdb) l
1633 gcc->menu = NULL;
1634 }
1635 e_gadcon_client_edit_end(gcc);
1636 gcc->client_class->func.shutdown(gcc);
1637 if (gcc->client_class->func.id_del)
1638 gcc->client_class->func.id_del((E_Gadcon_Client_Class
*)gcc->client_class, gcc->cf->id);
1639 gcc->gadcon->clients = eina_list_remove(gcc->gadcon->clients, gcc);
1640 if (gcc->o_box) evas_object_del(gcc->o_box);
1641 if (gcc->o_frame) evas_object_del(gcc->o_frame);
1642 eina_stringshare_del(gcc->name);
(gdb) p gcc->cf
$1 = (E_Config_Gadcon_Client *) 0x0
------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and,
should the need arise, upgrade to a full multi-node Oracle RAC database
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
enlightenment-users mailing list
enlightenment-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-users