Re: [E-devel] segv in e_app.c

2006-06-13 Thread The Rasterman
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

2006-06-11 Thread Morten Nilsen
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

2006-06-11 Thread Aleksej Struk
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

2006-06-11 Thread Sebastian Dransfeld
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

2006-06-10 Thread David Stevenson
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