Modify

Opened 21 months ago

Closed 21 months ago

Last modified 21 months ago

#22434 closed defect (duplicate)

Error at startup when checking for latest version

Reported by: syncronic Owned by: team
Priority: normal Milestone:
Component: Core Version: tested
Keywords: Cc:

Description

its not at every start

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2022-09-29 20:51:54 +0200 (Thu, 29 Sep 2022)
Revision:18565
Build-Date:2022-09-30 01:30:56
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (18565 de) Linux Mint 20.3
Memory Usage: 252 MB / 3972 MB (199 MB allocated, but free)
Java version: 11.0.16+8-post-Ubuntu-0ubuntu120.04, Ubuntu, OpenJDK 64-Bit Server VM
Look and Feel: javax.swing.plaf.metal.MetalLookAndFeel
Screen: :0.0 1920×1080 (scaling 1.00×1.00) :0.1 2048×1152 (scaling 1.00×1.00)
Maximum Screen Size: 2048×1152
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: de_DE.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: de_DE
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: X-Cinnamon
Java package: openjdk-11-jre:amd64-11.0.16+8-0ubuntu1~20.04
fonts-noto: fonts-noto:all-20200323-1build1~ubuntu20.04.1
VM arguments: [--module-path=/usr/share/openjfx/lib, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, -Djosm.restart=true, -Djava.net.useSystemProxies=true, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED]

Plugins:
+ ImportImagePlugin
+ apache-commons
+ ejml
+ geotools
+ jackson
+ jaxb (35952)
+ jts

Last errors/warnings:
- 00001.891 E: Exception raised in EDT: java.util.concurrent.ExecutionException: java.lang.ExceptionInInitializerError. Ursache: java.lang.ExceptionInInitializerError. Ursache: java.lang.NullPointerException
- 00001.907 E: Exception raised in EDT: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class org.openstreetmap.josm.actions.SessionSaveAction. Ursache: java.lang.NoClassDefFoundError: Could not initialize class org.openstreetmap.josm.actions.SessionSaveAction
- 00003.857 E: Handled by bug report queue: java.lang.NoClassDefFoundError: Could not initialize class org.openstreetmap.josm.actions.SessionSaveAction



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: main (1)
java.lang.NoClassDefFoundError: Could not initialize class org.openstreetmap.josm.actions.SessionSaveAction
	at org.openstreetmap.josm.gui.MainMenu.<init>(MainMenu.java:181)
	at org.openstreetmap.josm.gui.MainFrame.initialize(MainFrame.java:93)
	at org.openstreetmap.josm.gui.MainApplication.initializeMainWindow(MainApplication.java:415)
	at org.openstreetmap.josm.spi.lifecycle.InitializationTask.call(InitializationTask.java:33)
	at org.openstreetmap.josm.spi.lifecycle.Lifecycle.runInitializationTasks(Lifecycle.java:103)
	at org.openstreetmap.josm.spi.lifecycle.Lifecycle.initialize(Lifecycle.java:71)
	at org.openstreetmap.josm.gui.MainApplication.mainJOSM(MainApplication.java:958)
	at org.openstreetmap.josm.gui.MainApplication$3.processArguments(MainApplication.java:277)
	at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:741)

=== ADDITIONAL EXCEPTIONS ===
==== Exception at 1665080639999 ====
java.util.concurrent.ExecutionException: java.lang.ExceptionInInitializerError
	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitAndReturn(GuiHelper.java:278)
	at org.openstreetmap.josm.gui.MainApplication.exitJosm(MainApplication.java:517)
	at org.openstreetmap.josm.actions.RestartAction.restartJOSM(RestartAction.java:90)
	at org.openstreetmap.josm.gui.MainApplication.lambda$checkIPv6$12(MainApplication.java:1312)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.ExceptionInInitializerError
	at org.openstreetmap.josm.gui.io.SaveLayersDialog$SaveSessionButtonAction.<init>(SaveLayersDialog.java:439)
	at org.openstreetmap.josm.gui.io.SaveLayersDialog.<init>(SaveLayersDialog.java:96)
	at org.openstreetmap.josm.gui.io.SaveLayersDialog.saveUnsavedModifications(SaveLayersDialog.java:114)
	at org.openstreetmap.josm.gui.MainApplication.lambda$exitJosm$3(MainApplication.java:518)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
	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)
