Modify ↓
#17311 closed defect (fixed)
IllegalStateException: "Recursive update" while opening GPX file
| Reported by: | Andre68 | Owned by: | simon04 |
|---|---|---|---|
| Priority: | normal | Milestone: | 19.02 |
| Component: | Core | Version: | latest |
| Keywords: | template_report regression gpx waypoint | Cc: |
Description
What steps will reproduce the problem?
- starting JOSM with GPX-File
What is the expected result?
JOSM starts with the GPX file (see attachment) and shows waypoints
What happens instead?
JOSM continues to throw exceptions
Please provide any additional information below. Attach a screenshot if possible.
Revision:14776 Is-Local-Build:true Build-Date:2019-02-09 23:24:10 Identification: JOSM/1.5 (14776 SVN de) Linux Antergos Linux Memory Usage: 410 MB / 3072 MB (173 MB allocated, but free) Java version: 11.0.2+7, Oracle Corporation, OpenJDK 64-Bit Server VM Screen: :0.0 1920x1080 Maximum Screen Size: 1920x1080 Program arguments: [waypoints-2019-01-21-15-15.gpx] Plugins: + FixAddresses (34867) + ImproveWay (24) + OpeningHoursEditor (34867) + RoadSigns (34867) + SimplifyArea (34867) + alignways (34867) + apache-commons (34506) + apache-http (34632) + download_along (34869) + editgpx (34867) + imagery_offset_db (34867) + jna (34867) + lakewalker (34867) + log4j (34527) + measurement (34867) + merge-overlap (34664) + osmarender (34678) + pbf (34867) + photo_geotagging (34867) + public_transport (34867) + reverter (34867) + routing (34678) + tageditor (34867) + turnlanes (34678) + turnlanes-tagging (280) + turnrestrictions (34867) + undelete (34883) + utilsplugin2 (34867) + waydownloader (34867) Tagging presets: + https://raw.githubusercontent.com/yopaseopor/traffic_signs_preset_JOSM/master/DE.zip Map paint styles: - https://josm.openstreetmap.de/josmfile?page=Styles/Enhanced_Lane_and_Road_Attributes&zip=1 Last errors/warnings: - W: Not a single layer for the name 'Bing Sat': [] - W: Not a single layer for the name 'Bing Sat': [] - W: Not a single layer for the name 'Bing Sat': [] - W: javax.imageio.IIOException: Caught exception during read:. Ursache: java.lang.ArrayIndexOutOfBoundsException: Index 1 out of bounds for length 1 - E: Fehler beim Laden des Bildes 'traffic_signs_presets/tunnel.png' - W: Tunnel: Could not get presets icon traffic_signs_presets/tunnel.png - W: No configuration settings found. Using hardcoded default values for all pools. - E: Fehler beim Laden des Bildes 'Flag, Blue' - E: Handled by bug report queue: java.lang.IllegalStateException: Recursive update - E: Handled by bug report queue: java.lang.IllegalStateException: Recursive update === REPORTED CRASH DATA === MapView#paintLayer: - layer: MarkerLayer [name=Wegpunkte von waypoints-2019-01-21-15-15.gpx, associatedFile=waypoints-2019-01-21-15-15.gpx] Warning issued by: MapView#paintLayer === STACK TRACE === Thread: AWT-EventQueue-0 (18) of main java.lang.IllegalStateException: Recursive update at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1760) at org.openstreetmap.josm.gui.layer.markerlayer.Marker$TemplateEntryProperty.forMarker(Marker.java:88) at org.openstreetmap.josm.gui.layer.markerlayer.Marker$TemplateEntryProperty.lambda$forMarker$0(Marker.java:86) at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1705) at org.openstreetmap.josm.gui.layer.markerlayer.Marker$TemplateEntryProperty.forMarker(Marker.java:86) at org.openstreetmap.josm.gui.layer.markerlayer.Marker.getTextTemplate(Marker.java:366) at org.openstreetmap.josm.gui.layer.markerlayer.Marker.getText(Marker.java:377) at org.openstreetmap.josm.gui.layer.markerlayer.Marker.paint(Marker.java:339) at org.openstreetmap.josm.gui.layer.markerlayer.MarkerLayer.paint(MarkerLayer.java:201) at org.openstreetmap.josm.gui.layer.AbstractMapViewPaintable$CompatibilityModeLayerPainter.paint(AbstractMapViewPaintable.java:27) at org.openstreetmap.josm.gui.MapView.paintLayer(MapView.java:469) at org.openstreetmap.josm.gui.MapView.drawMapContent(MapView.java:584) at org.openstreetmap.josm.gui.MapView.paint(MapView.java:491) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) at java.desktop/javax.swing.JSplitPane.paintChildren(JSplitPane.java:1024) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083) at java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083) at java.desktop/javax.swing.JComponent.paintToOffscreen(JComponent.java:5255) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBufferedImpl(RepaintManager.java:1643) at java.desktop/javax.swing.RepaintManager$PaintManager.paintDoubleBuffered(RepaintManager.java:1618) at java.desktop/javax.swing.RepaintManager$PaintManager.paint(RepaintManager.java:1556) at java.desktop/javax.swing.RepaintManager.paint(RepaintManager.java:1323) at java.desktop/javax.swing.JComponent._paintImmediately(JComponent.java:5203) at java.desktop/javax.swing.JComponent.paintImmediately(JComponent.java:5013) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:865) at java.desktop/javax.swing.RepaintManager$4.run(RepaintManager.java:848) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:848) at java.desktop/javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:823) at java.desktop/javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:772) at java.desktop/javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1890) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) 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.pumpEventsForFilter(EventDispatchThread.java:117) at java.desktop/java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235) at java.desktop/java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.desktop/java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233) at java.desktop/java.awt.Dialog.show(Dialog.java:1070) at java.desktop/java.awt.Component.show(Component.java:1716) at java.desktop/java.awt.Component.setVisible(Component.java:1663) at java.desktop/java.awt.Window.setVisible(Window.java:1031) at java.desktop/java.awt.Dialog.setVisible(Dialog.java:1005) at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doBeginTask$3(PleaseWaitProgressMonitor.java:255) at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doInEDT$0(PleaseWaitProgressMonitor.java:113) at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:313) at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:770) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721) at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85) at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:740) 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)
Attachments (1)
Change History (11)
by , 7 years ago
| Attachment: | waypoints-2019-01-21-15-15.gpx added |
|---|
comment:1 by , 7 years ago
| Summary: | Exception while starting JOSM with GPX file → IllegalStateException: "Recursive update" while opening GPX file |
|---|
comment:2 by , 7 years ago
comment:3 by , 7 years ago
| Keywords: | regression added |
|---|---|
| Milestone: | → 19.02 |
| Owner: | changed from to |
comment:4 by , 7 years ago
| Keywords: | gpx waypoint added |
|---|
comment:5 by , 7 years ago
@Simon we need to fix this issue to release 19.02. ConcurrentHashMap.computeIfAbsent forbids recursive calls.
comment:8 by , 7 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
comment:9 by , 7 years ago
@Simon I don't see how to fix it so I have reverted your changes in order to release 19.02.
Note:
See TracTickets
for help on using tickets.



Ticket #17318 has been marked as a duplicate of this ticket.