karakun / OpenWebStart

Run Web Start based applications after the release of Java 11
https://openwebstart.com
Other
417 stars 48 forks source link

OpenWebstart sometimes get stuck on certificate selection screen #594

Open greeneHippo opened 2 months ago

greeneHippo commented 2 months ago

I started using OpenWebStart to execute my JNLP files. I notice that after starting the application, the screen (in which you select your certificate) sometimes gets stuck. Just as in #414 I need to close the process via the task manager (I use Windows 11).

In the logs I see the following stacktrace while running with Java 17 and Java 21:

[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)] Exception in thread "AWT-EventQueue-0" java.lang.RuntimeException: Event posted on wrong app context : java.awt.event.WindowEvent[WINDOW_CLOSED,opposite=null,oldState=0,newState=0] on dialog0
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/sun.awt.SunToolkit.postEvent(SunToolkit.java:468)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.SequencedEvent.dispose(SequencedEvent.java:300)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.SequencedEvent.dispatch(SequencedEvent.java:209)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:746)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:744)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:743)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
[ERROR][java.base/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:234)]  at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

After a reinstall of OpenWebStart, or sometimes after cleaning the cache, the error is gone and everything is OK. It almost feels to me that there is some kind of race condition that makes it sometimes happen, and sometimes not.

Any idea what might cause it? If you need more information to analyse the issue, let me know!