﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
24108	JOSM crashed after I hit the validation button.	jpn@…	jpn@…	"I closed the window for editing a tag (opening_hours) and was about to run a validation check on the node for the M Labs sample station at 375 Briarwood Circle, Ann Arbor, MI. The crash may have been triggered by the starting validation check, or possibly by closing the tag editing window. Those two events were close together.

Thank you for working on JOSM, it is an impressive work of software. (mapper377, jpn@umich.edu)

==== What steps will reproduce the problem?
1. 
2. 
3. 

==== What is the expected result?

==== What happens instead?

==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Revision:19277
Build-Date:2025-01-03 15:23:41

Identification: JOSM/1.5 (19277 en) Mac OS X 14.7.2
OS Build number: macOS 14.7.2 (23H311)
Memory Usage: 1344 MB / 98304 MB (750 MB allocated, but free)
Java version: 21.0.5+11-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.apple.laf.AquaLookAndFeel
Screen: Display 5 2048x1152x32bpp@60Hz (scaling 2.00×2.00)
Maximum Screen Size: 2048×1152
Best cursor sizes: 16×16→16×16, 32×32→32×32
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=19277, -XX:MaxRAMPercentage=75.0, --add-modules=java.scripting,java.sql,javafx.controls,javafx.media,javafx.swing,javafx.web, --add-exports=java.base/sun.security.action=ALL-UNNAMED, --add-exports=java.desktop/com.apple.eawt=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.plugins.jpeg=ALL-UNNAMED, --add-exports=java.desktop/com.sun.imageio.spi=ALL-UNNAMED, --add-opens=java.base/java.lang=ALL-UNNAMED, --add-opens=java.base/java.nio=ALL-UNNAMED, --add-opens=java.base/jdk.internal.loader=ALL-UNNAMED, --add-opens=java.base/jdk.internal.ref=ALL-UNNAMED, --add-opens=java.desktop/javax.imageio.spi=ALL-UNNAMED, --add-opens=java.desktop/javax.swing.text.html=ALL-UNNAMED, --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED, -Djpackage.app-path=/Applications/JOSM-19277.app/Contents/MacOS/JOSM]
Dataset consistency test: No problems found

Plugins:
+ ImportImagePlugin (36325)
+ apache-commons (36349)
+ buildings_tools (36344)
+ ejml (36348)
+ geotools (36349)
+ jackson (36349)
+ jaxb (36349)
+ jts (36349)
+ measurement (36350)
+ utilsplugin2 (36362)

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Admin_Boundaries&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Coloured_Streets&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/LayerChecker&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Lit&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Power&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/PowerMapping&zip=1

Last errors/warnings:
- 00032.092 W: java.io.IOException: Attribution is not loaded yet
- 00032.093 W: java.io.IOException: Attribution is not loaded yet
- 00032.093 W: java.io.IOException: Attribution is not loaded yet
- 00032.093 W: java.io.IOException: Attribution is not loaded yet
- 00032.093 W: java.io.IOException: Attribution is not loaded yet
- 00032.093 W: java.io.IOException: Attribution is not loaded yet
- 00032.094 W: java.io.IOException: Attribution is not loaded yet
- 00032.094 W: java.io.IOException: Attribution is not loaded yet
- 00032.094 W: java.io.IOException: Attribution is not loaded yet
- 04225.065 E: Handled by bug report queue: java.lang.IllegalArgumentException: Unmatched braces in the pattern.



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (51) of main
java.lang.IllegalArgumentException: Unmatched braces in the pattern.
	at java.base/java.text.MessageFormat.applyPattern(Unknown Source)
	at java.base/java.text.MessageFormat.<init>(Unknown Source)
	at org.openstreetmap.josm.data.validation.TestError$Builder.message(TestError.java:132)
	at org.openstreetmap.josm.data.validation.tests.OpeningHourTest.createTestError(OpeningHourTest.java:67)
	at org.openstreetmap.josm.data.validation.tests.OpeningHourTest.checkOpeningHourSyntax(OpeningHourTest.java:116)
	at org.openstreetmap.josm.data.validation.tests.OpeningHourTest.addErrorsForPrimitive(OpeningHourTest.java:141)
	at org.openstreetmap.josm.data.validation.tests.OpeningHourTest.check(OpeningHourTest.java:129)
	at org.openstreetmap.josm.data.validation.Test$TagTest.visit(Test.java:131)
	at org.openstreetmap.josm.data.osm.Node.accept(Node.java:210)
	at org.openstreetmap.josm.data.validation.Test.visit(Test.java:218)
	at org.openstreetmap.josm.data.validation.ValidationTask.realRun(ValidationTask.java:192)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.doRealRun(PleaseWaitRunnable.java:94)
	at org.openstreetmap.josm.gui.PleaseWaitRunnable.run(PleaseWaitRunnable.java:142)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
	at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
	at java.base/java.lang.Thread.run(Unknown Source)
}}}
"	defect	needinfo	normal		Core			template_report	
