Modify

Opened 8 weeks ago

Closed 8 weeks ago

Last modified 8 weeks ago

#23930 closed defect (fixed)

Merging duplicated layers with little differences stalls JOSM

Reported by: skyper Owned by: team
Priority: normal Milestone: 24.09
Component: Core Version: latest
Keywords: template_report conflict merge Cc:

Description (last modified by skyper)

I am playing with conflicts therefore:

What steps will reproduce the problem?

  1. Download some data
  2. Duplicate the layer
  3. In the first layer (new_way.osm), add a tag to an existing node plus add a new way (two nodes) starting with the existing node
  4. In the duplicated layer (node_deleted.osm), delete the existing node
  5. Activate new_way.osm and merge it with node_deleted.osm, see JOSM_conflict_bug.joz

What is the expected result?

Merging within seconds and a conflict should be created

What happens instead?

Merging takes for ever

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

I waited quite some time (~20min) but merging stalled and the progress bar did not show any progress. So I killed the app, see thread dump below.
Note: Curiously, if I change the order and activate node_deleted.osm and then merge the layers, I get the expected result within seconds.

Relative:URL: ^/trunk
Repository:UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last:Changed Date: 2024-09-18 22:24:36 +0200 (Wed, 18 Sep 2024)
Revision:19225
Build-Date:2024-09-19 01:30:30
URL:https://josm.openstreetmap.de/svn/trunk

Last errors/warnings:
- 10685.013 E: Thread main-worker-0 raised java.lang.IllegalStateException: Already registered a conflict for primitive '{Node id=2427358529 version=2 MVD lat=47.9935613,lon=7.8392681}'.

Full thread dump

2024-09-19 18:12:23.956 SEVERE: Thread main-worker-0 raised java.lang.IllegalStateException: Already registered a conflict for primitive '{Node id=2427358529 version=2 MVD lat=47.9935613,lon=7.8392681}'.
2024-09-19 18:15:08.170 INFO: GET https://api.openstreetmap.org/api/0.6/user/details (get number of unread messages) -> HTTP/1.1 200 (385 ms)
2024-09-19 18:20:08.232 INFO: GET https://api.openstreetmap.org/api/0.6/user/details (get number of unread messages) -> HTTP/1.1 200 (451 ms)
2024-09-19 18:25:08.167 INFO: GET https://api.openstreetmap.org/api/0.6/user/details (get number of unread messages) -> HTTP/1.1 200 (408 ms)
2024-09-19 18:30:08.281 INFO: GET https://api.openstreetmap.org/api/0.6/user/details (get number of unread messages) -> HTTP/1.1 200 (492 ms)
2024-09-19 18:31:52
Full thread dump OpenJDK 64-Bit Server VM (17.0.12+7-Debian-2deb12u1 mixed mode, sharing):

Threads class SMR info:
_java_thread_list=0x00007f04fc04fd40, length=35, elements={
0x00007f05c024eda0, 0x00007f05c0250190, 0x00007f05c0256900, 0x00007f05c0257cc0,
0x00007f05c02590e0, 0x00007f05c025aaa0, 0x00007f05c025bfe0, 0x00007f05c0265450,
0x00007f05c02a3220, 0x00007f05c030a8d0, 0x00007f05c05c52c0, 0x00007f05c068e7f0,
0x00007f05c077d0e0, 0x00007f04ec030ca0, 0x00007f04ec033f10, 0x00007f04e4090110,
0x00007f05c08f2440, 0x00007f05c06fa170, 0x00007f05c06fed30, 0x00007f05c0b564d0,
0x00007f04f06cc640, 0x00007f04f0bd0600, 0x00007f05c10cd440, 0x00007f05c12f9340,
0x00007f05c14903d0, 0x00007f05c14dfb80, 0x00007f05c1579b90, 0x00007f05c1500c00,
0x00007f05c14e52a0, 0x00007f05c170ba00, 0x00007f05c0015dd0, 0x00007f04e41c4060,
0x00007f04e42086d0, 0x00007f04e44c6550, 0x00007f0531de3990
}

