Re: [E-devel] Need help tracing OSX crash bug

2011-07-05 Thread The Rasterman
On Mon, 4 Jul 2011 12:41:33 -0700 Dave Ray cl...@jonive.com said:

try replace your evas_xlib_buffer.c file with the attached one. it has some
debugging in it to printf some info. it'll being to let me know whats going on
with shm segments. i really suspect this has something to do with shm segments.

 Here is the gdb bt of expedite crashing when run in twm. This is the same
 evas bug that's crashing e17 on OSX.
 
 Expedite throws this before it finishes drawing the window.
 
 
 (gdb) r -e xlib -f
 Starting program: /usr/local/bin/expedite -e xlib -f
 Reading symbols for shared libraries . done
 Reading symbols for shared libraries . done
 Reading symbols for shared libraries . done
 Reading symbols for shared libraries .. done
 
 Program received signal EXC_BAD_ACCESS, Could not access memory.
 Reason: KERN_INVALID_ADDRESS at address: 0x01ff
 0x00010025c7d4 in _op_copy_c_dp_mmx (s=0x0, m=0x0, c=4294967295, d=0x1ff,
 l=128) at op_copy_color_i386.c:12 12movq_r2m(mm1, d[0]);
 (gdb) bt
 #0  0x00010025c7d4 in _op_copy_c_dp_mmx (s=0x0, m=0x0, c=4294967295,
 #d=0x1ff, l=128) at op_copy_color_i386.c:12 1  0x00010028b3f4 in
 #rectangle_draw_internal () 2  0x00010028b0d3 in
 #evas_common_rectangle_draw () 3  0x000100544562 in eng_rectangle_draw
 #(data=0x100613880, context=0x100613c90, surface=0x10062cd00, x=-592, y=0,
 #w=720, h=420) at evas_engine.c:181 4  0x000100217ac1 in
 #evas_object_rectangle_render () 5  0x000100247f4a in evas_render_mapped
 #() 6  0x00010024968b in evas_render_updates_internal () 7
 #0x000100249d43 in evas_render () 8  0x00011ab4 in main (argc=4,
 #argv=0x7fff5fbff1f8) at main.c:1373
 (gdb) fr 1 
 #1  0x00010028b3f4 in rectangle_draw_internal ()
 (gdb) l
 7movd_m2r(c, mm1);
 8movq_r2r(mm1, mm2);
 9psllq_i2r(32, mm1);
 10   por_r2r(mm2, mm1);
 11   for (; d  e; d+=2) {
 12  movq_r2m(mm1, d[0]);
 13   }
 14   e+=1;
 15   for (; d  e; d++) {
 16  *d = c;
 (gdb) p c
 No symbol c in current context.
 (gdb) p mm1
 No symbol mm1 in current context.
 (gdb) p mm2
 No symbol mm2 in current context.
 (gdb) p d
 No symbol d in current context.
 (gdb) p e
 No symbol e in current context.
 (gdb) p *d
 No symbol d in current context.
 (gdb) fr 2
 #2  0x00010028b0d3 in evas_common_rectangle_draw ()
 (gdb) l
 17   }
 18}
 19
 20#define _op_copy_cn_dp_mmx _op_copy_c_dp_mmx
 21#define _op_copy_can_dp_mmx _op_copy_c_dp_mmx
 22#define _op_copy_caa_dp_mmx _op_copy_c_dp_mmx
 23
 24#define _op_copy_cn_dpan_mmx _op_copy_c_dp_mmx
 25#define _op_copy_c_dpan_mmx _op_copy_c_dp_mmx
 26#define _op_copy_can_dpan_mmx _op_copy_c_dp_mmx
 (gdb) p _op_copy_c_dp_mmx
 $1 = {void (DATA32 *, DATA8 *, DATA32, DATA32 *, int)} 0x10025c794
 _op_copy_c_dp_mmx (gdb) p _op_copy_cn_dp_mmx
 No symbol _op_copy_cn_dp_mmx in current context.
 (gdb) p _op_copy_can_dp_mmx
 No symbol _op_copy_can_dp_mmx in current context.
 (gdb) p _op_copy_caa_dp_mmx
 No symbol _op_copy_caa_dp_mmx in current context.
 (gdb) p _op_copy_cn_dpan_mmx
 No symbol _op_copy_cn_dpan_mmx in current context.
 (gdb) fr 0
 #0  0x00010025c7d4 in _op_copy_c_dp_mmx (s=0x0, m=0x0, c=4294967295,
 #d=0x1ff, l=128) at op_copy_color_i386.c:12
 12  movq_r2m(mm1, d[0]);
 (gdb) l
 7movd_m2r(c, mm1);
 8movq_r2r(mm1, mm2);
 9psllq_i2r(32, mm1);
 10   por_r2r(mm2, mm1);
 11   for (; d  e; d+=2) {
 12  movq_r2m(mm1, d[0]);
 13   }
 14   e+=1;
 15   for (; d  e; d++) {
 16  *d = c;
 (gdb) fr 3
 #3  0x000100544562 in eng_rectangle_draw (data=0x100613880,
 #context=0x100613c90, surface=0x10062cd00, x=-592, y=0, w=720, h=420) at
 #evas_engine.c:181
 181   evas_common_rectangle_draw(surface, context, x, y, w, h);
 (gdb) l
 176   )
 177evas_common_pipe_rectangle_draw(surface, context, x, y, w, h);
 178  else
 179   #endif
 180{
 181   evas_common_rectangle_draw(surface, context, x, y, w, h);
 182   evas_common_cpu_end_opt();
 183}
 184   }
 185   
 (gdb) p surface
 $2 = (void *) 0x10062cd00
 (gdb) p context
 $3 = (void *) 0x100613c90
 (gdb) p x
 $4 = -592
 (gdb) p y
 $5 = 0
 (gdb) p w
 $6 = 720
 (gdb) p h
 $7 = 420
 (gdb) fr 4
 #4  0x000100217ac1 in evas_object_rectangle_render ()
 (gdb) l
 186   static void
 187   eng_line_draw(void *data __UNUSED__, void *context, void *surface,
 int x1, int y1, int x2, int y2) 188   {
 189   #ifdef BUILD_PIPE_RENDER
 190  if ((cpunum  1)
 191#ifdef EVAS_FRAME_QUEUING
 192evas_common_frameq_enabled()
 193   #endif
 194   )
 195   evas_common_pipe_line_draw(surface, context, x1, y1, x2, y2);
 (gdb) p cpunum
 $8 = 2
 (gdb) p surface
 No symbol surface in current context.
 (gdb) p context
 No symbol context in current context.
 (gdb) p x1
 No symbol x1 in current context.
 (gdb) p y1
 $9 = {text 

[E-devel] Need help tracing OSX crash bug

2011-07-04 Thread Dave Ray
E17 is overall working well with OSX. There's one important bug that needs to 
be fixed before it's ready for a binary release.

On OSX, e17 crashes only on the first run after reboot. The white rectangle of 
death appears, and clicking continue a few times eventually brings up a 
working e17. However that's too buggy for a binary release.

Just to be clear, if I quit e17 and restart, no crash. If I reboot, it crashes 
again in the same place. The crash only happens on the 1st run after reboot, 
and is reproducible.

The gdb trace is here: http://pastebin.com/JzeA0xw6

The trace looks like something in mmx. If I compile ecore without mmx support, 
it crashes in the same place, but with equivalent non-mmx calls. That means the 
problem is probably higher up in the call stack, but I'm not sure where to look.

This bug has been around for a while and I have posted before. Posting again 
hoping someone can help take a look at it. I can #irc if someone wants.

If there's anything else useful I could capture pls let me know. I have 
valgrind, though I'm not sure how to effectively capture e17 in valgrind since 
it's never called directly - the wm is started with enlightenment_start.

Dave
--
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Need help tracing OSX crash bug

2011-07-04 Thread Dave Ray
Reposting to keep the thread together (sorry):

The bug appears to be in evas, not ecore.

I am running expedite using twm, so that none of the EFL's load until I launch 
expedite (with gdb).

Expedite crashes before it even finishes loading, before any tests. GDB shows 
the exact same error as I was reporting for e17.

Expedite window is partially drawn.

On #irc now.

Dave
--
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of application performance, security 
threats, fraudulent activity, and more. Splunk takes this data and makes 
sense of it. IT sense. And common sense.
http://p.sf.net/sfu/splunk-d2d-c2
___
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel


Re: [E-devel] Need help tracing OSX crash bug

2011-07-04 Thread Dave Ray
Here is the gdb bt of expedite crashing when run in twm. This is the same evas 
bug that's crashing e17 on OSX.

Expedite throws this before it finishes drawing the window.


(gdb) r -e xlib -f
Starting program: /usr/local/bin/expedite -e xlib -f
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries . done
Reading symbols for shared libraries .. done

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0x01ff
0x00010025c7d4 in _op_copy_c_dp_mmx (s=0x0, m=0x0, c=4294967295, d=0x1ff, 
l=128) at op_copy_color_i386.c:12
12movq_r2m(mm1, d[0]);
(gdb) bt
#0  0x00010025c7d4 in _op_copy_c_dp_mmx (s=0x0, m=0x0, c=4294967295, 
d=0x1ff, l=128) at op_copy_color_i386.c:12
#1  0x00010028b3f4 in rectangle_draw_internal ()
#2  0x00010028b0d3 in evas_common_rectangle_draw ()
#3  0x000100544562 in eng_rectangle_draw (data=0x100613880, 
context=0x100613c90, surface=0x10062cd00, x=-592, y=0, w=720, h=420) at 
evas_engine.c:181
#4  0x000100217ac1 in evas_object_rectangle_render ()
#5  0x000100247f4a in evas_render_mapped ()
#6  0x00010024968b in evas_render_updates_internal ()
#7  0x000100249d43 in evas_render ()
#8  0x00011ab4 in main (argc=4, argv=0x7fff5fbff1f8) at main.c:1373
(gdb) fr 1 
#1  0x00010028b3f4 in rectangle_draw_internal ()
(gdb) l
7  movd_m2r(c, mm1);
8  movq_r2r(mm1, mm2);
9  psllq_i2r(32, mm1);
10 por_r2r(mm2, mm1);
11 for (; d  e; d+=2) {
12movq_r2m(mm1, d[0]);
13 }
14 e+=1;
15 for (; d  e; d++) {
16*d = c;
(gdb) p c
No symbol c in current context.
(gdb) p mm1
No symbol mm1 in current context.
(gdb) p mm2
No symbol mm2 in current context.
(gdb) p d
No symbol d in current context.
(gdb) p e
No symbol e in current context.
(gdb) p *d
No symbol d in current context.
(gdb) fr 2
#2  0x00010028b0d3 in evas_common_rectangle_draw ()
(gdb) l
17 }
18  }
19  
20  #define _op_copy_cn_dp_mmx _op_copy_c_dp_mmx
21  #define _op_copy_can_dp_mmx _op_copy_c_dp_mmx
22  #define _op_copy_caa_dp_mmx _op_copy_c_dp_mmx
23  
24  #define _op_copy_cn_dpan_mmx _op_copy_c_dp_mmx
25  #define _op_copy_c_dpan_mmx _op_copy_c_dp_mmx
26  #define _op_copy_can_dpan_mmx _op_copy_c_dp_mmx
(gdb) p _op_copy_c_dp_mmx
$1 = {void (DATA32 *, DATA8 *, DATA32, DATA32 *, int)} 0x10025c794 
_op_copy_c_dp_mmx
(gdb) p _op_copy_cn_dp_mmx
No symbol _op_copy_cn_dp_mmx in current context.
(gdb) p _op_copy_can_dp_mmx
No symbol _op_copy_can_dp_mmx in current context.
(gdb) p _op_copy_caa_dp_mmx
No symbol _op_copy_caa_dp_mmx in current context.
(gdb) p _op_copy_cn_dpan_mmx
No symbol _op_copy_cn_dpan_mmx in current context.
(gdb) fr 0
#0  0x00010025c7d4 in _op_copy_c_dp_mmx (s=0x0, m=0x0, c=4294967295, 
d=0x1ff, l=128) at op_copy_color_i386.c:12
12movq_r2m(mm1, d[0]);
(gdb) l
7  movd_m2r(c, mm1);
8  movq_r2r(mm1, mm2);
9  psllq_i2r(32, mm1);
10 por_r2r(mm2, mm1);
11 for (; d  e; d+=2) {
12movq_r2m(mm1, d[0]);
13 }
14 e+=1;
15 for (; d  e; d++) {
16*d = c;
(gdb) fr 3
#3  0x000100544562 in eng_rectangle_draw (data=0x100613880, 
context=0x100613c90, surface=0x10062cd00, x=-592, y=0, w=720, h=420) at 
evas_engine.c:181
181 evas_common_rectangle_draw(surface, context, x, y, w, h);
(gdb) l
176 )
177  evas_common_pipe_rectangle_draw(surface, context, x, y, w, h);
178else
179 #endif
180  {
181 evas_common_rectangle_draw(surface, context, x, y, w, h);
182 evas_common_cpu_end_opt();
183  }
184 }
185 
(gdb) p surface
$2 = (void *) 0x10062cd00
(gdb) p context
$3 = (void *) 0x100613c90
(gdb) p x
$4 = -592
(gdb) p y
$5 = 0
(gdb) p w
$6 = 720
(gdb) p h
$7 = 420
(gdb) fr 4
#4  0x000100217ac1 in evas_object_rectangle_render ()
(gdb) l
186 static void
187 eng_line_draw(void *data __UNUSED__, void *context, void *surface, int 
x1, int y1, int x2, int y2)
188 {
189 #ifdef BUILD_PIPE_RENDER
190if ((cpunum  1)
191  #ifdef EVAS_FRAME_QUEUING
192  evas_common_frameq_enabled()
193 #endif
194 )
195 evas_common_pipe_line_draw(surface, context, x1, y1, x2, y2);
(gdb) p cpunum
$8 = 2
(gdb) p surface
No symbol surface in current context.
(gdb) p context
No symbol context in current context.
(gdb) p x1
No symbol x1 in current context.
(gdb) p y1
$9 = {text variable, no debug info} 0x7fff85a57b60 y1
(gdb) p x2
No symbol x2 in current context.
(gdb) p y2
No symbol y2 in current context.
(gdb) 


--
All of the data generated in your IT infrastructure is seriously valuable.
Why? It contains a definitive record of