Re: [E-devel] segv in e_app.c
On Sun, 11 Jun 2006 17:45:25 +0200 Sebastian Dransfeld [EMAIL PROTECTED] babbled: Aleksej Struk wrote: On Sun, Jun 11, 2006 at 09:12:55AM +0200, Morten Nilsen wrote: David Stevenson wrote: 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. #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 909 if ((e_util_glob_match(name, a-win_name)) seems quite clear that something is polluting the win_name property of the e_app, which through a grep appears to only be set using evas_stringshare_add.. I've check the source for this property, and found that it is set via evas_stringshare_add and removed via evas_stringshare_del. But in function _e_app_copy, these properties are copied via simple =. So, maybe here is the problem ? The reference should be correct. A copy should reference as much mem as it can from it's parent, and an owner should newer be freed before its copy. But there might be something wrong there. But this code has worked for _ages_ so I don't think it's the culprit. Sebastian it's fixed. it was me - i was removing list elements i shouldn't have been and keeping ones it that should have been removed. in the move to an exhaustive search for eap matches for a window i screwed up :) fixed. -- - Codito, ergo sum - I code, therefore I am -- The Rasterman (Carsten Haitzler)[EMAIL PROTECTED] 裸好多 Tokyo, Japan (東京 日本) ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] segv in e_app.c
David Stevenson wrote: 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. #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 909 if ((e_util_glob_match(name, a-win_name)) seems quite clear that something is polluting the win_name property of the e_app, which through a grep appears to only be set using evas_stringshare_add.. as far as I could see, that function is pretty tight, so I would guess there is an overflow somewhere? -- Cheers, Morten :wq ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] segv in e_app.c
On Sun, Jun 11, 2006 at 09:12:55AM +0200, Morten Nilsen wrote: David Stevenson wrote: 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. #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 909 if ((e_util_glob_match(name, a-win_name)) seems quite clear that something is polluting the win_name property of the e_app, which through a grep appears to only be set using evas_stringshare_add.. I've check the source for this property, and found that it is set via evas_stringshare_add and removed via evas_stringshare_del. But in function _e_app_copy, these properties are copied via simple =. So, maybe here is the problem ? as far as I could see, that function is pretty tight, so I would guess there is an overflow somewhere? -- Cheers, Morten :wq ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel -- Aleksej Struk Master Degree Student Free University of Bozen-Bolzano Faculty of Computer Science phone: +39-0471-061749 cell phone: +39-3204627049 +370-61278908 [EMAIL PROTECTED] [EMAIL PROTECTED] - http://astruk.googlepages.com/home ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
Re: [E-devel] segv in e_app.c
Aleksej Struk wrote: On Sun, Jun 11, 2006 at 09:12:55AM +0200, Morten Nilsen wrote: David Stevenson wrote: 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. #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 909 if ((e_util_glob_match(name, a-win_name)) seems quite clear that something is polluting the win_name property of the e_app, which through a grep appears to only be set using evas_stringshare_add.. I've check the source for this property, and found that it is set via evas_stringshare_add and removed via evas_stringshare_del. But in function _e_app_copy, these properties are copied via simple =. So, maybe here is the problem ? The reference should be correct. A copy should reference as much mem as it can from it's parent, and an owner should newer be freed before its copy. But there might be something wrong there. But this code has worked for _ages_ so I don't think it's the culprit. Sebastian ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
[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 notmeant 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 (> at ecore_main.c:639#15 0x400f1be5 in ecore_main_loop_begin () at ecore_main.c:79#16 0x080635e9 in main (argc=1, argv=0xb9f4) 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:135135 if (glob[0] == 0)(gdb) l130 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:909909 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 ___ enlightenment-devel mailing list enlightenment-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-devel