"Reference Handler" #2 daemon prio=10 os_prio=0 cpu=11,48ms elapsed=3130,32s tid=0x00007f05c024eda0 nid=0x2e1b waiting on condition  [0x00007f059db5e000]
   java.lang.Thread.State: RUNNABLE
	at java.lang.ref.Reference.waitForReferencePendingList(java.base@17.0.12/Native Method)
	at java.lang.ref.Reference.processPendingReferences(java.base@17.0.12/Reference.java:253)
	at java.lang.ref.Reference$ReferenceHandler.run(java.base@17.0.12/Reference.java:215)

"Finalizer" #3 daemon prio=8 os_prio=0 cpu=2,51ms elapsed=3130,32s tid=0x00007f05c0250190 nid=0x2e1c in Object.wait()  [0x00007f059da5d000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.12/Native Method)
	- waiting on <no object reference available>
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.12/ReferenceQueue.java:155)
	- locked <0x000000068ec1b4c0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.12/ReferenceQueue.java:176)
	at java.lang.ref.Finalizer$FinalizerThread.run(java.base@17.0.12/Finalizer.java:172)

"Signal Dispatcher" #4 daemon prio=9 os_prio=0 cpu=0,28ms elapsed=3130,32s tid=0x00007f05c0256900 nid=0x2e1d waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Service Thread" #5 daemon prio=9 os_prio=0 cpu=5,37ms elapsed=3130,32s tid=0x00007f05c0257cc0 nid=0x2e1e runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Monitor Deflation Thread" #6 daemon prio=9 os_prio=0 cpu=914,65ms elapsed=3130,32s tid=0x00007f05c02590e0 nid=0x2e1f runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"C2 CompilerThread0" #7 daemon prio=9 os_prio=0 cpu=69172,51ms elapsed=3130,32s tid=0x00007f05c025aaa0 nid=0x2e20 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"C1 CompilerThread0" #9 daemon prio=9 os_prio=0 cpu=15059,25ms elapsed=3130,32s tid=0x00007f05c025bfe0 nid=0x2e21 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE
   No compile task

"Sweeper thread" #10 daemon prio=9 os_prio=0 cpu=966,88ms elapsed=3130,32s tid=0x00007f05c0265450 nid=0x2e22 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Common-Cleaner" #11 daemon prio=8 os_prio=0 cpu=10,97ms elapsed=3130,28s tid=0x00007f05c02a3220 nid=0x2e23 in Object.wait()  [0x00007f059cff8000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.12/Native Method)
	- waiting on <no object reference available>
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.12/ReferenceQueue.java:155)
	- locked <0x000000068ec1b6e8> (a java.lang.ref.ReferenceQueue$Lock)
	at jdk.internal.ref.CleanerImpl.run(java.base@17.0.12/CleanerImpl.java:140)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)
	at jdk.internal.misc.InnocuousThread.run(java.base@17.0.12/InnocuousThread.java:162)

