Hello
Java3D uses AWT under the hood, mixing AWT and SWT can be challenging, it's not a bug in Java3D itself in my humble opinion, this kind of lock can occur with any API based on AWT and/or Swing. Are you familiar with Display.syncExec() and Display.asyncExec() in SWT? Please post a
SSCCE (yes, the whole source code).