Opened 7 years ago

Last modified 6 years ago

#17214 closed defect

Deadlock with Java 10 on Windows prevents JOSM to start — at Version 1

Reported by: Don-vip Owned by: team
Priority: critical Milestone:
Component: Core Version:
Keywords: deadlock java10 Cc:

Description (last modified by Don-vip)

Just tried to launch JOSM on Windows 10 from Git Bash and got JOSM stuck on this step:

$ java -jar dist/josm-custom.jar
2019-01-16 20:45:31.299 INFOS: Le niveau de journalisation est ▒ INFOS (INFO, 800)
2019-01-16 20:45:32.139 INFO: Detected useable IPv6 network, preferring IPv6 over IPv4.
2019-01-16 20:45:39.828 INFO: Invalid plugin description '${plugin.description}' in plugin config
2019-01-16 20:45:40.615 INFO: Running plugin update after JOSM upgrade. Automatic update at startup is enabled.
2019-01-16 20:45:40.985 INFO: GET https://josm.openstreetmap.de/pluginicons?plugins=apache-commons,ejml,geotools,imagery-xml-bounds,jaxb,jts,opendata,utilsplugin2 -> 200
2019-01-16 20:45:41.529 INFO: Invalid plugin description '${plugin.description}' in plugin config
2019-01-16 20:45:41.640 INFO: Invalid plugin description '${plugin.description}' in plugin config
2019-01-16 20:45:41.947 INFO: loading plugin 'jaxb' (version 34506)
2019-01-16 20:45:42.357 INFO: GET http://javadl-esd-secure.oracle.com/update/baseline.version -> 200 (69 B)


$ svn info
URL: https://josm.openstreetmap.de/svn/trunk
Revision: 14701

$ java -version
java version "10.0.2" 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)
"main" #1 prio=5 os_prio=0 tid=0x000002326c142000 nid=0x10d0 in Object.wait()  [0x0000006dfdefe000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(java.base@10.0.2/Native Method)
        - waiting on <no object reference available>
        at java.lang.Object.wait(java.base@10.0.2/Unknown Source)
        at java.awt.WaitDispatchSupport.enter(java.desktop@10.0.2/Unknown Source)
        - waiting to re-lock in wait() <0x00000006c0c200c0> (a java.awt.Component$AWTTreeLock)
        at java.awt.Dialog.show(java.desktop@10.0.2/Unknown Source)
        at java.awt.Component.show(java.desktop@10.0.2/Unknown Source)
        at java.awt.Component.setVisible(java.desktop@10.0.2/Unknown Source)
        at java.awt.Window.setVisible(java.desktop@10.0.2/Unknown Source)
        at java.awt.Dialog.setVisible(java.desktop@10.0.2/Unknown Source)
        at org.openstreetmap.josm.gui.ExtendedDialog.setVisible(ExtendedDialog.java:459)
        at org.openstreetmap.josm.gui.ExtendedDialog.showDialog(ExtendedDialog.java:255)
        at org.openstreetmap.josm.gui.MainApplication.askUpdateJava(MainApplication.java:379)
        at org.openstreetmap.josm.gui.MainInitialization$$Lambda$340/532677950.askUpdateJava(Unknown Source)
        at org.openstreetmap.josm.tools.PlatformHook.checkExpiredJava(PlatformHook.java:314)
        at org.openstreetmap.josm.tools.PlatformHookWindows.startupHook(PlatformHookWindows.java:193)
        at org.openstreetmap.josm.gui.MainInitialization.lambda$beforeInitializationTasks$1(MainInitialization.java:73)
        at org.openstreetmap.josm.gui.MainInitialization$$Lambda$334/2137642385.run(Unknown Source)
        at org.openstreetmap.josm.spi.lifecycle.InitializationTask.call(InitializationTask.java:33)
        at org.openstreetmap.josm.spi.lifecycle.Lifecycle.runInitializationTasks(Lifecycle.java:99)
        at org.openstreetmap.josm.spi.lifecycle.Lifecycle.initialize(Lifecycle.java:71)
        at org.openstreetmap.josm.gui.MainApplication.mainJOSM(MainApplication.java:911)
        at org.openstreetmap.josm.gui.MainApplication$3.processArguments(MainApplication.java:284)
        at org.openstreetmap.josm.gui.MainApplication.main(MainApplication.java:711)

   Locked ownable synchronizers:
        - None

"AWT-EventQueue-0" #20 prio=6 os_prio=0 tid=0x000002321199e800 nid=0xff0 waiting on condition  [0x0000006dffcfd000]
   java.lang.Thread.State: WAITING (parking)
        at jdk.internal.misc.Unsafe.park(java.base@10.0.2/Native Method)
        - parking to wait for  <0x00000006c08fe398> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(java.base@10.0.2/Unknown Source)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@10.0.2/Unknown Source)
        at java.awt.EventQueue.getNextEvent(java.desktop@10.0.2/Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(java.desktop@10.0.2/Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(java.desktop@10.0.2/Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(java.desktop@10.0.2/Unknown Source)
        at java.awt.WaitDispatchSupport$2.run(java.desktop@10.0.2/Unknown Source)
        at java.awt.event.InvocationEvent.dispatch(java.desktop@10.0.2/Unknown Source)
        at java.awt.EventQueue.dispatchEventImpl(java.desktop@10.0.2/Unknown Source)
        at java.awt.EventQueue.access$600(java.desktop@10.0.2/Unknown Source)
        at java.awt.EventQueue$4.run(java.desktop@10.0.2/Unknown Source)
        at java.awt.EventQueue$4.run(java.desktop@10.0.2/Unknown Source)
        at java.security.AccessController.doPrivileged(java.base@10.0.2/Native Method)
        at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(java.base@10.0.2/Unknown Source)
        at java.awt.EventQueue.dispatchEvent(java.desktop@10.0.2/Unknown Source)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(java.desktop@10.0.2/Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForFilter(java.desktop@10.0.2/Unknown Source)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(java.desktop@10.0.2/Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(java.desktop@10.0.2/Unknown Source)
        at java.awt.EventDispatchThread.pumpEvents(java.desktop@10.0.2/Unknown Source)
        at java.awt.EventDispatchThread.run(java.desktop@10.0.2/Unknown Source)

   Locked ownable synchronizers:
        - None

"File Watcher" #28 prio=5 os_prio=0 tid=0x000002321418b000 nid=0x13e8 waiting on condition  [0x0000006d8043f000]
   java.lang.Thread.State: WAITING (parking)
        at jdk.internal.misc.Unsafe.park(java.base@10.0.2/Native Method)
        - parking to wait for  <0x00000006c59be278> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
        at java.util.concurrent.locks.LockSupport.park(java.base@10.0.2/Unknown Source)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(java.base@10.0.2/Unknown Source)
        at java.util.concurrent.LinkedBlockingDeque.takeFirst(java.base@10.0.2/Unknown Source)
        at java.util.concurrent.LinkedBlockingDeque.take(java.base@10.0.2/Unknown Source)
        at sun.nio.fs.AbstractWatchService.take(java.base@10.0.2/Unknown Source)
        at org.openstreetmap.josm.io.FileWatcher.processEvents(FileWatcher.java:120)
        at org.openstreetmap.josm.io.FileWatcher$$Lambda$332/1576277927.run(Unknown Source)
        at java.lang.Thread.run(java.base@10.0.2/Unknown Source)

   Locked ownable synchronizers:
        - None

Change History (3)

by Don-vip, 7 years ago

Attachment: josm_deadlock.png added

by Don-vip, 7 years ago

Attachment: josm_dumps.zip added

comment:1 by Don-vip, 7 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.