[BLUEJ-851] Race hazard in initialisation
Seen in 4.0.0preview2:
{code:java} Exception in thread "JavaFX Application Thread" java.lang.ExceptionInInitializerError at com.sun.javafx.scene.EventHandlerProperties.onDragOverProperty(EventHandlerProperties.java:614) at javafx.scene.Node.onDragOverProperty(Node.java:2121) at javafx.scene.Node.setOnDragOver(Node.java:2107) at bluej.stride.generic.FrameCanvas.(FrameCanvas.java:745) at bluej.editor.stride.FrameShelf.(FrameShelf.java:99) at bluej.editor.stride.FXTabbedEditor.initialiseFX(FXTabbedEditor.java:235) at bluej.editor.stride.FXTabbedEditor.initialise(FXTabbedEditor.java:202) at bluej.pkgmgr.Project.createNewFXTabbedEditor(Project.java:2324) at bluej.pkgmgr.Project.lambda$new$0(Project.java:297) at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) at java.lang.Thread.run(Thread.java:745) Caused by: java.util.ConcurrentModificationException at java.util.WeakHashMap$HashIterator.nextEntry(WeakHashMap.java:806) at java.util.WeakHashMap$KeyIterator.next(WeakHashMap.java:839) at javafx.event.EventType.register(EventType.java:183) at javafx.event.EventType.(EventType.java:128) at javafx.scene.input.DragEvent.(DragEvent.java:212) ... 16 more Exception in thread "JavaFX Application Thread" java.lang.NoClassDefFoundError: Could not initialize class javafx.scene.input.DragEvent at javafx.embed.swing.FXDnD.lambda$addDropTarget$12(FXDnD.java:537) at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) at java.lang.Thread.run(Thread.java:745) 1480377569154: Listening for JDWP connection on address: javadebug Exception in thread "JavaFX Application Thread" java.lang.NoClassDefFoundError: Could not initialize class javafx.scene.input.DragEvent at com.sun.javafx.scene.EventHandlerProperties.onDragOverProperty(EventHandlerProperties.java:614) at javafx.scene.Node.onDragOverProperty(Node.java:2121) at javafx.scene.Node.setOnDragOver(Node.java:2107) at bluej.pkgmgr.PkgMgrFrame.lambda$openPackage$19(PkgMgrFrame.java:1061) at com.sun.javafx.application.PlatformImpl.lambda$null$173(PlatformImpl.java:295) at java.security.AccessController.doPrivileged(Native Method) at com.sun.javafx.application.PlatformImpl.lambda$runLater$174(PlatformImpl.java:294) at com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95) at com.sun.glass.ui.win.WinApplication._runLoop(Native Method) at com.sun.glass.ui.win.WinApplication.lambda$null$148(WinApplication.java:191) at java.lang.Thread.run(Thread.java:745)
{code}
Issue metadata
- Issue type: Bug
- Priority: Medium