"Notification Thread" #12 daemon prio=9 os_prio=0 cpu=0,13ms elapsed=3130,15s tid=0x00007f05c030a8d0 nid=0x2e25 runnable  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Java2D Disposer" #16 daemon prio=10 os_prio=0 cpu=23,35ms elapsed=3128,39s tid=0x00007f05c05c52c0 nid=0x2e4a in Object.wait()  [0x00007f058dec6000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.12/Native Method)
	- waiting on <no object reference available>
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.12/ReferenceQueue.java:155)
	- locked <0x000000068f40dfe8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.12/ReferenceQueue.java:176)
	at sun.java2d.Disposer.run(java.desktop@17.0.12/Disposer.java:145)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"AWT-XAWT" #19 daemon prio=6 os_prio=0 cpu=13903,04ms elapsed=3127,76s tid=0x00007f05c068e7f0 nid=0x2e4c runnable  [0x00007f058dd57000]
   java.lang.Thread.State: RUNNABLE
	at sun.awt.X11.XToolkit.waitForEvents(java.desktop@17.0.12/Native Method)
	at sun.awt.X11.XToolkit.run(java.desktop@17.0.12/XToolkit.java:683)
	at sun.awt.X11.XToolkit.run(java.desktop@17.0.12/XToolkit.java:647)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"main-worker-0" #20 prio=5 os_prio=0 cpu=4651,07ms elapsed=3127,43s tid=0x00007f05c077d0e0 nid=0x2e4d waiting on condition  [0x00007f058d336000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.12/Native Method)
	- parking to wait for  <0x000000068f40e648> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(java.base@17.0.12/LockSupport.java:341)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@17.0.12/AbstractQueuedSynchronizer.java:506)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.12/ForkJoinPool.java:3465)
	at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.12/ForkJoinPool.java:3436)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@17.0.12/AbstractQueuedSynchronizer.java:1625)
	at java.util.concurrent.LinkedBlockingQueue.take(java.base@17.0.12/LinkedBlockingQueue.java:435)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@17.0.12/ThreadPoolExecutor.java:1062)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.12/ThreadPoolExecutor.java:1122)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.12/ThreadPoolExecutor.java:635)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"AWT-Shutdown" #22 prio=5 os_prio=0 cpu=3,56ms elapsed=3127,18s tid=0x00007f04ec030ca0 nid=0x2e4e in Object.wait()  [0x00007f058d505000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.12/Native Method)
	- waiting on <no object reference available>
	at java.lang.Object.wait(java.base@17.0.12/Object.java:338)
	at sun.awt.AWTAutoShutdown.run(java.desktop@17.0.12/AWTAutoShutdown.java:291)
	- locked <0x000000068f40e910> (a java.lang.Object)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"AWT-EventQueue-0" #21 prio=6 os_prio=0 cpu=46628,47ms elapsed=3127,18s tid=0x00007f04ec033f10 nid=0x2e4f waiting on condition  [0x00007f058d234000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.12/Native Method)
	- parking to wait for  <0x000000068f945830> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(java.base@17.0.12/LockSupport.java:341)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@17.0.12/AbstractQueuedSynchronizer.java:506)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.12/ForkJoinPool.java:3465)
	at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.12/ForkJoinPool.java:3436)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@17.0.12/AbstractQueuedSynchronizer.java:1625)
	at java.awt.EventQueue.getNextEvent(java.desktop@17.0.12/EventQueue.java:565)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(java.desktop@17.0.12/EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEventsForFilter(java.desktop@17.0.12/EventDispatchThread.java:124)
	at java.awt.EventDispatchThread.pumpEventsForFilter(java.desktop@17.0.12/EventDispatchThread.java:117)
	at java.awt.WaitDispatchSupport$2.run(java.desktop@17.0.12/WaitDispatchSupport.java:191)
	at java.awt.WaitDispatchSupport$4.run(java.desktop@17.0.12/WaitDispatchSupport.java:236)
	at java.awt.WaitDispatchSupport$4.run(java.desktop@17.0.12/WaitDispatchSupport.java:234)
	at java.security.AccessController.executePrivileged(java.base@17.0.12/AccessController.java:776)
	at java.security.AccessController.doPrivileged(java.base@17.0.12/AccessController.java:318)
	at java.awt.WaitDispatchSupport.enter(java.desktop@17.0.12/WaitDispatchSupport.java:234)
	at java.awt.Dialog.show(java.desktop@17.0.12/Dialog.java:1080)
	at java.awt.Component.show(java.desktop@17.0.12/Component.java:1728)
	at java.awt.Component.setVisible(java.desktop@17.0.12/Component.java:1675)
	at java.awt.Window.setVisible(java.desktop@17.0.12/Window.java:1036)
	at java.awt.Dialog.setVisible(java.desktop@17.0.12/Dialog.java:1016)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doBeginTask$3(PleaseWaitProgressMonitor.java:255)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor$$Lambda$1092/0x00007f054072da30.run(Unknown Source)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor.lambda$doInEDT$0(PleaseWaitProgressMonitor.java:113)
	at org.openstreetmap.josm.gui.progress.swing.PleaseWaitProgressMonitor$$Lambda$1093/0x00007f054072de80.run(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(java.desktop@17.0.12/InvocationEvent.java:318)
	at java.awt.EventQueue.dispatchEventImpl(java.desktop@17.0.12/EventQueue.java:773)
	at java.awt.EventQueue$4.run(java.desktop@17.0.12/EventQueue.java:720)
	at java.awt.EventQueue$4.run(java.desktop@17.0.12/EventQueue.java:714)
	at java.security.AccessController.executePrivileged(java.base@17.0.12/AccessController.java:776)
	at java.security.AccessController.doPrivileged(java.base@17.0.12/AccessController.java:399)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(java.base@17.0.12/ProtectionDomain.java:86)
	at java.awt.EventQueue.dispatchEvent(java.desktop@17.0.12/EventQueue.java:742)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(java.desktop@17.0.12/EventDispatchThread.java:203)
	at java.awt.EventDispatchThread.pumpEventsForFilter(java.desktop@17.0.12/EventDispatchThread.java:124)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(java.desktop@17.0.12/EventDispatchThread.java:113)
	at java.awt.EventDispatchThread.pumpEvents(java.desktop@17.0.12/EventDispatchThread.java:109)
	at java.awt.EventDispatchThread.pumpEvents(java.desktop@17.0.12/EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.run(java.desktop@17.0.12/EventDispatchThread.java:90)

"TimerQueue" #23 daemon prio=5 os_prio=0 cpu=796,47ms elapsed=3126,43s tid=0x00007f04e4090110 nid=0x2e50 waiting on condition  [0x00007f058d134000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.12/Native Method)
	- parking to wait for  <0x000000069087a790> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(java.base@17.0.12/LockSupport.java:341)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@17.0.12/AbstractQueuedSynchronizer.java:506)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.12/ForkJoinPool.java:3465)
	at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.12/ForkJoinPool.java:3436)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@17.0.12/AbstractQueuedSynchronizer.java:1625)
	at java.util.concurrent.DelayQueue.take(java.base@17.0.12/DelayQueue.java:217)
	at javax.swing.TimerQueue.run(java.desktop@17.0.12/TimerQueue.java:172)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"QuantumRenderer-0" #24 daemon prio=5 os_prio=0 cpu=212,78ms elapsed=3125,91s tid=0x00007f05c08f2440 nid=0x2e51 waiting on condition  [0x00007f058d033000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.12/Native Method)
	- parking to wait for  <0x00000006908862f0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(java.base@17.0.12/LockSupport.java:341)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@17.0.12/AbstractQueuedSynchronizer.java:506)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.12/ForkJoinPool.java:3465)
	at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.12/ForkJoinPool.java:3436)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@17.0.12/AbstractQueuedSynchronizer.java:1625)
	at java.util.concurrent.LinkedBlockingQueue.take(java.base@17.0.12/LinkedBlockingQueue.java:435)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@17.0.12/ThreadPoolExecutor.java:1062)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.12/ThreadPoolExecutor.java:1122)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.12/ThreadPoolExecutor.java:635)
	at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(javafx.graphics/QuantumRenderer.java:125)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"FileSystemWatchService" #26 daemon prio=5 os_prio=0 cpu=0,28ms elapsed=3125,07s tid=0x00007f05c06fa170 nid=0x2e54 runnable  [0x00007f058c909000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.fs.LinuxWatchService.poll(java.base@17.0.12/Native Method)
	at sun.nio.fs.LinuxWatchService$Poller.run(java.base@17.0.12/LinuxWatchService.java:314)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"File Watcher" #27 prio=5 os_prio=0 cpu=0,47ms elapsed=3125,05s tid=0x00007f05c06fed30 nid=0x2e55 waiting on condition  [0x00007f058c113000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.12/Native Method)
	- parking to wait for  <0x000000069087acd8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(java.base@17.0.12/LockSupport.java:341)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@17.0.12/AbstractQueuedSynchronizer.java:506)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.12/ForkJoinPool.java:3465)
	at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.12/ForkJoinPool.java:3436)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@17.0.12/AbstractQueuedSynchronizer.java:1625)
	at java.util.concurrent.LinkedBlockingDeque.takeFirst(java.base@17.0.12/LinkedBlockingDeque.java:485)
	at java.util.concurrent.LinkedBlockingDeque.take(java.base@17.0.12/LinkedBlockingDeque.java:673)
	at sun.nio.fs.AbstractWatchService.take(java.base@17.0.12/AbstractWatchService.java:118)
	at org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:120)
	at org.openstreetmap.josm.io.FileWatcher$$Lambda$415/0x00007f0540375200.run(Unknown Source)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"Weak reference cleaner" #28 prio=5 os_prio=0 cpu=0,19ms elapsed=3124,27s tid=0x00007f05c0b564d0 nid=0x2e56 in Object.wait()  [0x00007f053effe000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.12/Native Method)
	- waiting on <0x00000006908865d8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.12/ReferenceQueue.java:155)
	- locked <0x00000006908865d8> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.12/ReferenceQueue.java:176)
	at org.openstreetmap.josm.tools.ListenableWeakReference.clean(ListenableWeakReference.java:60)
	at org.openstreetmap.josm.tools.ListenableWeakReference$$Lambda$468/0x00007f05403be498.run(Unknown Source)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"JCS-ElementEventQueue-Thread-2" #39 daemon prio=5 os_prio=0 cpu=0,21ms elapsed=3109,89s tid=0x00007f04f06cc640 nid=0x2e62 waiting on condition  [0x00007f053c1fa000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.12/Native Method)
	- parking to wait for  <0x000000069b1769d0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(java.base@17.0.12/LockSupport.java:341)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@17.0.12/AbstractQueuedSynchronizer.java:506)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.12/ForkJoinPool.java:3465)
	at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.12/ForkJoinPool.java:3436)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@17.0.12/AbstractQueuedSynchronizer.java:1625)
	at java.util.concurrent.LinkedBlockingQueue.take(java.base@17.0.12/LinkedBlockingQueue.java:435)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@17.0.12/ThreadPoolExecutor.java:1062)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.12/ThreadPoolExecutor.java:1122)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.12/ThreadPoolExecutor.java:635)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"CacheEventQueue.QProcessor-TMS_BLOCK_v2Thread-3" #40 daemon prio=5 os_prio=0 cpu=0,17ms elapsed=3109,73s tid=0x00007f04f0bd0600 nid=0x2e63 waiting on condition  [0x00007f04d0dfe000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.12/Native Method)
	- parking to wait for  <0x000000069b220bb8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(java.base@17.0.12/LockSupport.java:341)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@17.0.12/AbstractQueuedSynchronizer.java:506)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.12/ForkJoinPool.java:3465)
	at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.12/ForkJoinPool.java:3436)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@17.0.12/AbstractQueuedSynchronizer.java:1625)
	at java.util.concurrent.LinkedBlockingQueue.take(java.base@17.0.12/LinkedBlockingQueue.java:435)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@17.0.12/ThreadPoolExecutor.java:1062)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.12/ThreadPoolExecutor.java:1122)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.12/ThreadPoolExecutor.java:635)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"GT authority factory disposer" #41 daemon prio=5 os_prio=0 cpu=3,68ms elapsed=3108,50s tid=0x00007f05c10cd440 nid=0x2e64 in Object.wait()  [0x00007f04cd7fe000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.12/Native Method)
	- waiting on <no object reference available>
	at java.util.TimerThread.mainLoop(java.base@17.0.12/Timer.java:563)
	- locked <0x000000069b176c28> (a java.util.TaskQueue)
	at java.util.TimerThread.run(java.base@17.0.12/Timer.java:516)

