Bug 13694 - [i915] glFlush gets Segment Fault when drawbuffer set to GL_NONE
Summary: [i915] glFlush gets Segment Fault when drawbuffer set to GL_NONE
Status: VERIFIED FIXED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Drivers/DRI/i915 (show other bugs)
Version: unspecified
Hardware: Other Linux (All)
: medium normal
Assignee: haihao
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-12-16 18:32 UTC by Shuang He
Modified: 2008-01-04 05:03 UTC (History)
1 user (show)

See Also:
i915 platform:
i915 features:


Attachments
test case (1.08 KB, text/plain)
2007-12-16 18:34 UTC, Shuang He
Details

Description Shuang He 2007-12-16 18:32:42 UTC
System Environment:
--------------------------
--Platform: FC6
--Xf86_video_intel:d9df93578b74785c08ba860b4c9aa23b0c89c91c
--Mesa:37406c2038c418a1d6f26b5ac5691586c9f05631 
--DRM:35a8b61317b57fcaaf5f7df06b0e2b532eddb9cb
--Kernel:2.6.22

Bug detailed description:
--------------------------
This issue happens even when INTEL_NO_TTM is set.
And this issue doesn't happen on 965 platform

when drawbuffer is set to GL_NONE using glDrawBuffer(GL_NONE);
render something, and do a glFlush or anything will flush the rendering command, 
a Segment Fault will be generated.

Following is a backtrace:
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1211004304 (LWP 18809)]
0xb7b18b78 in intel_wait_flips (intel=0x8057c10, batch_flags=2) at intel_buffers.c:567
567        if (intel_fb->Base.Name == 0 && intel_rb->pf_pending == intel_fb->pf_seq) {
(gdb) bt
#0  0xb7b18b78 in intel_wait_flips (intel=0x8057c10, batch_flags=2) at intel_buffers.c:567
#1  0xb7b31d0e in intelStartInlinePrimitive (intel=0x8057c10, prim=1048576, batch_flags=2) at intel_tris.c:106
#2  0xb7b0f931 in intelDmaPrimitive (intel=0x8057c10, prim=9) at intel_render.c:116
#3  0xb7b0fcde in intel_render_poly_verts (ctx=0x8057c10, start=0, count=4, flags=9)
    at ../../../../../src/mesa/tnl_dd/t_dd_dmatmp.h:387
#4  0xb7b0fb36 in intel_run_render (ctx=0x8057c10, stage=0x80996b4) at intel_render.c:226
#5  0xb7bcc171 in _tnl_run_pipeline (ctx=0x8057c10) at tnl/t_pipeline.c:158
#6  0xb7b31bbb in intelRunPipeline (ctx=0x8057c10) at intel_tris.c:898
#7  0xb7bccdd8 in _tnl_draw_prims (ctx=0x8057c10, arrays=0x80878b0, prim=0x808640c, nr_prims=1, ib=0x0, min_index=0,
    max_index=3) at tnl/t_draw.c:402
#8  0xb7bc5bfe in vbo_exec_vtx_flush (exec=0x80862e8) at vbo/vbo_exec_draw.c:215
#9  0xb7bc1870 in vbo_exec_FlushVertices (ctx=0x8057c10, flags=1) at vbo/vbo_exec_api.c:685
#10 0xb7b48cd6 in _mesa_Flush () at main/context.c:1737
#11 0xb7fd0952 in glFlush () at ../../../src/mesa/glapi/glapitemp.h:1170
#12 0x080489da in test () at drawbuffer.c:39
#13 0x08048a1c in display () at drawbuffer.c:48
#14 0xb7f6453f in processWindowWorkList (window=0x804eae0) at glut_event.c:1306
#15 0xb7f65012 in glutMainLoop () at glut_event.c:1353
#16 0x08048a98 in main (argc=1, argv=0xbfa36b74) at drawbuffer.c:61



Reproduce steps:
----------------
start X
compile and run the attached test case


Current result:
----------------
get Segment Fault when glFlush

Expected result:
----------------
should not get Segment Fault
Comment 1 Shuang He 2007-12-16 18:34:47 UTC
Created attachment 13152 [details]
test case
Comment 2 Michel Dänzer 2007-12-17 03:21:10 UTC
Fixed in Git.
Comment 3 Shuang He 2008-01-04 05:03:56 UTC
thanks


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.