﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
24825	Crashing after plugin updates.	lassesroska@…	lassesroska@…	"==== 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:19555
Build-Date:2026-03-30 09:44:38

Identification: JOSM/1.5 (19555 fi) Mac OS X 15.7.8
OS Build number: macOS 15.7.8 (24G824)
Memory Usage: 256 MB / 24576 MB (211 MB allocated, but free)
Java version: 21.0.10+7-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.apple.laf.AquaLookAndFeel
Screen: Display 4128833 1302x960x32bpp@60Hz (scaling 2.00×2.00) Display 2077749241 1680x1050x32bpp@[Unknown refresh rate] (scaling 2.00×2.00)
Maximum Screen Size: 1680×1050
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: fi_GB
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=19555, -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=/Volumes/LasseS 3/Applications/JOSM.app/Contents/MacOS/JOSM]

Plugins:
+ CADTools
+ DirectDownload
+ busstoptool
+ continuosDownload
+ undelete
+ utilsplugin2
+ wikipedia

Last errors/warnings:
- 00006.778 W: Päivitä liitännäiset - Liit&#228;nn&#228;iset on p&#228;ivitetty viimeksi yli 42 p&#228;iv&#228;&#228; sitten.
- 00016.518 E: Handled by bug report queue: java.lang.NoClassDefFoundError: org/openstreetmap/josm/data/UndoRedoHandler. Syy: java.lang.ClassNotFoundException: org.openstreetmap.josm.data.UndoRedoHandler



=== REPORTED CRASH DATA ===
BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: main (1)
java.lang.NoClassDefFoundError: org/openstreetmap/josm/data/UndoRedoHandler
	at org.openstreetmap.josm.actions.UndoAction.updateEnabledState(UndoAction.java:44)
	at org.openstreetmap.josm.actions.JosmAction.initEnabledState(JosmAction.java:372)
	at org.openstreetmap.josm.actions.JosmAction.installAdapters(JosmAction.java:232)
	at org.openstreetmap.josm.actions.JosmAction.<init>(JosmAction.java:109)
	at org.openstreetmap.josm.actions.JosmAction.<init>(JosmAction.java:132)
	at org.openstreetmap.josm.actions.JosmAction.<init>(JosmAction.java:172)
	at org.openstreetmap.josm.actions.UndoAction.<init>(UndoAction.java:27)
	at org.openstreetmap.josm.gui.MainMenu.<init>(MainMenu.java:222)
	at org.openstreetmap.josm.gui.MainFrame.initialize(MainFrame.java:95)
	at org.openstreetmap.josm.gui.MainApplication.initializeMainWindow(MainApplication.java:438)
	at org.openstreetmap.josm.spi.lifecycle.InitializationTask.call(InitializationTask.java:33)
	at org.openstreetmap.josm.spi.lifecycle.Lifecycle.runInitializationTasks(Lifecycle.java:108)
	at org.openstreetmap.josm.spi.lifecycle.Lifecycle.initialize(Lifecycle.java:73)
	at org.openstreetmap.josm.gui.MainApplication.mainJOSM(MainApplication.java:1004)
	at org.openstreetmap.josm.gui.MainApplication$3.processArguments(MainApplication.java:280)
	at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:766)
Caused by: java.lang.ClassNotFoundException: org.openstreetmap.josm.data.UndoRedoHandler
	at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(Unknown Source)
	at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(Unknown Source)
	at java.base/java.lang.ClassLoader.loadClass(Unknown Source)
	... 16 more

=== RUNNING THREADS ===
Thread: Finalizer (10) of system
java.base@21.0.10/java.lang.Object.wait0(Native Method)
java.base@21.0.10/java.lang.Object.wait(Unknown Source)
java.base@21.0.10/java.lang.Object.wait(Unknown Source)
java.base@21.0.10/java.lang.ref.NativeReferenceQueue.await(Unknown Source)
java.base@21.0.10/java.lang.ref.ReferenceQueue.remove0(Unknown Source)
java.base@21.0.10/java.lang.ref.NativeReferenceQueue.remove(Unknown Source)
java.base@21.0.10/java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

Thread: AppKit Thread (27) of system