"Timer-0" #42 prio=5 os_prio=0 cpu=303,58ms elapsed=3106,53s tid=0x00007f05c12f9340 nid=0x2e68 in Object.wait()  [0x00007f04cd3fa000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.12/Native Method)
	- waiting on <no object reference available>
	at java.util.TimerThread.mainLoop(java.base@17.0.12/Timer.java:563)
	- locked <0x000000069b220e10> (a java.util.TaskQueue)
	at java.util.TimerThread.run(java.base@17.0.12/Timer.java:516)

"InvokeLaterDispatcher" #45 daemon prio=5 os_prio=0 cpu=1,04ms elapsed=3106,05s tid=0x00007f05c14903d0 nid=0x2e6d waiting on condition  [0x00007f04cc1fe000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.12/Native Method)
	- parking to wait for  <0x000000069b221070> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(java.base@17.0.12/LockSupport.java:341)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@17.0.12/AbstractQueuedSynchronizer.java:506)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.12/ForkJoinPool.java:3465)
	at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.12/ForkJoinPool.java:3436)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@17.0.12/AbstractQueuedSynchronizer.java:1625)
	at java.util.concurrent.LinkedBlockingDeque.takeFirst(java.base@17.0.12/LinkedBlockingDeque.java:485)
	at com.sun.glass.ui.InvokeLaterDispatcher.run(javafx.graphics/InvokeLaterDispatcher.java:109)

