Bug 43317

Summary: swrast: glean basic sanity fails
Product: Mesa Reporter: Nicholas Miell <nmiell>
Component: Mesa coreAssignee: mesa-dev
Status: RESOLVED DUPLICATE QA Contact:
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Attachments: glxinfo with Mesa ccd4d4367f2b4e5aebfc59b832599812a4a1c7d8

Description Nicholas Miell 2011-11-28 14:15:24 UTC
(gdb) run -t +basic -o -r b
Starting program: /home/nicholas/src/git/piglit/bin/glean -t +basic -o -r b
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".

Breakpoint 1, main (argc=6, argv=0x7fffffffe2f8) at /home/nicholas/src/git/piglit/tests/glean/main.cpp:63
63		Options o;
[New Thread 0x7ffff67fa700 (LWP 15117)]
[New Thread 0x7ffff5ff9700 (LWP 15118)]
[New Thread 0x7ffff57f8700 (LWP 15119)]
[New Thread 0x7ffff4ff7700 (LWP 15120)]
Detaching after fork from child process 15121.
basic:  PASS rgba8, db, z24, s8, win+pmap, id 33
basic:  PASS rgba8, db, z24, s8, win+pmap, id 34
basic:  PASS rgba8, db, z24, s8, win+pmap, id 106
basic:  PASS rgba8, win+pmap, id 251
X Error of failed request:  BadDrawable (invalid Pixmap or Window parameter)
  Major opcode of failed request:  72 (X_PutImage)
  Resource id in failed request:  0x3000011
  Serial number of failed request:  169
  Current serial number in output stream:  171

Breakpoint 2, __GI_exit (status=1) at exit.c:100
100	  __run_exit_handlers (status, &__exit_funcs, true);
(gdb) bt
#0  __GI_exit (status=1) at exit.c:100
#1  0x00000030ebc47fc6 in _XDefaultError (dpy=<optimized out>, event=<optimized out>) at XlibInt.c:1534
#2  0x00000030ebc4810f in _XError (dpy=0x7b6a60, rep=<optimized out>) at XlibInt.c:1583
#3  0x00000030ebc44f91 in handle_error (dpy=0x7b6a60, err=0x8cece0, in_XReply=<optimized out>) at xcb_io.c:166
#4  0x00000030ebc44fd5 in handle_response (dpy=0x7b6a60, response=0x8cece0, in_XReply=<optimized out>) at xcb_io.c:266
#5  0x00000030ebc45de0 in _XReply (dpy=0x7b6a60, rep=0x7fffffffdbf0, extra=0, discard=1) at xcb_io.c:566
#6  0x00000030ebc415a3 in XSync (dpy=0x7b6a60, discard=0) at Sync.c:44
#7  0x00000030ebc4164b in _XSyncFunction (dpy=<optimized out>) at Synchro.c:35
#8  0x00000030ebc39f55 in XPutImage (dpy=0x7b6a60, d=50331665, gc=0xb32650, image=0xb32990, req_xoffset=0, req_yoffset=0, x=0, y=0, req_width=320, 
    req_height=320) at PutImage.c:1032
#9  0x00007ffff7dcca1b in swrastPutImage (draw=<optimized out>, op=<optimized out>, x=<optimized out>, y=<optimized out>, w=<optimized out>, 
    h=<optimized out>, data=0xb8c8c0 "", loaderPrivate=0xb32530) at drisw_glx.c:202
#10 0x00007ffff69b504f in put_image (height=<optimized out>, width=<optimized out>, data=<optimized out>, dPriv=<optimized out>) at drisw.c:68
#11 drisw_put_image (drawable=<optimized out>, data=<optimized out>, width=<optimized out>, height=<optimized out>) at drisw.c:99
#12 0x00007ffff69b50d8 in drisw_present_texture (ptex=<optimized out>, dPriv=0xb32a20) at drisw.c:112
#13 drisw_copy_to_front (ptex=<optimized out>, dPriv=0xb32a20) at drisw.c:129
#14 drisw_flush_frontbuffer (drawable=<optimized out>, statt=ST_ATTACHMENT_FRONT_LEFT) at drisw.c:173
#15 0x00007ffff69b6231 in dri_st_framebuffer_flush_front (stfbi=<optimized out>, statt=<optimized out>) at dri_drawable.c:106
#16 0x00007ffff69b5814 in dri_unbind_context (cPriv=<optimized out>) at dri_context.c:146
#17 0x00007ffff69b29b5 in driUnbindContext (pcp=0x8ef600) at ../../../../src/mesa/drivers/dri/common/drisw_util.c:199
#18 0x00007ffff7dab4a5 in MakeContextCurrent (dpy=0x7b6a60, draw=50331670, read=50331670, gc_user=0xa6e180) at glxcurrent.c:255
#19 0x000000000052bb57 in GLEAN::WindowSystem::makeCurrent (this=0x7fffffffe0a8, r=..., w=...) at /home/nicholas/src/git/piglit/tests/glean/winsys.cpp:253
#20 0x000000000049cad0 in GLEAN::BaseTest<GLEAN::BasicResult>::run (this=0x7a1b80, environment=...) at /home/nicholas/src/git/piglit/tests/glean/tbase.h:308
#21 0x0000000000492319 in main (argc=6, argv=0x7fffffffe2f8) at /home/nicholas/src/git/piglit/tests/glean/main.cpp:141

Fails with master (c5012c1), 7.11, 7.10, and 7.9. Mesa 7.8 didn't build, so I stopped there.
Comment 1 Brian Paul 2011-11-29 10:29:57 UTC
Works for me.  Can you attach the output of glxinfo?
Comment 2 Nicholas Miell 2011-11-29 14:03:53 UTC
Created attachment 53961 [details]
glxinfo with Mesa ccd4d4367f2b4e5aebfc59b832599812a4a1c7d8
Comment 3 Nicholas Miell 2011-12-27 18:43:03 UTC
This appears to be a piglit/glean bug -- it's calling XDestroyWindow on the window currently bound to the GLX context and the subsequent glXMakeCurrent call is calling XPutImage on a window that no longer exists.

I suppose glXMakeCurrent should be generating a GLXBadCurrentWindow error here.
Comment 4 Nicholas Miell 2011-12-28 18:14:09 UTC
See bug 44247
Comment 5 Brian Paul 2012-01-02 14:53:17 UTC

*** This bug has been marked as a duplicate of bug 44247 ***

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.