Modify

Opened 3 years ago

Closed 3 years ago

#22175 closed defect (invalid)

Deadlock when adding vector layer (race)

Reported by: taylor.smock Owned by: taylor.smock
Priority: normal Milestone:
Component: Core Version:
Keywords: Cc:

Description

"AWT-EventQueue-0" prio=0 tid=0x0 nid=0x0 blocked
     java.lang.Thread.State: BLOCKED
 on org.openstreetmap.josm.data.Preferences@330f394a owned by "main-worker-0" Id=20
	at app//org.openstreetmap.josm.spi.preferences.AbstractPreferences.get(AbstractPreferences.java:22)
	at app//org.openstreetmap.josm.data.preferences.AbstractToStringProperty.getAsString(AbstractToStringProperty.java:126)
	at app//org.openstreetmap.josm.data.preferences.AbstractToStringProperty.get(AbstractToStringProperty.java:86)
	at app//org.openstreetmap.josm.data.preferences.IntegerProperty.get(IntegerProperty.java:25)
	at app//org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.getBestZoom(AbstractTileSourceLayer.java:383)
	at app//org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.initTileSource(AbstractTileSourceLayer.java:283)
	at app//org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.initializeIfRequired(AbstractTileSourceLayer.java:581)
	at app//org.openstreetmap.josm.gui.layer.AbstractTileSourceLayer.attachToMapView(AbstractTileSourceLayer.java:557)
	at app//org.openstreetmap.josm.gui.MapView.layerAdded(MapView.java:343)
	at app//org.openstreetmap.josm.gui.layer.LayerManager.fireLayerAdded(LayerManager.java:459)
	at app//org.openstreetmap.josm.gui.layer.LayerManager.realAddLayer(LayerManager.java:234)
	at app//org.openstreetmap.josm.gui.layer.MainLayerManager.realAddLayer(MainLayerManager.java:284)
	at app//org.openstreetmap.josm.gui.layer.LayerManager.lambda$addLayer$0(LayerManager.java:218)
	at app//org.openstreetmap.josm.gui.layer.LayerManager$$Lambda$1041/0x000000080077c440.run(Unknown Source)
	at app//org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:246)
	at app//org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:218)
	at app//org.openstreetmap.josm.gui.layer.LayerManager.addLayer(LayerManager.java:207)
	at app//org.openstreetmap.josm.actions.AddImageryLayerAction.actionPerformed(AddImageryLayerAction.java:168)
	at java.desktop@11.0.15/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
	at java.desktop@11.0.15/javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2308)
	at java.desktop@11.0.15/javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:405)
	at java.desktop@11.0.15/javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:262)
	at java.desktop@11.0.15/javax.swing.AbstractButton.doClick(AbstractButton.java:369)
	at java.desktop@11.0.15/com.apple.laf.ScreenMenuItem.actionPerformed(ScreenMenuItem.java:129)
	at java.desktop@11.0.15/java.awt.MenuItem.processActionEvent(MenuItem.java:690)
	at java.desktop@11.0.15/java.awt.MenuItem.processEvent(MenuItem.java:649)
	at java.desktop@11.0.15/java.awt.MenuComponent.dispatchEventImpl(MenuComponent.java:375)
	at java.desktop@11.0.15/java.awt.MenuComponent.dispatchEvent(MenuComponent.java:363)
	at java.desktop@11.0.15/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:775)
	at java.desktop@11.0.15/java.awt.EventQueue$4.run(EventQueue.java:721)
	at java.desktop@11.0.15/java.awt.EventQueue$4.run(EventQueue.java:715)
	at java.base@11.0.15/java.security.AccessController.doPrivileged(Native Method)
	at java.base@11.0.15/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.base@11.0.15/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
	at java.desktop@11.0.15/java.awt.EventQueue$5.run(EventQueue.java:745)
	at java.desktop@11.0.15/java.awt.EventQueue$5.run(EventQueue.java:743)
	at java.base@11.0.15/java.security.AccessController.doPrivileged(Native Method)
	at java.base@11.0.15/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
	at java.desktop@11.0.15/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
	at java.desktop@11.0.15/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop@11.0.15/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop@11.0.15/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop@11.0.15/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop@11.0.15/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop@11.0.15/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

"main-worker-0" prio=0 tid=0x0 nid=0x0 blocked
     java.lang.Thread.State: BLOCKED
 on org.openstreetmap.josm.gui.layer.MainLayerManager@5549d11b owned by "AWT-EventQueue-0" Id=21
	at app//org.openstreetmap.josm.gui.layer.MainLayerManager.getActiveData(MainLayerManager.java:410)
	at app//org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.preferenceChanged(PropertiesDialog.java:775)
	at app//org.openstreetmap.josm.data.Preferences.lambda$firePreferenceChanged$2(Preferences.java:306)
	at app//org.openstreetmap.josm.data.Preferences$$Lambda$62/0x000000080014dc40.fire(Unknown Source)
	at app//org.openstreetmap.josm.tools.ListenerList.fireEvent(ListenerList.java:155)
	at app//org.openstreetmap.josm.data.Preferences.firePreferenceChanged(Preferences.java:306)
	at app//org.openstreetmap.josm.data.Preferences.putSetting(Preferences.java:720)
	at app//org.openstreetmap.josm.spi.preferences.AbstractPreferences.putList(AbstractPreferences.java:107)
	at app//org.openstreetmap.josm.io.CachedFile.checkLocal(CachedFile.java:513)
	at app//org.openstreetmap.josm.io.CachedFile.getFile(CachedFile.java:284)
	at app//org.openstreetmap.josm.io.CachedFile.getInputStream(CachedFile.java:227)
	at app//org.openstreetmap.josm.io.CachedFile.getContentReader(CachedFile.java:258)
	at app//org.openstreetmap.josm.data.imagery.vectortile.mapbox.style.MapboxVectorStyle.parseSprites(MapboxVectorStyle.java:184)
	at app//org.openstreetmap.josm.data.imagery.vectortile.mapbox.style.MapboxVectorStyle.fetchSprites(MapboxVectorStyle.java:161)
	at app//org.openstreetmap.josm.data.imagery.vectortile.mapbox.style.MapboxVectorStyle$$Lambda$1995/0x00000008009c8840.run(Unknown Source)
	at java.base@11.0.15/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
	at java.base@11.0.15/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
	at java.base@11.0.15/java.lang.Thread.run(Thread.java:829)

Attachments (0)

Change History (1)

comment:1 by taylor.smock, 3 years ago

Resolution: invalid
Status: assignedclosed

Comments:

  • The AbstractPreferences seems to be over synchronized
  • This particular issue may have been fixed by r18292 (I encountered it using ./gradlew runJosm with mapillary, which used r18291.

Modify Ticket

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