"JavaFX Application Thread" #46 prio=5 os_prio=0 cpu=30862,17ms elapsed=3106,05s tid=0x00007f05c14dfb80 nid=0x2e6e runnable  [0x00007f04ca863000]
   java.lang.Thread.State: RUNNABLE
	at com.sun.glass.ui.gtk.GtkApplication._runLoop(javafx.graphics/Native Method)
	at com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$11(javafx.graphics/GtkApplication.java:277)
	at com.sun.glass.ui.gtk.GtkApplication$$Lambda$1055/0x00007f054070f4a8.run(javafx.graphics/Unknown Source)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"RemoteControl HTTP Server" #48 daemon prio=5 os_prio=0 cpu=1,24ms elapsed=3105,13s tid=0x00007f05c1579b90 nid=0x2e7a runnable  [0x00007f04d7ffe000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.Net.accept(java.base@17.0.12/Native Method)
	at sun.nio.ch.NioSocketImpl.accept(java.base@17.0.12/NioSocketImpl.java:760)
	at java.net.ServerSocket.implAccept(java.base@17.0.12/ServerSocket.java:675)
	at java.net.ServerSocket.platformImplAccept(java.base@17.0.12/ServerSocket.java:641)
	at java.net.ServerSocket.implAccept(java.base@17.0.12/ServerSocket.java:617)
	at java.net.ServerSocket.implAccept(java.base@17.0.12/ServerSocket.java:574)
	at java.net.ServerSocket.accept(java.base@17.0.12/ServerSocket.java:532)
	at org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:104)

