Modify

Opened 5 years ago

Closed 5 years ago

Last modified 5 years ago

#18754 closed defect (fixed)

MapWithAI Freezes on specific object add

Reported by: taylor.smock Owned by: team
Priority: major Milestone: 20.02
Component: Core Version:
Keywords: regression Cc: simon04

Description

I've filed the issue at https://gitlab.com/gokaart/JOSM_MapWithAI/issues/61 as well.

The bug first occurs in r15908. Prior JOSM versions are not affected.

I haven't had time to dig into it yet, and I probably won't until Monday, at the earliest.

Relevant stack traces:

"AWT-EventQueue-0" #16 prio=6 os_prio=0 tid=0x00007fce307c8800 nid=0x73be in Object.wait() [0x00007fcde24f9000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(Native Method)
	at java.util.concurrent.ForkJoinTask.externalAwaitDone(ForkJoinTask.java:334)
	- locked <0x00000007993bcc70> (a java.util.stream.ForEachOps$ForEachTask)
	at java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:405)
	at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:734)
	at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:159)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateParallel(ForEachOps.java:173)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.setupTaginfoNationalActions(PropertiesDialog.java:379)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.selectionChanged(PropertiesDialog.java:723)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.updateSelection(PropertiesDialog.java:570)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.activeOrEditLayerChanged(PropertiesDialog.java:767)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.fireActiveLayerChange(MainLayerManager.java:271)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.setActiveLayer(MainLayerManager.java:264)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.realSetActiveLayer(MainLayerManager.java:248)
	- locked <0x00000006c6fbd058> (a org.openstreetmap.josm.gui.layer.MainLayerManager)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.lambda$setActiveLayer$1(MainLayerManager.java:241)
	at org.openstreetmap.josm.gui.layer.MainLayerManager$$Lambda$583/540897024.run(Unknown Source)
	at org.openstreetmap.josm.gui.util.GuiHelper.runInEDTAndWaitWithException(GuiHelper.java:239)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.setActiveLayer(MainLayerManager.java:241)
	at org.openstreetmap.josm.plugins.mapwithai.backend.MapWithAIMoveAction.actionPerformed(MapWithAIMoveAction.java:83)
	at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1668)
	at javax.swing.JComponent.processKeyBinding(JComponent.java:2882)
	at javax.swing.KeyboardManager.fireBinding(KeyboardManager.java:307)
	at javax.swing.KeyboardManager.fireKeyboardAction(KeyboardManager.java:263)
	at javax.swing.JComponent.processKeyBindingsForAllComponents(JComponent.java:2974)
	at javax.swing.JComponent.processKeyBindings(JComponent.java:2966)
	at javax.swing.JComponent.processKeyEvent(JComponent.java:2845)
	at java.awt.Component.processEvent(Component.java:6316)
	at java.awt.Container.processEvent(Container.java:2239)
	at java.awt.Component.dispatchEventImpl(Component.java:4889)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1954)
	at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:834)
	at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:1102)
	at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:973)
	at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:799)
	at java.awt.Component.dispatchEventImpl(Component.java:4760)
	at java.awt.Container.dispatchEventImpl(Container.java:2297)
	at java.awt.Window.dispatchEventImpl(Window.java:2746)
	at java.awt.Component.dispatchEvent(Component.java:4711)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:760)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:84)
	at java.awt.EventQueue$4.run(EventQueue.java:733)
	at java.awt.EventQueue$4.run(EventQueue.java:731)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:730)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