Caused by: java.lang.NullPointerException
	at org.openstreetmap.josm.gui.MainApplication.registerActionShortcut(MainApplication.java:589)
	at org.openstreetmap.josm.actions.JosmAction.<init>(JosmAction.java:99)
	at org.openstreetmap.josm.actions.JosmAction.<init>(JosmAction.java:132)
	at org.openstreetmap.josm.actions.DiskAccessAction.<init>(DiskAccessAction.java:51)
	at org.openstreetmap.josm.actions.SessionSaveAction.<init>(SessionSaveAction.java:126)
	at org.openstreetmap.josm.actions.SessionSaveAction.<init>(SessionSaveAction.java:117)
	at org.openstreetmap.josm.actions.SessionSaveAction.<init>(SessionSaveAction.java:107)
	at org.openstreetmap.josm.actions.SessionSaveAction.<clinit>(SessionSaveAction.java:93)
	... 18 more
==== Exception at 1665080640014 ====
java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: Could not initialize class org.openstreetmap.josm.actions.SessionSaveAction
	at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
	at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitAndReturn(GuiHelper.java:278)
	at org.openstreetmap.josm.gui.MainApplication.exitJosm(MainApplication.java:517)
	at org.openstreetmap.josm.actions.RestartAction.restartJOSM(RestartAction.java:108)
	at org.openstreetmap.josm.gui.MainApplication.lambda$checkIPv6$12(MainApplication.java:1312)
	at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.openstreetmap.josm.actions.SessionSaveAction
	at org.openstreetmap.josm.gui.io.SaveLayersDialog$SaveSessionButtonAction.<init>(SaveLayersDialog.java:439)
	at org.openstreetmap.josm.gui.io.SaveLayersDialog.<init>(SaveLayersDialog.java:96)
	at org.openstreetmap.josm.gui.io.SaveLayersDialog.saveUnsavedModifications(SaveLayersDialog.java:114)
	at org.openstreetmap.josm.gui.MainApplication.lambda$exitJosm$3(MainApplication.java:518)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740)
	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)

Attachments (0)

Change History (2)

comment:1 by taylor.smock, 21 months ago

Resolution: duplicate
Status: newclosed

Closed as duplicate of #22183.
@nicco2: Thank you for reporting this bug. It is the first one since I made some changes to get better output for debugging this specific problem. I've known about it for awhile, I just hadn't figured out why it was happening.

Anyway, based off of the saved stack traces, it looks like it is occurring due to JOSM starting thinking it has access to ipv6, detecting that it does not in fact have access to ipv6, and attempting to restart. This fails, due to SessionSaveAction not being able to initialize, which in turn causes JOSM startup to not finish.

comment:2 by taylor.smock, 21 months ago

In 18570/josm:

Fix #22183: NoClassDefFoundError: Could not initialize class org.openstreetmap.josm.actions.SessionSaveAction

This was caused by JOSM detecting that it had started in IPv6 mode, but no IPv6
network was available. When this occurs, JOSM immediately sets a preference key
and restarts so that users are not confused about a lack of network connectivity.

The JOSM restart action then proceeds to attempt to save any active layers, but
since this occurs during startup, there are no active layers and the save actions
have not yet been initialized. The save actions cannot be initialized before
contentPanePrivate has been initialized, but the IPv6 call is done prior to
that happening, which may then trigger a JOSM restart, which calls exitJosm,
which then calls the save layers actions.

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain team.
as The resolution will be set.
The resolution will be deleted. Next status will be 'reopened'.

Add Comment


E-mail address and name can be saved in the Preferences .
 
Note: See TracTickets for help on using tickets.