"RemoteControl HTTP Server" #49 daemon prio=5 os_prio=0 cpu=0,75ms elapsed=3105,12s tid=0x00007f05c1500c00 nid=0x2e7b runnable  [0x00007f04c8dd2000]
   java.lang.Thread.State: RUNNABLE
	at sun.nio.ch.Net.accept(java.base@17.0.12/Native Method)
	at sun.nio.ch.NioSocketImpl.accept(java.base@17.0.12/NioSocketImpl.java:760)
	at java.net.ServerSocket.implAccept(java.base@17.0.12/ServerSocket.java:675)
	at java.net.ServerSocket.platformImplAccept(java.base@17.0.12/ServerSocket.java:641)
	at java.net.ServerSocket.implAccept(java.base@17.0.12/ServerSocket.java:617)
	at java.net.ServerSocket.implAccept(java.base@17.0.12/ServerSocket.java:574)
	at java.net.ServerSocket.accept(java.base@17.0.12/ServerSocket.java:532)
	at org.openstreetmap.josm.io.remotecontrol.RemoteControlHttpServer.run(RemoteControlHttpServer.java:104)

"message-notifier-0" #50 prio=5 os_prio=0 cpu=1918,87ms elapsed=3104,81s tid=0x00007f05c14e52a0 nid=0x2e7c waiting on condition  [0x00007f04c8cd1000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.12/Native Method)
	- parking to wait for  <0x000000068fcb77a0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(java.base@17.0.12/LockSupport.java:252)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(java.base@17.0.12/AbstractQueuedSynchronizer.java:1674)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.12/ScheduledThreadPoolExecutor.java:1182)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.12/ScheduledThreadPoolExecutor.java:899)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@17.0.12/ThreadPoolExecutor.java:1062)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.12/ThreadPoolExecutor.java:1122)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.12/ThreadPoolExecutor.java:635)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"changeset-updater-0" #52 prio=5 os_prio=0 cpu=6,68ms elapsed=3104,80s tid=0x00007f05c170ba00 nid=0x2e7e waiting on condition  [0x00007f04c8acf000]
   java.lang.Thread.State: TIMED_WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.12/Native Method)
	- parking to wait for  <0x000000069737aef0> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.parkNanos(java.base@17.0.12/LockSupport.java:252)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(java.base@17.0.12/AbstractQueuedSynchronizer.java:1674)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.12/ScheduledThreadPoolExecutor.java:1182)
	at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(java.base@17.0.12/ScheduledThreadPoolExecutor.java:899)
	at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@17.0.12/ThreadPoolExecutor.java:1062)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@17.0.12/ThreadPoolExecutor.java:1122)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@17.0.12/ThreadPoolExecutor.java:635)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"DestroyJavaVM" #53 prio=5 os_prio=0 cpu=10871,99ms elapsed=3104,80s tid=0x00007f05c0015dd0 nid=0x2e14 waiting on condition  [0x0000000000000000]
   java.lang.Thread.State: RUNNABLE

