Modify

Opened 4 months ago

Closed 4 months ago

Last modified 3 months ago

#23408 closed defect (fixed)

[Patch] Crash when closing JOSM or a large number of geoimagelayers

Reported by: GerdP Owned by: GerdP
Priority: normal Milestone: 24.01
Component: Core Version:
Keywords: template_report Cc:

Description

What steps will reproduce the problem?

Not sure if others can reproduce, but I can reproduce here.

  1. Load a session file with 271 layers, ~130 layers are geotagged images, ~135 are gpx tracks or waypoints. lowest layer is Bing, another is ESRI and JOSM shows this with the "scale follows native ... " marker.
  2. close JOSM

What is the expected result?

JOSM closes without any questions or crash

What happens instead?

JOSM shows the "Unsaved changes dialog" showing several image layers. I guess they contain references to images which no longer exist. I chose the "Exit now" button because I didn't change anything.
After maybe one second JOSM shows the crash report and the Bing layer is still active.

Please provide any additional information below. Attach a screenshot if possible.

When I try to load a different session after closing the crash report I see another crash report with a different stack trace, probably because JOSM is still trying to close? I attached this as well.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2024-01-03 16:22:55 +0100 (Wed, 03 Jan 2024)
Revision:18934
Build-Date:2024-01-04 02:31:00
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (18934 en) Windows 10 64-Bit
OS Build number: Windows 10 Home 2009 (19045)
Memory Usage: 1697 MB / 1972 MB (1036 MB allocated, but free)
Java version: 17.0.8+7-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: Cp1252
System property sun.jnu.encoding: Cp1252
Locale info: en_DE
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=1.5.18789, --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.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=%UserProfile%\AppData\Local\JOSM\HWConsole.exe]

Plugins:
+ OpeningHoursEditor (36196)
+ RoadSigns (36196)
+ apache-commons (36176)
+ buildings_tools (36200)
+ comfort0 (36200)
+ o5m (36126)
+ pbf (36176)
+ poly (36126)
+ reltoolbox (36200)
+ reverter (36196)
+ undelete (36126)
+ utilsplugin2 (36200)

Validator rules:
+ c:\josm\core\resources\data\validator\combinations.mapcss
+ c:\josm\core\resources\data\validator\geometry.mapcss
+ c:\josm\core\resources\data\validator\relation.mapcss
+ c:\josm\core\resources\data\validator\unnecessary.mapcss
+ d:\java_tools\JOSM\mygeometry.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Rules/GermanySpecific&zip=1

Last errors/warnings:
- 00031.786 E: Failed to locate image 'Flag, Blue'
- 00031.786 E: Failed to locate image 'Flag, Blue'
- 00031.787 E: Failed to locate image 'Flag, Blue'
- 00031.787 E: Failed to locate image 'Flag, Blue'
- 00031.788 E: Failed to locate image 'Flag, Blue'
- 00031.788 E: Failed to locate image 'Flag, Blue'
- 00031.789 E: Failed to locate image 'Flag, Blue'
- 00031.789 E: Failed to locate image 'Flag, Blue'
- 00031.790 E: Failed to locate image 'Flag, Blue'
- 01724.678 E: Handled by bug report queue: java.lang.StackOverflowError



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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (22) of main
java.lang.StackOverflowError
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.removeInternal(Unknown Source)
	at java.desktop/java.awt.AWTEventMulticaster.remove(Unknown Source)

Second crash report:

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2024-01-03 16:22:55 +0100 (Wed, 03 Jan 2024)
Revision:18934
Build-Date:2024-01-04 02:31:00
URL:https://josm.openstreetmap.de/svn/trunk

Identification: JOSM/1.5 (18934 en) Windows 10 64-Bit
OS Build number: Windows 10 Home 2009 (19045)
Memory Usage: 1094 MB / 1972 MB (506 MB allocated, but free)
Java version: 17.0.8+7-LTS, Azul Systems, Inc., OpenJDK 64-Bit Server VM
Look and Feel: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
Screen: \Display0 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→32×32, 32×32→32×32
System property file.encoding: Cp1252
System property sun.jnu.encoding: Cp1252
Locale info: en_DE
Numbers with default locale: 1234567890 -> 1234567890
VM arguments: [-Djpackage.app-version=1.5.18789, --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.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=%UserProfile%\AppData\Local\JOSM\HWConsole.exe]

Plugins:
+ OpeningHoursEditor (36196)
+ RoadSigns (36196)
+ apache-commons (36176)
+ buildings_tools (36200)
+ comfort0 (36200)
+ o5m (36126)
+ pbf (36176)
+ poly (36126)
+ reltoolbox (36200)
+ reverter (36196)
+ undelete (36126)
+ utilsplugin2 (36200)

