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

[E-devel] segv in e_app.c



Hello,

I had a segv when dragging an Eterm from one desk to another - not sure exactly how to reproduce it, but the bt shows that the e_app "win_name" got a bogus value from somewhere. There were some changes in the source here a few days back.

Regards!
David


(gdb) bt
#0  0x403957e6 in poll () from /lib/tls/libc.so.6
#1  0x4022e7f3 in _XEnq () from /usr/lib/libX11.so.6
#2  0x4022ec69 in _XRead () from /usr/lib/libX11.so.6
#3  0x402309bb in _XReadEvents () from /usr/lib/libX11.so.6
#4  0x40219e97 in XNextEvent () from /usr/lib/libX11.so.6
#5  0x080d0a7b in e_alert_show (
    text=0x812d964 "This is very bad. Enlightenment has segfaulted.\nThis is not
 meant to happen and is likely a sign of a\nbug in Enlightenment or the librarie
s it relies on.\n\nYou can gdb attach to this process now to try"...)
    at e_alert.c:137
#6  0x080b900a in e_sigseg_act (x=11, info=0xbfffc2c0, data="">    at e_signals.c:53
#7  <signal handler called>
#8  0x080ab892 in e_util_glob_match (str=0x822deb0 "Eterm",
    glob=0x1d <Address 0x1d out of bounds>) at e_utils.c:135
#9  0x080a7eb4 in e_app_window_name_class_title_role_find (
    name=0x822deb0 "Eterm", class=0x81bffc0 "Eterm",
    title=0x82347a8 "Eterm-0.9.2:", role=0x0) at e_apps.c:909
#10 0x08080efa in e_border_icon_add (bd=0x8386b10, evas=0x818ba80)
    at e_border.c:2388
#11 0x40742836 in _pager_window_new (pd=0x82151e0, border=0x8386b10)
    at e_mod_main.c:461
#12 0x407433a0 in _pager_cb_event_border_add (data="" type=82,
    event=0x81fafb0) at e_mod_main.c:764
---Type <return> to continue, or q <return> to quit---
#13 0x400eb841 in _ecore_event_call () at ecore_events.c:431
#14 0x400f29b8 in _ecore_main_loop_iterate_internal (_once_only_=0)
    at ecore_main.c:639
#15 0x400f1be5 in ecore_main_loop_begin () at ecore_main.c:79
#16 0x080635e9 in main (argc=1, argv=0xbffff9f4) at e_main.c:689
(gdb) frame 8
#8  0x080ab892 in e_util_glob_match (str=0x822deb0 "Eterm",
    glob=0x1d <Address 0x1d out of bounds>) at e_utils.c:135
135        if (glob[0] == 0)
(gdb) l
130     EAPI int
131     e_util_glob_match(const char *str, const char *glob)
132     {
133        if (!str || !glob)
134          return 0;
135        if (glob[0] == 0)
136          {
137             if (str[0] == 0) return 1;
138             return 0;
139          }
(gdb) p glob
$1 = 0x1d <Address 0x1d out of bounds>
(gdb) frame 9
#9  0x080a7eb4 in e_app_window_name_class_title_role_find (
    name=0x822deb0 "Eterm", class=0x81bffc0 "Eterm",
    title=0x82347a8 "Eterm-0.9.2:", role=0x0) at e_apps.c:909
909                       if ((e_util_glob_match(name, a->win_name)) &&
(gdb) p a
$2 = (E_App *) 0x8647d50
(gdb) p a->win_name
$3 = 0x1d <Address 0x1d out of bounds>