"Timer-1" #55 daemon prio=6 os_prio=0 cpu=734,51ms elapsed=3096,81s tid=0x00007f04e41c4060 nid=0x2e82 in Object.wait()  [0x00007f059c8f1000]
   java.lang.Thread.State: TIMED_WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.12/Native Method)
	- waiting on <no object reference available>
	at java.util.TimerThread.mainLoop(java.base@17.0.12/Timer.java:563)
	- locked <0x000000069737b148> (a java.util.TaskQueue)
	at java.util.TimerThread.run(java.base@17.0.12/Timer.java:516)

"Timer-2" #56 prio=6 os_prio=0 cpu=0,17ms elapsed=3095,06s tid=0x00007f04e42086d0 nid=0x2e84 in Object.wait()  [0x00007f04c88cd000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.12/Native Method)
	- waiting on <0x000000069737b328> (a java.util.TaskQueue)
	at java.lang.Object.wait(java.base@17.0.12/Object.java:338)
	at java.util.TimerThread.mainLoop(java.base@17.0.12/Timer.java:537)
	- locked <0x000000069737b328> (a java.util.TaskQueue)
	at java.util.TimerThread.run(java.base@17.0.12/Timer.java:516)

"Map Status Collector" #57 daemon prio=6 os_prio=0 cpu=652,70ms elapsed=3094,51s tid=0x00007f04e44c6550 nid=0x2e85 waiting on condition  [0x00007f04c87cc000]
   java.lang.Thread.State: WAITING (parking)
	at jdk.internal.misc.Unsafe.park(java.base@17.0.12/Native Method)
	- parking to wait for  <0x0000000699e01428> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
	at java.util.concurrent.locks.LockSupport.park(java.base@17.0.12/LockSupport.java:341)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionNode.block(java.base@17.0.12/AbstractQueuedSynchronizer.java:506)
	at java.util.concurrent.ForkJoinPool.unmanagedBlock(java.base@17.0.12/ForkJoinPool.java:3465)
	at java.util.concurrent.ForkJoinPool.managedBlock(java.base@17.0.12/ForkJoinPool.java:3436)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@17.0.12/AbstractQueuedSynchronizer.java:1625)
	at java.util.concurrent.LinkedBlockingQueue.take(java.base@17.0.12/LinkedBlockingQueue.java:435)
	at org.openstreetmap.josm.gui.MapStatus$Collector.run(MapStatus.java:441)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"Prism Font Disposer" #62 daemon prio=10 os_prio=0 cpu=0,20ms elapsed=3092,66s tid=0x00007f0531de3990 nid=0x2e8a in Object.wait()  [0x00007f04c793f000]
   java.lang.Thread.State: WAITING (on object monitor)
	at java.lang.Object.wait(java.base@17.0.12/Native Method)
	- waiting on <0x000000069b1770c0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.12/ReferenceQueue.java:155)
	- locked <0x000000069b1770c0> (a java.lang.ref.ReferenceQueue$Lock)
	at java.lang.ref.ReferenceQueue.remove(java.base@17.0.12/ReferenceQueue.java:176)
	at com.sun.javafx.font.Disposer.run(javafx.graphics/Disposer.java:93)
	at java.lang.Thread.run(java.base@17.0.12/Thread.java:840)

