On 2016-04-12 10:20, Marco Atzeri wrote:
we found a case where the 32bit is segfaulting
while dri-drivers-11.0.9-1
works fine.
For reference:
https://cygwin.com/ml/cygwin/2016-04/msg00245.html
https://cygwin.com/ml/cygwin/2016-04/msg00251.html
To replicate with octave is enough :
run from xterm
/usr/bin/octave-cli-4.0.1.exe
x=1:100;
plot(x,x)
However I see that also mesa-demos segfault
$ cd /usr/lib/mesa-demos
$ ./quad-clip.exe
GL_RENDERER = Gallium 0.4 on llvmpipe (LLVM 3.7, 256 bits)
GL_VERSION = 3.0 Mesa 11.0.9
GL_VENDOR = VMware, Inc.
Segmentation fault (core dumped)
I can reproduce this on 32-bit but not 64-bit, and the same happens with
11.1.2. It may be an issue with LLVM 3.7 (11.0.9-1 was built with 3.5)
but without a useful backtrace it will be hard to pin down.
# gdb ./quad-clip
[...]
(gdb) r
[...]
Program received signal SIGSEGV, Segmentation fault.
0x7fdf00c1 in ?? ()
(gdb) bt
#0 0x7fdf00c1 in ?? ()
#1 0x55c7b977 in llvm_pipeline_generic (middle=0x20070e54, middle@entry=0x20073920, fetch_info=fetch_info@entry=0x23c710, in_prim_info=0xc, in_prim_info@entry=0x23c720) at /usr/src/debug/mesa-11.2.2-1/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c:377
#2 0x55c7bcff in llvm_middle_end_linear_run (middle=0x20073920, start=0, count=4, prim_flags=0) at /usr/src/debug/mesa-11.2.2-1/src/gallium/auxiliary/draw/draw_pt_fetch_shade_pipeline_llvm.c:541
#3 0x55b9ea9d in vsplit_segment_simple_linear (vsplit=0x20095a40, icount=4, istart=0, flags=0) at /usr/src/debug/mesa-11.2.2-1/src/gallium/auxiliary/draw/draw_pt_vsplit_tmp.h:240
#4 vsplit_run_linear (frontend=0x20095a40, start=0, count=4) at /usr/src/debug/mesa-11.2.2-1/src/gallium/auxiliary/draw/draw_split_tmp.h:60
#5 0x55b977ed in draw_pt_arrays (draw=draw@entry=0x20070dd0, prim=7, start=0, count=<optimized out>, count@entry=4) at /usr/src/debug/mesa-11.2.2-1/src/gallium/auxiliary/draw/draw_pt.c:149
#6 0x55b97c77 in draw_vbo (draw=draw@entry=0x20070dd0, info=0x23c820, info@entry=0x23c910) at /usr/src/debug/mesa-11.2.2-1/src/gallium/auxiliary/draw/draw_pt.c:564
#7 0x55cc14d5 in llvmpipe_draw_vbo (pipe=0x2006ec20, info=0x23c910) at /usr/src/debug/mesa-11.2.2-1/src/gallium/drivers/llvmpipe/lp_draw_arrays.c:132
#8 0x559b97d0 in st_draw_vbo (ctx=0x20157038, prims=0x20188b70, nr_prims=1, ib=0x0, index_bounds_valid=1 '\001', min_index=0, max_index=3, tfb_vertcount=0x0, stream=0, indirect=0x0) at /usr/src/debug/mesa-11.2.2-1/src/mesa/state_tracker/st_draw.c:288
#9 0x5597f656 in vbo_exec_vtx_flush (exec=<optimized out>, exec@entry=0x20188780, keepUnmapped=1 '\001') at /usr/src/debug/mesa-11.2.2-1/src/mesa/vbo/vbo_exec_draw.c:422
#10 0x5596b4f2 in vbo_exec_FlushVertices_internal (exec=0x20188780, unmap=<optimized out>) at /usr/src/debug/mesa-11.2.2-1/src/mesa/vbo/vbo_exec_api.c:624
#11 0x5597c5a5 in vbo_exec_FlushVertices (ctx=ctx@entry=0x20157038, flags=flags@entry=1) at /usr/src/debug/mesa-11.2.2-1/src/mesa/vbo/vbo_exec_api.c:1261
#12 0x55858150 in _mesa_flush (ctx=0x20157038) at /usr/src/debug/mesa-11.2.2-1/src/mesa/main/context.c:1871
#13 0x55858968 in _mesa_Flush () at /usr/src/debug/mesa-11.2.2-1/src/mesa/main/context.c:1906
#14 0x004012a5 in Draw () at /usr/src/debug/mesa-demos-8.3.0-1/src/trivial/quad-clip.c:86
#15 0x62b7ae48 in glutJoystickGetCenter () from /usr/bin/cygglut-3.dll
#16 0x62b7eaa2 in fgEnumWindows () from /usr/bin/cygglut-3.dll
#17 0x62b7b6c7 in glutMainLoopEvent () from /usr/bin/cygglut-3.dll
#18 0x62b7ba78 in glutMainLoop () from /usr/bin/cygglut-3.dll
#19 0x00401b82 in main (argc=1, argv=0x23cc9c) at /usr/src/debug/mesa-demos-8.3.0-1/src/trivial/quad-clip.c:137
(gdb) disassemble 0x7fdf00b1,0x7fdf00d2
Dump of assembler code from 0x7fdf00b1 to 0x7fdf00d2:
0x7fdf00b1: insertps $0x10,0x4(%eax,%edi,1),%xmm0
0x7fdf00b9: insertps $0x20,0x8(%eax,%edi,1),%xmm0
=> 0x7fdf00c1: insertps $0x30,0xfffeff34,%xmm0
0x7fdf00cb: mov (%esi),%eax
0x7fdf00cd: mul %ecx