"org.openstreetmap.josm.plugins.mapwithai.commands.MapWithAIAddCommand" #127 prio=6 os_prio=0 tid=0x00007fcdcc22b800 nid=0x748b waiting for monitor entry [0x00007fcd953f6000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.openstreetmap.josm.gui.layer.MainLayerManager.getActiveDataSet(MainLayerManager.java:424)
	- waiting to lock <0x00000006c6fbd058> (a org.openstreetmap.josm.gui.layer.MainLayerManager)
	at org.openstreetmap.josm.gui.dialogs.ValidatorDialog$LookupAction.updateEnabledState(ValidatorDialog.java:240)
	at org.openstreetmap.josm.gui.dialogs.ValidatorDialog.selectionChanged(ValidatorDialog.java:606)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager$DataListenerInfo.fire(SelectionEventManager.java:57)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager.fireEvent(SelectionEventManager.java:159)
	at org.openstreetmap.josm.data.osm.event.SelectionEventManager.selectionChanged(SelectionEventManager.java:148)
	at org.openstreetmap.josm.data.osm.DataSet.lambda$doSelectionChange$8(DataSet.java:743)
	at org.openstreetmap.josm.data.osm.DataSet$$Lambda$827/1626637570.fire(Unknown Source)
	at org.openstreetmap.josm.tools.ListenerList.fireEvent(ListenerList.java:156)
	at org.openstreetmap.josm.data.osm.DataSet.doSelectionChange(DataSet.java:743)
	- locked <0x00000006cdd153e0> (a java.lang.Object)
	at org.openstreetmap.josm.data.osm.DataSet.setSelected(DataSet.java:674)
	at org.openstreetmap.josm.data.osm.DataSet.setSelected(DataSet.java:665)
	at org.openstreetmap.josm.command.AddPrimitivesCommand.executeCommand(AddPrimitivesCommand.java:115)
	at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:79)
	at org.openstreetmap.josm.plugins.mapwithai.commands.MovePrimitiveDataSetCommand.executeCommand(MovePrimitiveDataSetCommand.java:59)
	at org.openstreetmap.josm.command.SequenceCommand.executeCommand(SequenceCommand.java:79)
	at org.openstreetmap.josm.plugins.mapwithai.commands.MapWithAIAddCommand.run(MapWithAIAddCommand.java:107)
	- locked <0x0000000799296048> (a org.openstreetmap.josm.plugins.mapwithai.commands.MapWithAIAddCommand)
	at org.openstreetmap.josm.plugins.mapwithai.commands.MapWithAIAddCommand$$Lambda$868/1507354192.run(Unknown Source)
	at java.lang.Thread.run(Thread.java:748)

"ForkJoinPool.commonPool-worker-3" #110 daemon prio=6 os_prio=0 tid=0x00007fcd9800d800 nid=0x7475 waiting for monitor entry [0x00007fcd9345a000]
   java.lang.Thread.State: BLOCKED (on object monitor)
	at org.openstreetmap.josm.gui.layer.LayerManager.addLayerChangeListener(LayerManager.java:404)
	- waiting to lock <0x00000006c6fbd058> (a org.openstreetmap.josm.gui.layer.MainLayerManager)
	at org.openstreetmap.josm.actions.JosmAction.installAdapters(JosmAction.java:223)
	at org.openstreetmap.josm.actions.JosmAction.<init>(JosmAction.java:107)
	at org.openstreetmap.josm.actions.JosmAction.<init>(JosmAction.java:130)
	at org.openstreetmap.josm.actions.JosmAction.<init>(JosmAction.java:170)
	at org.openstreetmap.josm.gui.dialogs.properties.TaginfoAction.<init>(TaginfoAction.java:62)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog.lambda$setupTaginfoNationalActions$5(PropertiesDialog.java:378)
	at org.openstreetmap.josm.gui.dialogs.properties.PropertiesDialog$$Lambda$836/543598120.apply(Unknown Source)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:948)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
	at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
	at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:485)
	at java.util.stream.ReferencePipeline$7$1.accept(ReferencePipeline.java:272)
	at java.util.stream.StreamSpliterators$DistinctSpliterator.lambda$forEachRemaining$0(StreamSpliterators.java:1293)
	at java.util.stream.StreamSpliterators$DistinctSpliterator$$Lambda$729/1929541519.accept(Unknown Source)
	at java.util.stream.StreamSpliterators$WrappingSpliterator$$Lambda$747/158331091.accept(Unknown Source)
	at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193)
	at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:175)
	at java.util.HashMap$EntrySpliterator.forEachRemaining(HashMap.java:1699)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:472)
	at java.util.stream.StreamSpliterators$WrappingSpliterator.forEachRemaining(StreamSpliterators.java:313)
	at java.util.stream.StreamSpliterators$DistinctSpliterator.forEachRemaining(StreamSpliterators.java:1291)
	at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482)
	at java.util.stream.ForEachOps$ForEachTask.compute(ForEachOps.java:290)
	at java.util.concurrent.CountedCompleter.exec(CountedCompleter.java:731)
	at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
	at java.util.concurrent.ForkJoinPool$WorkQueue.execLocalTasks(ForkJoinPool.java:1040)
	at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1058)
	at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692)
	at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157)

Attachments (0)

Change History (4)

comment:1 by simon04, 5 years ago

Resolution: fixed
Status: newclosed

In 15913/josm:

fix #18754, see #18729 - TaginfoRegionalInstance: fix deadlock

comment:2 by simon04, 5 years ago

Milestone: 20.02
Priority: normalmajor

Thanks for reporting! Can you please verify the fix from r15913?

comment:3 by taylor.smock, 5 years ago

It looks like it. I'll do some mapping to verify, but where I was able to easily reproduce, I cannot anymore.

Thanks.

comment:4 by Don-vip, 5 years ago

Keywords: regression added

Modify Ticket

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