<AWT Dev> [8] Review request for 8015730: PIT: On Linux, OGL=true and fbobject=false leads to deadlock or infinite loop
Anton Litvinov
anton.litvinov at oracle.com
Fri Jun 28 10:16:03 PDT 2013
Hello,
Could you please review the following fix for a bug, which consists in a
deadlock provoked by concurrency between AWT-EventQueue and Java2D Queue
Flusher for taking AWT lock, when OpenGL rendering is enabled.
Bug: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=8015730
Webrev: http://cr.openjdk.java.net/~alitvinov/8015730/webrev.00
The fix allows the code from the native function
"Java_sun_java2d_opengl_GLXSurfaceData_initPbuffer" of the file
"jdk/src/solaris/native/sun/java2d/opengl/GLXSurfaceData.c" execute all
XError handling procedures using "sun.awt.X11.XErrorHandlerUtil" class
without acquiring AWT lock. It is the only available solution for this
problem, because the current design of
"sun.java2d.opengl.OGLRenderQueue" class does not allow to take AWT lock
in Java2D Queue Flusher thread without reaching a deadlock, since all
calls to the method
"sun.java2d.opengl.OGLRenderQueue.flushAndInvokeNow(Runnable r)" are
guarded by AWT lock.
Thank you,
Anton
More information about the awt-dev
mailing list