JOGL commit 166e5da causes deadlock errors in Java 3D
Posted by
Julien on
Jan 23, 2014; 8:49pm
URL: https://forum.jogamp.org/JOGL-commit-166e5da-causes-deadlock-errors-in-Java-3D-tp4031305.html
Hi.
JOGL commit 166e5da5298b16b0acbf900004964d370cd0aa29 causes deadlock errors in Java 3D.
This commit causes the IDV (
http://www.unidata.ucar.edu/software/idv/) to occasionally (but reproducibly) freeze up. This problem occurs on Windows, OS X and Linux.
Here are the relevant thread dumps :
"J3D-Renderer-1" prio=5 tid=0x00007f96dceaf800 nid=0xe103 waiting for monitor entry [0x000000011d9d5000]
java.lang.Thread.State: BLOCKED (on object monitor)
at java.awt.Component.removeHierarchyListener(Component.java:5383)
- waiting to lock <0x00000007f8127338> (a java.awt.Component$AWTTreeLock)
at com.jogamp.nativewindow.awt.JAWTWindow$JAWTComponentListener.detach(JAWTWindow.java:175)
at com.jogamp.nativewindow.awt.JAWTWindow$JAWTComponentListener.access$600(JAWTWindow.java:123)
at com.jogamp.nativewindow.awt.JAWTWindow.destroy(JAWTWindow.java:606)
at javax.media.j3d.JoglDrawable.destroyNativeWindow(JoglDrawable.java:60)
at javax.media.j3d.JoglPipeline.destroyContext(JoglPipeline.java:6799)
at javax.media.j3d.Canvas3D.destroyContext(Canvas3D.java:4651)
at javax.media.j3d.Renderer.removeCtx(Renderer.java:1551)
- locked <0x00000007f841de58> (a java.lang.Object)
at javax.media.j3d.Renderer.doWork(Renderer.java:372)
at javax.media.j3d.J3dThread.run(J3dThread.java:271)
"J3D-TimerThread" prio=5 tid=0x00007f96dbc8d800 nid=0xd12f waiting for monitor entry [0x0000000117bf8000]
java.lang.Thread.State: BLOCKED (on object monitor)
at javax.media.j3d.MasterControl.processMessage(MasterControl.java:1102)
- waiting to lock <0x00000007f841cf00> (a java.lang.Object)
at javax.media.j3d.WakeupCondition.setConditionMet(WakeupCondition.java:115)
at javax.media.j3d.WakeupCriterion.setTriggered(WakeupCriterion.java:66)
at javax.media.j3d.TimerThread.run(TimerThread.java:128)
I found a forum posting related to this issue:
https://www.java.net/node/667423Commits prior to 166e5da do not have deadlock problems. I guess changes to JAWTWindow.java may be the source of the problem.
Would it be possible to have this issue examined? I can provide more information if necessary including how to reproduce this problem in the IDV. I cannot necessarily provide a small test case, as this deadlock bug probably depends on complex interactions between our application, Java 3D, and JOGL.
Many thanks!
-Julien