mesa: d18df9e336b5d2e68a4a6185f7b9d0d0c095c3c4 (master) chipset: RV530 71C5 (ATI Radeon X1600) system architecture: i686 libdrm-dev: 2.4.21-1ubuntu2.1 kernel version: 2.6.35-22-generic Linux distribution: Ubuntu 10.10 i386 Machine model: iMac4,1 Run piglit bgra-sec-color-pointer test. $ ./bin/bgra-sec-color-pointer-test ... Segmentation fault (core dumped) (gdb) bt #0 0x0183d923 in vbo_exec_MultiDrawElements (mode=3, count=0x1401, type=4, indices=0x804f1d0, primcount=143224880) at src/mesa/vbo/vbo_exec_array.c:1154 #1 0x0804a622 in piglit_display () at piglit/tests/general/bgra-sec-color-pointer.c:82 #2 0x0804c847 in display () at piglit/tests/util/piglit-framework.c:52 #3 0x00755820 in fghRedrawWindow (window=0x88a2060, enumerator=0xbfd29688) at freeglut_main.c:210 #4 fghcbDisplayWindow (window=0x88a2060, enumerator=0xbfd29688) at freeglut_main.c:227 #5 0x00759660 in fgEnumWindows (enumCallback=0x755790 <fghcbDisplayWindow>, enumerator=0xbfd29688) at freeglut_structure.c:394 #6 0x00755cdb in fghDisplayAll () at freeglut_main.c:249 #7 glutMainLoopEvent () at freeglut_main.c:1450 #8 0x00756605 in glutMainLoop () at freeglut_main.c:1498 #9 0x0804c9f0 in main (argc=1, argv=0xbfd29914) at piglit/tests/util/piglit-framework.c:118 (gdb) frame 0 #0 0x0183d923 in vbo_exec_MultiDrawElements (mode=3, count=0x1401, type=4, indices=0x804f1d0, primcount=143224880) at src/mesa/vbo/vbo_exec_array.c:1154 1154 if (!_mesa_validate_DrawElements(ctx, mode, count[i], type, indices[i], (gdb) l 1149 GLint i; 1150 1151 ASSERT_OUTSIDE_BEGIN_END_AND_FLUSH(ctx); 1152 1153 for (i = 0; i < primcount; i++) { 1154 if (!_mesa_validate_DrawElements(ctx, mode, count[i], type, indices[i], 1155 0)) 1156 return; 1157 } 1158
I can't reproduce this, but it looks like a Mesa core bug.
I can't reproduce this with any other driver. The piglit test in question doesn't call glMultiDrawElements() at all so I don't see how we'd wind up in that function unless something in API dispatch was broken. Nobody else has reported anything like that. Can you try a clean rebuild of Mesa, Vinson?
mesa: a172368ef1500fd2c7c1e55133e8e098b73d97a5 (master) I retested with a clean build and it still crashing with the identical backtrace.
What is your setup? It seems your libGL.so and the DRI driver use different versions of glapi, and IN_DRI_DRIVER is not defined when building the DRI driver.
Created attachment 40430 [details] [review] define IN_DRI_DRIVER Does this patch help?
The attachment (id=40430) fixes the SIGSEGV.
The patch should also fix bug 31569. This should be a candidate for the 7.9 branch.
commit bb045d339b53f7ddd42bfca363e3d589b0ddcf20 Author: Chia-I Wu <olv@lunarg.com> Date: Sat Nov 20 17:47:11 2010 -0800 scons: Define IN_DRI_DRIVER. The define is required for DRI drivers. It is not needed for libgl-xlib, but the overhead it introduces should be minor. diff --git a/src/mesa/SConscript b/src/mesa/SConscript index 5fe5d39..08d731d 100644 --- a/src/mesa/SConscript +++ b/src/mesa/SConscript @@ -19,6 +19,10 @@ if env['platform'] == 'windows': 'WIN32_THREADS', # use Win32 thread API ]) env.Prepend(CPPPATH = ['#src/talloc']) +else: + env.Append(CPPDEFINES = [ + 'IN_DRI_DRIVER', # enable the remap table (for DRI drivers) + ]) # # Source files
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.