Validator rules:
+ c:\josm\core\resources\data\validator\combinations.mapcss
+ c:\josm\core\resources\data\validator\geometry.mapcss
+ c:\josm\core\resources\data\validator\relation.mapcss
+ c:\josm\core\resources\data\validator\unnecessary.mapcss
+ d:\java_tools\JOSM\mygeometry.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Rules/GermanySpecific&zip=1

Last errors/warnings:
- 00043.127 E: Failed to locate image 'Flag, Blue'
- 00043.127 E: Failed to locate image 'Flag, Blue'
- 00043.128 E: Failed to locate image 'Flag, Blue'
- 00043.128 E: Failed to locate image 'Flag, Blue'
- 00043.129 E: Failed to locate image 'Flag, Blue'
- 00043.130 E: Failed to locate image 'Flag, Blue'
- 00043.130 E: Failed to locate image 'Flag, Blue'
- 00043.131 E: Failed to locate image 'Flag, Blue'
- 00209.914 E: Handled by bug report queue: java.lang.StackOverflowError
- 00338.840 E: Handled by bug report queue: java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@7062bf18[Not completed, task = java.util.concurrent.Executors$RunnableAdapter@1829c9db[Wrapped task = org.openstreetmap.josm.actions.OpenFileAction$OpenFileTask@6e6b325]] rejected from org.openstreetmap.josm.gui.progress.swing.ProgressMonitorExecutor@543d24e2[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 4]



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

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (22) of main
java.util.concurrent.RejectedExecutionException: Task java.util.concurrent.FutureTask@7062bf18[Not completed, task = java.util.concurrent.Executors$RunnableAdapter@1829c9db[Wrapped task = org.openstreetmap.josm.actions.OpenFileAction$OpenFileTask@6e6b325]] rejected from org.openstreetmap.josm.gui.progress.swing.ProgressMonitorExecutor@543d24e2[Terminated, pool size = 0, active threads = 0, queued tasks = 0, completed tasks = 4]
	at java.base/java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.reject(Unknown Source)
	at java.base/java.util.concurrent.ThreadPoolExecutor.execute(Unknown Source)
	at org.openstreetmap.josm.gui.progress.swing.ProgressMonitorExecutor.execute(ProgressMonitorExecutor.java:41)
	at java.base/java.util.concurrent.AbstractExecutorService.submit(Unknown Source)
	at org.openstreetmap.josm.gui.io.RecentlyOpenedFilesMenu$OpenRecentAction.actionPerformed(RecentlyOpenedFilesMenu.java:89)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(Unknown Source)
	at java.desktop/javax.swing.AbstractButton.doClick(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
	at java.desktop/javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
	at java.desktop/java.awt.Component.processMouseEvent(Unknown Source)
	at java.desktop/javax.swing.JComponent.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.Component.processEvent(Unknown Source)
	at java.desktop/java.awt.Container.processEvent(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.Container.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Window.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.Component.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$5.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Unknown Source)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)

Attachments (5)

before_close_1.JPG (12.1 KB ) - added by GerdP 4 months ago.
after_close_1.JPG (30.2 KB ) - added by GerdP 4 months ago.
after_close_2.JPG (342.6 KB ) - added by GerdP 4 months ago.
before_close_2.JPG (12.1 KB ) - added by GerdP 4 months ago.
23408.patch (1.7 KB ) - added by GerdP 4 months ago.
re-upload with fewer changes

Download all attachments as: .zip

Change History (22)

by GerdP, 4 months ago

Attachment: before_close_1.JPG added

by GerdP, 4 months ago

Attachment: after_close_1.JPG added

by GerdP, 4 months ago

Attachment: after_close_2.JPG added

by GerdP, 4 months ago

Attachment: before_close_2.JPG added

comment:1 by GerdP, 4 months ago

Some screen shots, maybe they help:




The last image should be scaled a bit, forgot how to to do that in Trac.

Last edited 4 months ago by taylor.smock (previous) (diff)

comment:2 by GerdP, 4 months ago

I can also reproduce the crash when debugging in Eclipse.
The crash happens in MainTermination when executing
MainApplication.getLayerManager().resetState()
Maybe I can find out on my own what's wrong...

comment:3 by GerdP, 4 months ago

Problem disappears when I increase the memory for the stack with from 1m to 2m, so it somehow depends on the number of layers, but I could not yet find a threshold. The crash also happens when I select all layers and click on the trashcan icon, so it's not related to the JOSM shutdown itself.

comment:4 by GerdP, 4 months ago