Thread: Java2D Disposer (30) of system
java.base@21.0.10/jdk.internal.misc.Unsafe.park(Native Method)
java.base@21.0.10/java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.base@21.0.10/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source)
java.base@21.0.10/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source)
java.base@21.0.10/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source)
java.base@21.0.10/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.base@21.0.10/java.lang.ref.ReferenceQueue.await(Unknown Source)
java.base@21.0.10/java.lang.ref.ReferenceQueue.remove0(Unknown Source)
java.base@21.0.10/java.lang.ref.ReferenceQueue.remove(Unknown Source)
java.desktop@21.0.10/sun.java2d.Disposer.run(Unknown Source)
java.base@21.0.10/java.lang.Thread.runWith(Unknown Source)
java.base@21.0.10/java.lang.Thread.run(Unknown Source)

Thread: main (1)
Stacktrace see above.

Thread: process reaper (39) of InnocuousThreadGroup
java.base@21.0.10/jdk.internal.misc.Unsafe.park(Native Method)
java.base@21.0.10/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.base@21.0.10/java.util.concurrent.LinkedTransferQueue$DualNode.await(Unknown Source)
java.base@21.0.10/java.util.concurrent.SynchronousQueue$Transferer.xferLifo(Unknown Source)
java.base@21.0.10/java.util.concurrent.SynchronousQueue.xfer(Unknown Source)
java.base@21.0.10/java.util.concurrent.SynchronousQueue.poll(Unknown Source)
java.base@21.0.10/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.base@21.0.10/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.base@21.0.10/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.base@21.0.10/java.lang.Thread.runWith(Unknown Source)
java.base@21.0.10/java.lang.Thread.run(Unknown Source)
java.base@21.0.10/jdk.internal.misc.InnocuousThread.run(Unknown Source)

Thread: TimerQueue (43) of system
java.base@21.0.10/jdk.internal.misc.Unsafe.park(Native Method)
java.base@21.0.10/java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.base@21.0.10/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source)
java.base@21.0.10/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source)
java.base@21.0.10/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source)
java.base@21.0.10/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.base@21.0.10/java.util.concurrent.DelayQueue.take(Unknown Source)
java.desktop@21.0.10/javax.swing.TimerQueue.run(Unknown Source)
java.base@21.0.10/java.lang.Thread.runWith(Unknown Source)
java.base@21.0.10/java.lang.Thread.run(Unknown Source)

Thread: Weak reference cleaner (48) of main
java.base@21.0.10/jdk.internal.misc.Unsafe.park(Native Method)
java.base@21.0.10/java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.base@21.0.10/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source)
java.base@21.0.10/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source)
java.base@21.0.10/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source)
java.base@21.0.10/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.base@21.0.10/java.lang.ref.ReferenceQueue.await(Unknown Source)
java.base@21.0.10/java.lang.ref.ReferenceQueue.remove0(Unknown Source)
java.base@21.0.10/java.lang.ref.ReferenceQueue.remove(Unknown Source)
app//org.openstreetmap.josm.tools.ListenableWeakReference.clean(ListenableWeakReference.java:60)
app//org.openstreetmap.josm.tools.ListenableWeakReference$$Lambda/0x00000008004b9f80.run(Unknown Source)
java.base@21.0.10/java.lang.Thread.runWith(Unknown Source)
java.base@21.0.10/java.lang.Thread.run(Unknown Source)

Thread: File Watcher (46) of main
java.base@21.0.10/jdk.internal.misc.Unsafe.park(Native Method)
java.base@21.0.10/java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.base@21.0.10/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source)
java.base@21.0.10/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source)
java.base@21.0.10/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source)
java.base@21.0.10/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.base@21.0.10/java.util.concurrent.LinkedBlockingDeque.takeFirst(Unknown Source)
java.base@21.0.10/java.util.concurrent.LinkedBlockingDeque.take(Unknown Source)
java.base@21.0.10/sun.nio.fs.AbstractWatchService.take(Unknown Source)
app//org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:120)
app//org.openstreetmap.josm.io.FileWatcher$$Lambda/0x000000080043d2b8.run(Unknown Source)
java.base@21.0.10/java.lang.Thread.runWith(Unknown Source)
java.base@21.0.10/java.lang.Thread.run(Unknown Source)

Thread: Signal Dispatcher (11) of system

