﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
22802	IllegalStateException when deleting Conflation layer	AntiCompositeNumber	Tyndare	"==== What steps will reproduce the problem?
1. Conflate MapWithAI address nodes with OSM ways
2. Perform some conflations
3. Press the Delete button on the Conflation layer in the Layers window

==== What is the expected result?
The Conflation layer is deleted.

==== What happens instead?
java.lang.IllegalStateException: The layer has already been destroyed: ConflationLayer [name=Conflation, associatedFile=null]

The layer disappears after closing the bug report window.
==== Please provide any additional information below. Attach a screenshot if possible.

{{{
Revision:18679
Is-Local-Build:true
Build-Date:1969-12-15 19:58:32

Identification: JOSM/1.5 (18679 SVN en) Linux Arch Linux
Memory Usage: 3000 MB / 3912 MB (1867 MB allocated, but free)
Java version: 19.0.2+7, N/A, OpenJDK 64-Bit Server VM
Look and Feel: com.formdev.flatlaf.FlatDarkLaf
Screen: :0.0 1920×1080 (scaling 1.00×1.00) :0.1 1920×1080 (scaling 1.00×1.00)
Maximum Screen Size: 1920×1080
Best cursor sizes: 16×16→16×16, 32×32→32×32
Environment variable LANG: en_US.UTF-8
System property file.encoding: UTF-8
System property sun.jnu.encoding: UTF-8
Locale info: en_US
Numbers with default locale: 1234567890 -> 1234567890
Desktop environment: i3
VM arguments: [-Djosm.restart=true, -Djava.net.useSystemProxies=true, -Dawt.useSystemAAFontSettings=gasp]
Dataset consistency test: No problems found

Plugins:
+ AddrInterpolation (36011)
+ Create_grid_of_ways (35976)
+ FastDraw (36057)
+ FixAddresses (36011)
+ HouseNumberTaggingTool (35951)
+ ImportImagePlugin (36013)
+ MakeParallel (v1.1.0)
+ Mapillary (2.1.1)
+ OpeningHoursEditor (35924)
+ QuickLabel (23)
+ RoadSigns (36038)
+ SeaChart (35840)
+ ShapeTools (1250)
+ alignways (36011)
+ apache-commons (36034)
+ apache-http (35924)
+ auto_tools (81)
+ buildings_tools (36011)
+ changeset-viewer (0.0.6)
+ conflation (0.6.9)
+ continuosDownload (105)
+ contourmerge (v0.1.9)
+ easypresets (1623509627)
+ editgpx (36054)
+ ejml (35924)
+ flatlaf (36036)
+ geotools (36028)
+ http2 (35921)
+ intersection (0.0.7)
+ jackson (36034)
+ jaxb (35952)
+ jna (36005)
+ jogl (1.2.3)
+ jts (36004)
+ livegps (35978)
+ log4j (36034)
+ mapwithai (789)
+ measurement (35978)
+ opendata (36025)
+ openqa (v0.3.3)
+ photo_geotagging (35933)
+ photoadjust (36011)
+ pt_assistant (1ff2e15)
+ public_transport (36011)
+ reverter (36043)
+ shrinkwrap (v1.0.4)
+ tageditor (36011)
+ todo (123)
+ touchscreenhelper (35893)
+ turnlanes-tagging (v0.0.5)
+ turnrestrictions (36011)
+ undelete (36011)
+ utilsplugin2 (36011)
+ wikipedia (605)

Tagging presets:
+ https://josm.openstreetmap.de/josmfile?page=Presets/ParkingLanes&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Quick-stops&zip=1
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/US.zip
+ https://josm.openstreetmap.de/josmfile?page=Presets/Quick-highways&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Playground_Equipment&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Presets/Telecom&zip=1
+ <josm.userdata>/EasyPresets.xml
+ https://github.com/kendzi/Simple3dBuildingsPreset/releases/download/0.9_2018-05-08/s3db-preset.zip
+ https://raw.githubusercontent.com/osmlab/name-suggestion-index/main/dist/presets/nsi-josm-presets.min.xml

Map paint styles:
- https://josm.openstreetmap.de/josmfile?page=Styles/Lane_features&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1
- https://raw.githubusercontent.com/species/josm-preset-traffic_sign_direction/master/direction.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Styles/ParkingLanes&zip=1
+ https://raw.githubusercontent.com/yopaseopor/traffic_signs_style_JOSM/master/Styles_Traffic_signs_AME.zip
+ https://josm.openstreetmap.de/josmfile?page=Styles/Sidewalks&zip=1
- https://raw.githubusercontent.com/yopaseopor/indoormap/master/indoormap-style.mapcss
+ https://josm.openstreetmap.de/josmfile?page=Styles/Building_Levels_Labels&zip=1
- https://raw.githubusercontent.com/OpenSidewalks/OpenSidewalks-Schema/master/open_sidewalks.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/SimpleBuildingTags&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/SimpleRoofTags&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/TreeCrownDiameter&zip=1
- https://raw.githubusercontent.com/species/josm-preset-wheelchair/master/sidewalks_kerbs.mapcss
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransport&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/AddressValidator&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/PublicTransportV2&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/TigerReviewedNo&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/FixmeAndNote&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/Lit&zip=1
- https://josm.openstreetmap.de/josmfile?page=Styles/MapillaryDetections&zip=1
+ https://josm.openstreetmap.de/josmfile?page=Styles/MapWithAI&zip=1

Last errors/warnings:
- 05424.517 W: java.io.IOException: HTTP/1.1 header parser received no bytes. Cause: java.io.IOException: HTTP/1.1 header parser received no bytes. Cause: java.net.SocketException: Connection reset
- 05428.058 W: java.io.IOException: HTTP/1.1 header parser received no bytes. Cause: java.io.IOException: HTTP/1.1 header parser received no bytes. Cause: java.net.SocketException: Connection reset
- 05428.059 W: Already here java.net.SocketException: Connection reset
- 05428.227 W: java.io.IOException: HTTP/1.1 header parser received no bytes. Cause: java.io.IOException: HTTP/1.1 header parser received no bytes. Cause: java.net.SocketException: Connection reset
- 05428.227 W: Already here java.net.SocketException: Connection reset
- 05437.992 W: java.io.IOException: HTTP/1.1 header parser received no bytes. Cause: java.io.IOException: HTTP/1.1 header parser received no bytes. Cause: java.net.SocketException: Connection reset
- 05964.509 W: java.io.IOException: HTTP/1.1 header parser received no bytes. Cause: java.io.IOException: HTTP/1.1 header parser received no bytes. Cause: java.net.SocketException: Connection reset
- 06507.064 W: restricted header name: ""Connection""
- 06507.750 W: restricted header name: ""Connection""
- 06647.745 E: Handled by bug report queue: java.lang.IllegalStateException: The layer has already been destroyed: ConflationLayer [name=Conflation, associatedFile=null]



=== REPORTED CRASH DATA ===
LayerManager#fireLayerRemoving:
 - listener: org.openstreetmap.josm.gui.MapView[,0,0,1330x952,alignmentX=0.0,alignmentY=0.0,border=,flags=0,maximumSize=,minimumSize=java.awt.Dimension[width=10,height=0],preferredSize=]
 - event: LayerRemoveEvent [removedLayer=ConflationLayer [name=Conflation, associatedFile=null], lastLayer=false]
 - layer: ConflationLayer [name=Conflation, associatedFile=null]

BugReportExceptionHandler#handleException:
No data collected.

Warning issued by: BugReportExceptionHandler#handleException

=== STACK TRACE ===
Thread: AWT-EventQueue-0 (37) of main
java.lang.IllegalStateException: The layer has already been destroyed: ConflationLayer [name=Conflation, associatedFile=null]
	at org.openstreetmap.josm.gui.layer.Layer.destroy(Layer.java:288)
	at org.openstreetmap.josm.gui.MapView.layerRemoving(MapView.java:403)
	at org.openstreetmap.josm.gui.layer.LayerManager.fireLayerRemoving(LayerManager.java:476)
	at org.openstreetmap.josm.gui.layer.LayerManager.realRemoveSingleLayer(LayerManager.java:278)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realRemoveSingleLayer(MainLayerManager.java:330)
	at org.openstreetmap.josm.gui.layer.LayerManager.realRemoveLayer(LayerManager.java:266)
	at org.openstreetmap.josm.gui.layer.LayerManager.lambda$removeLayer$1(LayerManager.java:248)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:247)
	at org.openstreetmap.josm.gui.layer.LayerManager.removeLayer(LayerManager.java:248)
	at org.openstreetmap.josm.gui.dialogs.layer.DeleteLayerAction.actionPerformed(DeleteLayerAction.java:52)
	at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1972)
	at java.desktop/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2313)
	at java.desktop/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop/javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:279)
	at java.desktop/java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:297)
	at java.desktop/java.awt.Component.processMouseEvent(Component.java:6620)
	at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3398)
	at java.desktop/java.awt.Component.processEvent(Component.java:6385)
	at java.desktop/java.awt.Container.processEvent(Container.java:2266)
	at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:4995)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2324)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827)
	at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4948)
	at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4575)
	at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4516)
	at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2310)
	at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
	at java.desktop/java.awt.Component.dispatchEvent(Component.java:4827)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:720)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:714)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:97)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:747)
	at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:744)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
}}}
"	defect	closed	normal		Plugin conflation		duplicate	template_report	
