[Mesa-dev] Debugging crashes in llvm

Jose Fonseca jfonseca at vmware.com
Tue May 10 07:42:30 PDT 2011


It could be related with, https://bugs.freedesktop.org/show_bug.cgi?id=36738 , which I don't have much clue about ,given I wasn't able to reproduce locally so far.

It would be really useful if you could tell me the nature of the crash. Is it because 
- memory pointed by (esi+ebx) is undefined;
- memory pointed by (esi+ebx) is not 4-byte aligned

And then go up in the stack frame and inspect the pointers given in draw->pt.user and see which pointer (if any) is related with (esi+ebx).

Jose


----- Original Message -----
> Hi,
> 
> I recently stumbled over regular crashes with llvmpipe on llvm-2.9 in
> windows:
> 
> 0261908D  mov         ebx,dword ptr [esp+33Ch]
> 02619094  lea         ebx,[ebx+3]
> 02619097  imul        ebx,edx
> 0261909A  add         ebx,ecx
> 0261909C  insertps    xmm0,dword ptr [esi+ebx],30h  <--
> 026190A3  mov         ecx,dword ptr [ebp+8]
> 026190A6  mov         edx,dword ptr [ecx]
> 026190A8  movss       xmm2,dword ptr [edx+100h]
> 
> >	libEGL.dll!llvm_pipeline_generic(draw_pt_middle_end *
> >	middle=0x00000000, const draw_fetch_info * fetch_info=0x0006e828,
> >	const draw_prim_info * prim_info=0x0006e838)  Line 262 + 0x12
> >	bytes	C
>  	libEGL.dll!llvm_middle_end_linear_run(draw_pt_middle_end * middle=,
> unsigned int start=, unsigned int count=, unsigned int prim_flags=)
> Line 364 + 0x13 bytes	C
>  	libEGL.dll!vsplit_run_linear(draw_pt_front_end *
> frontend=0x000003ff, unsigned int start=0, unsigned int count=150)
> Line 61 + 0x11 bytes	C
>  	libEGL.dll!draw_pt_arrays(draw_context * draw=0x00000000, unsigned
> int prim=4, unsigned int start=0, unsigned int count=3)  Line 115	C
>  	libEGL.dll!draw_vbo(draw_context * draw=0x00000000, const
> pipe_draw_info * info=0x00000000)  Line 491 + 0x13 bytes	C
>  	libEGL.dll!llvmpipe_draw_vbo(pipe_context * pipe=0x021dc790, const
> pipe_draw_info * info=0x0006e918)  Line 86	C
>  	libEGL.dll!st_draw_vbo(gl_context * ctx=0x025a14b0, const
> gl_client_array * * arrays=0x02661810, const _mesa_prim *
> prims=0x0006e97c, unsigned int nr_prims=1, const _mesa_index_buffer *
> ib=0x00000000, unsigned char index_bounds_valid='', unsigned int
> min_index=0, unsigned int max_index=149)  Line 750 + 0xf bytes	C
>  	libEGL.dll!vbo_draw_arrays(gl_context * ctx=0x00000000, unsigned
>  	int
> mode=4, int start=0, int count=150, unsigned int numInstances=1)
>  Line
> 645 + 0x28 bytes	C
>  	libEGL.dll!vbo_exec_DrawArrays(unsigned int mode=4, int start=0,
>  	int
> count=150)  Line 675 + 0x11 bytes	C
>         [...]
> 
> What Information can I gather to find the cause for the crash?
> 
> 
> 
> Regards
> Andreas Pokorny
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
> 


More information about the mesa-dev mailing list