Bug 85712 - glClear can hang when the window being rendered is concurrently closed
Summary: glClear can hang when the window being rendered is concurrently closed
Status: RESOLVED MOVED
Alias: None
Product: Mesa
Classification: Unclassified
Component: Other (show other bugs)
Version: unspecified
Hardware: All All
: medium minor
Assignee: mesa-dev
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2014-10-31 18:11 UTC by Steven Stewart-Gallus
Modified: 2019-09-18 20:17 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments
Callstack (2.53 KB, text/plain)
2014-10-31 18:11 UTC, Steven Stewart-Gallus
Details
glxinfo output (17.11 KB, text/plain)
2014-10-31 18:11 UTC, Steven Stewart-Gallus
Details
A very hacky test case (7.87 KB, text/plain)
2014-10-31 19:32 UTC, Steven Stewart-Gallus
Details

Description Steven Stewart-Gallus 2014-10-31 18:11:07 UTC
Created attachment 108740 [details]
Callstack
Comment 1 Steven Stewart-Gallus 2014-10-31 18:11:56 UTC
Created attachment 108741 [details]
glxinfo output
Comment 2 Steven Stewart-Gallus 2014-10-31 18:17:01 UTC
I suspect the problem can occur on machines other than my Intel
machine but I can't confirm. The problem occurs when one closes a
window while it is being rendered to with glClear. The
xcb_wait_for_reply function which is deep in the callstack should
return with a BadDrawable error probably. How I triggered the problem
was that I built and ran my program at
https://gitorious.org/linted/linted/source/1bc8c6e12d65be3736c409612d7ce03561a51030:
which is a federation of processes and has a seperate process for
drawing to the window than the one that created it and killed the
window creating process while the drawer process was using
glClear. Strangely, while my gui process which listens for user input
failed with an error upon the window being destroyed the drawer
process got stuck in glClear.
Comment 3 Steven Stewart-Gallus 2014-10-31 19:32:08 UTC
Created attachment 108743 [details]
A very hacky test case

One can use this test case and kill the child to reproduce the bug.
Comment 4 Steven Stewart-Gallus 2015-07-24 20:55:43 UTC
A similar problem can happen where eglSwapBuffer returns EGL_FAILURE but then sets the result of eglGetError to EGL_SUCCESS when the window is concurrently closed.
Comment 5 GitLab Migration User 2019-09-18 20:17:38 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/mesa/mesa/issues/908.


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.