This patch suppresses the unexpected save changes dialog. I wonder why nobody else complained so far?

  • src/org/openstreetmap/josm/gui/io/SaveLayersDialog.java

    C:\josm\core>svn diff src
     
    122122                }
    123123                AbstractModifiableLayer odl = (AbstractModifiableLayer) l;
    124124                if (odl.isModified() &&
    125                         ((!odl.isSavable() && !odl.isUploadable()) ||
     125                        ((odl.isSavable() || odl.isUploadable()) ||
    126126                                odl.requiresSaveToFile() ||
    127127                                odl.requiresUploadToServer())) {
    128128                    layersWithUnsavedChanges.add(odl);

comment:5 by GerdP, 4 months ago

Reg. the crash:
It happens when
org.openstreetmap.josm.gui.NavigatableComponent.removePrimitiveHoverMouseListeners() is executed, esp. this statement
removeMouseMotionListener(primitiveHoverMouseListenerHelper);

in reply to:  4 comment:6 by taylor.smock, 4 months ago

Replying to GerdP:

This patch suppresses the unexpected save changes dialog. I wonder why nobody else complained so far?

How many people have >100 layers open?
But this might be reproducible on a slow HDD with fewer layers (second crash) -- it looks like it didn't finish saving before the worker thread was shutdown. No clue about the first one, since the stack trace starts with the looping method.

comment:7 by GerdP, 4 months ago

The patch is also useful when you have only a few layers. I think the old logic is plain wrong.

Reg. the stacktrace see comment:5 It seems that all geo image layers that were closed before are linked in these MulticasterEvent structures and the JRE code calls itself recursively to get to the next.

in reply to:  4 comment:8 by gaben, 4 months ago

Replying to GerdP:

This patch suppresses the unexpected save changes dialog. I wonder why nobody else complained so far?

ticket:22817#comment:4

comment:9 by GerdP, 4 months ago

What do you mean? I think the changes for that ticket didn't introduce the problem nor does my patch cause a regression.

comment:10 by gaben, 4 months ago

I'm tired today to look at code logic, but someone already raised eyebrows on these specific lines. I've just linked an explanation from the past.

comment:11 by GerdP, 4 months ago

OK, understood.
Reg. the crash: I think I've found something:
When I close all the image layers a lot of addMouseMotionListener() actions are triggered from GeoImageLayer.mapModeListener
This is probably not intended?
This code in GeoImageLayer never seems to remove listeners. No idea how it should look like.

        mapModeListener = (oldMapMode, newMapMode) -> {
            MapView mapView = MainApplication.getMap().mapView;
            if (newMapMode == null || isSupportedMapMode(newMapMode)) {
                mapView.addMouseListener(mouseAdapter);
                mapView.addMouseMotionListener(mouseMotionAdapter);
            } else {
                mapView.removeMouseListener(mouseAdapter);
                mapView.removeMouseMotionListener(mouseMotionAdapter);
            }
        };
Last edited 4 months ago by GerdP (previous) (diff)

comment:12 by GerdP, 4 months ago

Summary: Crash when closing JOSM[Patch] Crash when closing JOSM or a large number of geoimagelayers

comment:13 by GerdP, 4 months ago

The patch adresses two issues:

  • the wrong display of the Save Changes dialog when nothing can be saved or uploaded
  • the crash which happens when there is no data layer but lots of GeoImageLayer instances

The crash happens because MapFrame fires a MapModeChanged each time when a GeoImageLayer is closed and all remaining GeoImageLayer instances react on that by adding new MouseListeners. If that happens too often it is possible that the same MouseListener is added more than 100 times and at some point the recursive code that adds a new Listener runs into a stackoverflow.
The same problem will probably happen if you have just two GeoImageLayer layers and repeat to open and close data layer.

Open question for me:
Is it intended that MapFrame behaves like that? Why does it fire MapModeChanged when the mode didn't change? There is also a debug log message
Switching map mode from (none) to (none)
which looks dubious.

by GerdP, 4 months ago

Attachment: 23408.patch added

re-upload with fewer changes

comment:14 by GerdP, 4 months ago

Milestone: 24.01
Owner: changed from team to GerdP
Status: newassigned

comment:15 by GerdP, 4 months ago

Resolution: fixed
Status: assignedclosed

In 18941/josm:

fix #23408

  • fix crash when lots of GeoImageLayer layers are closed without and no data layer is open
  • don't show save layers dialog when no save or upload action is available.

comment:16 by stoecker, 3 months ago

In 18994/josm:

fix #23506, see #23408 - fix the save/upload layer preconditions - neither the original, nor the #23408 variant makes real sense

comment:17 by stoecker, 3 months ago

In 18996/josm:

see #23506, see #23408 - readd the bracket lost in last checkin

Modify Ticket

Change Properties
Set your email in Preferences
Action
as closed The owner will remain GerdP.
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.