Thread: main-worker-0 (40) of main
java.base@21.0.10/jdk.internal.misc.Unsafe.park(Native Method)
java.base@21.0.10/java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.base@21.0.10/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source)
java.base@21.0.10/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source)
java.base@21.0.10/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source)
java.base@21.0.10/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.base@21.0.10/java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
java.base@21.0.10/java.util.concurrent.ThreadPoolExecutor.getTask(Unknown Source)
java.base@21.0.10/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
java.base@21.0.10/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
java.base@21.0.10/java.lang.Thread.runWith(Unknown Source)
java.base@21.0.10/java.lang.Thread.run(Unknown Source)

Thread: Reference Handler (9) of system
java.base@21.0.10/java.lang.ref.Reference.waitForReferencePendingList(Native Method)
java.base@21.0.10/java.lang.ref.Reference.processPendingReferences(Unknown Source)
java.base@21.0.10/java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

Thread: Notification Thread (18) of system

Thread: Common-Cleaner (19) of InnocuousThreadGroup
java.base@21.0.10/jdk.internal.misc.Unsafe.park(Native Method)
java.base@21.0.10/java.util.concurrent.locks.LockSupport.parkNanos(Unknown Source)
java.base@21.0.10/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.base@21.0.10/java.lang.ref.ReferenceQueue.poll(Unknown Source)
java.base@21.0.10/java.lang.ref.Reference$1.pollReferenceQueue(Unknown Source)
java.base@21.0.10/jdk.internal.ref.CleanerImpl.run(Unknown Source)
java.base@21.0.10/java.lang.Thread.runWith(Unknown Source)
java.base@21.0.10/java.lang.Thread.run(Unknown Source)
java.base@21.0.10/jdk.internal.misc.InnocuousThread.run(Unknown Source)

Thread: AWT-Shutdown (42) of system
java.base@21.0.10/java.lang.Object.wait0(Native Method)
java.base@21.0.10/java.lang.Object.wait(Unknown Source)
java.base@21.0.10/java.lang.Object.wait(Unknown Source)
java.desktop@21.0.10/sun.awt.AWTAutoShutdown.run(Unknown Source)
java.base@21.0.10/java.lang.Thread.runWith(Unknown Source)
java.base@21.0.10/java.lang.Thread.run(Unknown Source)

Thread: AWT-EventQueue-0 (41) of main
java.base@21.0.10/jdk.internal.misc.Unsafe.park(Native Method)
java.base@21.0.10/java.util.concurrent.locks.LockSupport.park(Unknown Source)
java.base@21.0.10/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(Unknown Source)
java.base@21.0.10/java.util.concurrent.ForkJoinPool.unmanagedBlock(Unknown Source)
java.base@21.0.10/java.util.concurrent.ForkJoinPool.managedBlock(Unknown Source)
java.base@21.0.10/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(Unknown Source)
java.desktop@21.0.10/java.awt.EventQueue.getNextEvent(Unknown Source)
java.desktop@21.0.10/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
java.desktop@21.0.10/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
java.desktop@21.0.10/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
java.desktop@21.0.10/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.desktop@21.0.10/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
java.desktop@21.0.10/java.awt.EventDispatchThread.run(Unknown Source)

Thread: Java2D Queue Flusher (29) of system
java.base@21.0.10/java.lang.Object.wait0(Native Method)
java.base@21.0.10/java.lang.Object.wait(Unknown Source)
java.desktop@21.0.10/sun.java2d.metal.MTLRenderQueue$QueueFlusher.run(Unknown Source)
java.base@21.0.10/java.lang.Thread.runWith(Unknown Source)
java.base@21.0.10/java.lang.Thread.run(Unknown Source)

Thread: Keep-Alive-Timer (45)
java.base@21.0.10/java.lang.Thread.sleep0(Native Method)
java.base@21.0.10/java.lang.Thread.sleep(Unknown Source)
java.base@21.0.10/sun.net.www.http.KeepAliveCache.run(Unknown Source)
java.base@21.0.10/java.lang.Thread.runWith(Unknown Source)
java.base@21.0.10/java.lang.Thread.run(Unknown Source)
java.base@21.0.10/jdk.internal.misc.InnocuousThread.run(Unknown Source)
}}}
"	defect	needinfo	normal		Core			template_report	
