eclipse-windowbuilder / eclipse-windowbuilder/windowbuilder

Unhandled Eventloop Exception (MacOS 14.3.1)

Open
#975 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
97
Forks
34
Avg merge
21h 38m
Merged PRs (30d)
29

Description

Windowbuilder was working with this window until the last batch of changes I made to it. I get no warnings or compile errors in my project, the Windowbuilder Design tap just show up empty.

My project is opensource and after doing some digging, the error appears in this (small) commit:
https://github.com/obscurestar/choordinates/commit/10c3ec90987c35c822aa5a1f17a3f8c548a0cc9e#diff-24bc5d99104ec827f095ecd47ae668ae04b178c150fd5750a9c31aa8502f89e9L136

and appears to be related to the creation of a new public constructor in the unrelated 'ToneChord' class. (Even with the removal of 'foo' object)

Below is the stack trace from the General Error log stack trace when I click the design tab for the 'Choordinates' window in my project.

java.lang.NullPointerException: String is null
at java.desktop/sun.java2d.SunGraphics2D.drawString(SunGraphics2D.java:2925)
at choordinates.FretPanel.paintComponent(FretPanel.java:273)
at java.desktop/javax.swing.JComponent.printComponent(JComponent.java:1292)
at java.desktop/javax.swing.JComponent.paint(JComponent.java:1132)
at java.desktop/javax.swing.JComponent.print(JComponent.java:1274)
at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:965)
at java.desktop/javax.swing.JComponent.printChildren(JComponent.java:1305)
at java.desktop/javax.swing.JComponent.paint(JComponent.java:1140)
at java.desktop/javax.swing.JComponent.print(JComponent.java:1274)
at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:965)
at java.desktop/javax.swing.JComponent.printChildren(JComponent.java:1305)
at java.desktop/javax.swing.JComponent.paint(JComponent.java:1140)
at java.desktop/javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
at java.desktop/javax.swing.JComponent.print(JComponent.java:1274)
at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:965)
at java.desktop/javax.swing.JComponent.printChildren(JComponent.java:1305)
at java.desktop/javax.swing.JComponent.paint(JComponent.java:1140)
at java.desktop/javax.swing.JComponent.print(JComponent.java:1274)
at java.desktop/java.awt.GraphicsCallback$PrintCallback.run(GraphicsCallback.java:50)
at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:75)
at java.desktop/sun.awt.SunGraphicsCallback.runComponents(SunGraphicsCallback.java:112)
at java.desktop/java.awt.Container.print(Container.java:2060)
at java.desktop/sun.lwawt.LWComponentPeer.print(LWComponentPeer.java:807)
at java.desktop/sun.lwawt.LWContainerPeer.print(LWContainerPeer.java:276)
at java.desktop/java.awt.GraphicsCallback$PeerPrintCallback.run(GraphicsCallback.java:103)
at java.desktop/sun.awt.SunGraphicsCallback.runOneComponent(SunGraphicsCallback.java:75)
at java.desktop/java.awt.Component.printAll(Component.java:3534)
at org.eclipse.wb.internal.swing.utils.SwingScreenshotMaker.makeShots(SwingScreenshotMaker.java:146)
at org.eclipse.wb.internal.swing.model.component.ComponentInfo.refresh_fetch(ComponentInfo.java:156)
at org.eclipse.wb.internal.swing.model.component.ComponentInfo.refresh_fetch(ComponentInfo.java:140)
at org.eclipse.wb.internal.swing.model.component.ContainerInfo.refresh_fetch(ContainerInfo.java:258)
at org.eclipse.wb.core.model.ObjectInfo.lambda$6(ObjectInfo.java:481)
at org.eclipse.wb.internal.core.utils.execution.ExecutionUtils.runDesignTime(ExecutionUtils.java:147)
at org.eclipse.wb.core.model.ObjectInfo.lambda$5(ObjectInfo.java:480)
at org.eclipse.wb.internal.swing.utils.SwingUtils$2.run(SwingUtils.java:78)
at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:773)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

Contributor guide

Open the contributing guide

Research direction

Reproduce the failure by opening the Choordinates window's WindowBuilder Design tab, then inspect FretPanel.java at line 273 and compare the behavior before and after the linked commit. Trace the null value reported by the drawString stack trace and determine why the new ToneChord constructor triggers it. Done means the design tab renders without the unhandled exception.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop, devtools
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.