﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
18839	JOSM fails to open on NoClassDefFoundError for ch/poole/openinghoursparser/ParseException	eladner	team	"==== What steps will reproduce the problem?
1. Start JOSM latest.  (15994)
2. Tried skip-plugins and reset-preferences also.
3. Profit?

==== What is the expected result?
JOSM starts without errors.

==== What happens instead?
hangs at the splash/loading screen.  Ignoring the error doesn't help.

==== Please provide any additional information below. Attach a screenshot if possible.

Looks like some OpeningHours tests are included in JOSM core and these are probably causing a chicken/egg problem with the test requires an updated plugin, but you can't update the plugin unless JOSM can open successfully.

{{{
$ jar tvf josm-latest.jar | grep -i openinghour
  4489 Mon Mar 02 03:31:00 CST 2020 org/openstreetmap/josm/data/validation/tests/OpeningHourTest.class
  4180 Mon Mar 02 03:31:00 CST 2020 org/openstreetmap/josm/data/validation/tests/OpeningHourTest$OpeningHoursTestError.class
  1510 Mon Mar 02 03:31:00 CST 2020 org/openstreetmap/josm/data/validation/tests/OpeningHourTest$CheckMode.class
}}}



{{{
Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2020-03-02 00:54:04 +0100 (Mon, 02 Mar 2020)
Revision:15994
Build-Date:2020-03-02 02:31:01
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (15994 en) Linux Ubuntu 19.10
Memory Usage: 1506 MB / 8192 MB (924 MB allocated, but free)
Java version: 9.0.4+11, Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM
Screen: :0.0 2560x1440
Maximum Screen Size: 2560x1440
fonts-noto: fonts-noto:-
VM arguments: [-Dsun.java2d.opengl=True]

Last errors/warnings:
- W: Failed to parse external taginfo data at https://josm.openstreetmap.de/remote/geofabrik-index-v1-nogeom.json: Invalid token=EOF at (line no=6119, column no=2252, offset=359085). Expected tokens are: [CURLYOPEN, SQUAREOPEN, STRING, NUMBER, TRUE, FALSE, NULL]
- E: Handled by bug report queue: org.openstreetmap.josm.tools.JosmRuntimeException: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: ch/poole/openinghoursparser/ParseException. Cause: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: ch/poole/openinghoursparser/ParseException. Cause: java.lang.NoClassDefFoundError: ch/poole/openinghoursparser/ParseException. Cause: java.lang.ClassNotFoundException: ch.poole.openinghoursparser.ParseException


=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: main (1)
org.openstreetmap.josm.tools.JosmRuntimeException: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: ch/poole/openinghoursparser/ParseException
	at org.openstreetmap.josm.spi.lifecycle.Lifecycle.initialize(Lifecycle.java:89)
	at org.openstreetmap.josm.gui.MainApplication.mainJOSM(MainApplication.java:903)
	at org.openstreetmap.josm.gui.MainApplication$3.processArguments(MainApplication.java:276)
	at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:703)
Caused by: java.util.concurrent.ExecutionException: java.lang.NoClassDefFoundError: ch/poole/openinghoursparser/ParseException
	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.spi.lifecycle.Lifecycle.initialize(Lifecycle.java:78)
	... 3 more
Caused by: java.lang.NoClassDefFoundError: ch/poole/openinghoursparser/ParseException
	at java.base/java.lang.Class.getDeclaredConstructors0(Native Method)
	at java.base/java.lang.Class.privateGetDeclaredConstructors(Class.java:3110)
	at java.base/java.lang.Class.getConstructor0(Class.java:3315)
	at java.base/java.lang.Class.getConstructor(Class.java:2108)
	at org.openstreetmap.josm.data.validation.OsmValidator.addTest(OsmValidator.java:161)
	at org.openstreetmap.josm.data.validation.OsmValidator.<clinit>(OsmValidator.java:186)
	at org.openstreetmap.josm.spi.lifecycle.InitializationTask.call(InitializationTask.java:33)
	at org.openstreetmap.josm.spi.lifecycle.InitializationTask.call(InitializationTask.java:11)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
	at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.ClassNotFoundException: ch.poole.openinghoursparser.ParseException
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
	at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
	... 12 more
}}}
"	defect	closed	normal		Core	latest	duplicate	template_report	