"VM Thread" os_prio=0 cpu=337,76ms elapsed=3130,33s tid=0x00007f05c024ace0 nid=0x2e1a runnable  

"GC Thread#0" os_prio=0 cpu=681,61ms elapsed=3130,34s tid=0x00007f05c009be10 nid=0x2e15 runnable  

"GC Thread#1" os_prio=0 cpu=651,50ms elapsed=3130,10s tid=0x00007f05380050b0 nid=0x2e27 runnable  

"GC Thread#2" os_prio=0 cpu=632,12ms elapsed=3130,10s tid=0x00007f0538005af0 nid=0x2e28 runnable  

"GC Thread#3" os_prio=0 cpu=688,65ms elapsed=3130,10s tid=0x00007f0538006530 nid=0x2e29 runnable  

"G1 Main Marker" os_prio=0 cpu=4,52ms elapsed=3130,34s tid=0x00007f05c00a8c90 nid=0x2e16 runnable  

"G1 Conc#0" os_prio=0 cpu=2264,38ms elapsed=3130,34s tid=0x00007f05c00a9c00 nid=0x2e17 runnable  

"G1 Refine#0" os_prio=0 cpu=141,69ms elapsed=3130,34s tid=0x00007f05c0106580 nid=0x2e18 runnable  

"G1 Refine#1" os_prio=0 cpu=31,31ms elapsed=3108,12s tid=0x00007f05880093d0 nid=0x2e65 runnable  

"G1 Refine#2" os_prio=0 cpu=0,70ms elapsed=3108,09s tid=0x00007f051461af30 nid=0x2e66 runnable  

"G1 Refine#3" os_prio=0 cpu=0,13ms elapsed=3108,07s tid=0x00007f0510003e40 nid=0x2e67 runnable  

"G1 Service" os_prio=0 cpu=1594,73ms elapsed=3130,34s tid=0x00007f05c0107480 nid=0x2e19 runnable  

"VM Periodic Task Thread" os_prio=0 cpu=4971,42ms elapsed=3130,16s tid=0x00007f05c0018770 nid=0x2e26 waiting on condition  

JNI global refs: 107, weak refs: 4912

Heap
 garbage-first heap   total 819200K, used 256086K [0x000000068ec00000, 0x0000000800000000)
  region size 4096K, 6 young (24576K), 3 survivors (12288K)
 Metaspace       used 86800K, committed 87680K, reserved 1179648K
  class space    used 10746K, committed 11136K, reserved 1048576K

Attachments (1)

JOSM_conflict_bug.joz (1.4 MB ) - added by skyper 8 weeks ago.
session to reproduce

Download all attachments as: .zip

Change History (5)

by skyper, 8 weeks ago

Attachment: JOSM_conflict_bug.joz added

session to reproduce

comment:1 by skyper, 8 weeks ago

Summary: Merging duplicated layers with little differences after a successful upload stalls JOSMMerging duplicated layers with little differences stalls JOSM

comment:2 by skyper, 8 weeks ago

Description: modified (diff)

comment:3 by taylor.smock, 8 weeks ago

Resolution: fixed
Status: newclosed

In 19228/josm:

Fix #23930: Merging duplicated layers with little differences stalls JOSM

This is fixed by keeping the "last" conflict in the problem if statement body.

comment:4 by taylor.smock, 8 weeks ago

Milestone: 24.09

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.