Program: Charlie
java -jar setup_charliev2_0.jar
) and after clicking on start the installer ends up in a deadlock. I have attached the stack trace below. Generally I don't understand why there is the need for an installer when you could just ship the fully running charlie.jar which contains all necessary files... 2016-05-03 20:20:02 Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.74-b02 mixed mode):
"Attach Listener" #26 daemon prio=9 os_prio=31 tid=0x00007fc41b9be800 nid=0x750f waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Aqua L&F File Loading Thread" #25 prio=5 os_prio=31 tid=0x00007fc41e803000 nid=0x10503 waiting for monitor entry [0x000070000250e000]
java.lang.Thread.State: BLOCKED (on object monitor) at com.apple.laf.AquaFileSystemModel$LoadFilesThread.run(AquaFileSystemModel.java:420) - waiting to lock <0x000000076b8a0c30> (a java.lang.Object)
"Thread-1" #11 prio=5 os_prio=31 tid=0x00007fc41b35f800 nid=0xf807 waiting for monitor entry [0x0000700001ffe000]
java.lang.Thread.State: BLOCKED (on object monitor) at com.apple.laf.AquaFileSystemModel.getRowCount(AquaFileSystemModel.java:194) - waiting to lock <0x000000076b8a0c30> (a java.lang.Object) at javax.swing.JTable.getRowCount(JTable.java:2662) at javax.swing.plaf.basic.BasicTableUI.createTableSize(BasicTableUI.java:1692) at javax.swing.plaf.basic.BasicTableUI.getPreferredSize(BasicTableUI.java:1733) at javax.swing.JComponent.getPreferredSize(JComponent.java:1662) at javax.swing.ScrollPaneLayout.preferredLayoutSize(ScrollPaneLayout.java:495) at java.awt.Container.preferredSize(Container.java:1796) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.getPreferredSize(Container.java:1780) at javax.swing.JComponent.getPreferredSize(JComponent.java:1664) at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:719) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.preferredSize(Container.java:1796) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.getPreferredSize(Container.java:1780) at javax.swing.JComponent.getPreferredSize(JComponent.java:1664) at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:719) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.preferredSize(Container.java:1796) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.getPreferredSize(Container.java:1780) at javax.swing.JComponent.getPreferredSize(JComponent.java:1664) at javax.swing.BoxLayout.checkRequests(BoxLayout.java:484) at javax.swing.BoxLayout.layoutContainer(BoxLayout.java:425) - locked <0x000000076b84ea90> (a javax.swing.BoxLayout) at java.awt.Container.layout(Container.java:1510) at java.awt.Container.doLayout(Container.java:1499) at java.awt.Container.validateTree(Container.java:1695) at java.awt.Container.validateTree(Container.java:1704) at java.awt.Container.validateTree(Container.java:1704) at java.awt.Container.validateTree(Container.java:1704) at java.awt.Container.validateTree(Container.java:1704) at java.awt.Container.validate(Container.java:1630) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.validateUnconditionally(Container.java:1667) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Window.pack(Window.java:818) at javax.swing.JFileChooser.createDialog(JFileChooser.java:821) at javax.swing.JFileChooser.showDialog(JFileChooser.java:749) at GUI.setup.SetupApp.setup(SetupApp.java:182) at GUI.setup.SetupApp$1$1.run(SetupApp.java:315)
"TimerQueue" #19 daemon prio=5 os_prio=31 tid=0x00007fc41bc7f800 nid=0xf4ef waiting on condition [0x0000700001efc000]
java.lang.Thread.State: WAITING (parking) at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x000000076b615928> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039) at java.util.concurrent.DelayQueue.take(DelayQueue.java:211) at javax.swing.TimerQueue.run(TimerQueue.java:171) at java.lang.Thread.run(Thread.java:745)
"DestroyJavaVM" #18 prio=5 os_prio=31 tid=0x00007fc41bc4a800 nid=0x1703 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"AWT-EventQueue-0" #17 prio=6 os_prio=31 tid=0x00007fc41c43c000 nid=0xe717 waiting for monitor entry [0x0000700001d75000]
java.lang.Thread.State: BLOCKED (on object monitor) at java.awt.Component.invalidate(Component.java:2936) - waiting to lock <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.invalidate(Container.java:1587) at javax.swing.JComponent.revalidate(JComponent.java:4848) at javax.swing.JTable.tableRowsInserted(JTable.java:4482) at javax.swing.JTable.tableChanged(JTable.java:4407) at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:296) at javax.swing.table.AbstractTableModel.fireTableRowsInserted(AbstractTableModel.java:231) at com.apple.laf.AquaFileSystemModel$DoChangeContents.run(AquaFileSystemModel.java:458) - locked <0x000000076b8a0c30> (a java.lang.Object) - locked <0x000000076c072300> (a java.lang.Object) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) 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:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 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)
"Java2D Disposer" #15 daemon prio=10 os_prio=31 tid=0x00007fc41c2a0800 nid=0xde0b in Object.wait() [0x0000700001b70000]
java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x000000076af11138> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) - locked <0x000000076af11138> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) at sun.java2d.Disposer.run(Disposer.java:148) at java.lang.Thread.run(Thread.java:745)
"Java2D Queue Flusher" #14 daemon prio=10 os_prio=31 tid=0x00007fc41c28d800 nid=0xd107 in Object.wait() [0x0000700001a6d000]
java.lang.Thread.State: TIMED_WAITING (on object monitor) at java.lang.Object.wait(Native Method) at sun.java2d.opengl.OGLRenderQueue$QueueFlusher.run(OGLRenderQueue.java:203) - locked <0x000000076af0dd60> (a sun.java2d.opengl.OGLRenderQueue$QueueFlusher)
"AWT-Shutdown" #13 prio=5 os_prio=31 tid=0x00007fc41b8c9000 nid=0x7e13 in Object.wait() [0x0000700001864000]
java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) at java.lang.Object.wait(Object.java:502) at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:295) - locked <0x000000076b01ff90> (a java.lang.Object) at java.lang.Thread.run(Thread.java:745)
"AppKit Thread" #12 daemon prio=5 os_prio=31 tid=0x00007fc41b8de000 nid=0xa0b runnable [0x00007fff5ef3f000]
java.lang.Thread.State: RUNNABLE at sun.lwawt.macosx.LWCToolkit.doAWTRunLoopImpl(Native Method) at sun.lwawt.macosx.LWCToolkit.doAWTRunLoop(LWCToolkit.java:825) at sun.lwawt.macosx.LWCToolkit.invokeAndWait(LWCToolkit.java:642) at sun.lwawt.macosx.LWCToolkit.invokeAndWait(LWCToolkit.java:581) at sun.lwawt.macosx.CAccessibility.invokeAndWait(CAccessibility.java:80) at sun.lwawt.macosx.CAccessibility.getAccessibleRole(CAccessibility.java:237)
"Service Thread" #9 daemon prio=9 os_prio=31 tid=0x00007fc41c81b000 nid=0x5303 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C1 CompilerThread3" #8 daemon prio=9 os_prio=31 tid=0x00007fc41c035000 nid=0x5103 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread2" #7 daemon prio=9 os_prio=31 tid=0x00007fc41b045000 nid=0x4f03 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" #6 daemon prio=9 os_prio=31 tid=0x00007fc41b021000 nid=0x4d03 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" #5 daemon prio=9 os_prio=31 tid=0x00007fc41c81a000 nid=0x4b03 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" #4 daemon prio=9 os_prio=31 tid=0x00007fc41c801000 nid=0x3e0f runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" #3 daemon prio=8 os_prio=31 tid=0x00007fc41c066000 nid=0x3803 in Object.wait() [0x0000700000d3a000]
java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x000000076ab08ee0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:143) - locked <0x000000076ab08ee0> (a java.lang.ref.ReferenceQueue$Lock) at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:164) at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
"Reference Handler" #2 daemon prio=10 os_prio=31 tid=0x00007fc41c063800 nid=0x3603 in Object.wait() [0x0000700000c37000]
java.lang.Thread.State: WAITING (on object monitor) at java.lang.Object.wait(Native Method) - waiting on <0x000000076ab06b50> (a java.lang.ref.Reference$Lock) at java.lang.Object.wait(Object.java:502) at java.lang.ref.Reference.tryHandlePending(Reference.java:191) - locked <0x000000076ab06b50> (a java.lang.ref.Reference$Lock) at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:153)
"VM Thread" os_prio=31 tid=0x00007fc41c05f000 nid=0x3403 runnable
"GC task thread#0 (ParallelGC)" os_prio=31 tid=0x00007fc41b801800 nid=0x2403 runnable
"GC task thread#1 (ParallelGC)" os_prio=31 tid=0x00007fc41c00b800 nid=0x2603 runnable
"GC task thread#2 (ParallelGC)" os_prio=31 tid=0x00007fc41c00c000 nid=0x2803 runnable
"GC task thread#3 (ParallelGC)" os_prio=31 tid=0x00007fc41c00c800 nid=0x2a03 runnable
"GC task thread#4 (ParallelGC)" os_prio=31 tid=0x00007fc41c00d000 nid=0x2c03 runnable
"GC task thread#5 (ParallelGC)" os_prio=31 tid=0x00007fc41c00e000 nid=0x2e03 runnable
"GC task thread#6 (ParallelGC)" os_prio=31 tid=0x00007fc41c00e800 nid=0x3003 runnable
"GC task thread#7 (ParallelGC)" os_prio=31 tid=0x00007fc41c00f000 nid=0x3203 runnable
"VM Periodic Task Thread" os_prio=31 tid=0x00007fc41c825000 nid=0x5503 waiting on condition
JNI global references: 550
Found one Java-level deadlock: ============================= "Aqua L&F File Loading Thread":
waiting to lock monitor 0x00007fc41b91dca8 (object 0x000000076b8a0c30, a java.lang.Object), which is held by "AWT-EventQueue-0"
"AWT-EventQueue-0":
waiting to lock monitor 0x00007fc41b91bf18 (object 0x000000076ad93620, a java.awt.Component$AWTTreeLock), which is held by "Thread-1"
"Thread-1":
waiting to lock monitor 0x00007fc41b91dca8 (object 0x000000076b8a0c30, a java.lang.Object), which is held by "AWT-EventQueue-0"
Java stack information for the threads listed above: =================================================== "Aqua L&F File Loading Thread":
at com.apple.laf.AquaFileSystemModel$LoadFilesThread.run(AquaFileSystemModel.java:420) - waiting to lock <0x000000076b8a0c30> (a java.lang.Object)
"AWT-EventQueue-0":
at java.awt.Component.invalidate(Component.java:2936) - waiting to lock <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.invalidate(Container.java:1587) at javax.swing.JComponent.revalidate(JComponent.java:4848) at javax.swing.JTable.tableRowsInserted(JTable.java:4482) at javax.swing.JTable.tableChanged(JTable.java:4407) at javax.swing.table.AbstractTableModel.fireTableChanged(AbstractTableModel.java:296) at javax.swing.table.AbstractTableModel.fireTableRowsInserted(AbstractTableModel.java:231) at com.apple.laf.AquaFileSystemModel$DoChangeContents.run(AquaFileSystemModel.java:458) - locked <0x000000076b8a0c30> (a java.lang.Object) - locked <0x000000076c072300> (a java.lang.Object) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756) 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:76) at java.awt.EventQueue.dispatchEvent(EventQueue.java:726) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201) 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)
"Thread-1":
at com.apple.laf.AquaFileSystemModel.getRowCount(AquaFileSystemModel.java:194) - waiting to lock <0x000000076b8a0c30> (a java.lang.Object) at javax.swing.JTable.getRowCount(JTable.java:2662) at javax.swing.plaf.basic.BasicTableUI.createTableSize(BasicTableUI.java:1692) at javax.swing.plaf.basic.BasicTableUI.getPreferredSize(BasicTableUI.java:1733) at javax.swing.JComponent.getPreferredSize(JComponent.java:1662) at javax.swing.ScrollPaneLayout.preferredLayoutSize(ScrollPaneLayout.java:495) at java.awt.Container.preferredSize(Container.java:1796) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.getPreferredSize(Container.java:1780) at javax.swing.JComponent.getPreferredSize(JComponent.java:1664) at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:719) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.preferredSize(Container.java:1796) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.getPreferredSize(Container.java:1780) at javax.swing.JComponent.getPreferredSize(JComponent.java:1664) at java.awt.BorderLayout.preferredLayoutSize(BorderLayout.java:719) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.preferredSize(Container.java:1796) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.getPreferredSize(Container.java:1780) at javax.swing.JComponent.getPreferredSize(JComponent.java:1664) at javax.swing.BoxLayout.checkRequests(BoxLayout.java:484) at javax.swing.BoxLayout.layoutContainer(BoxLayout.java:425) - locked <0x000000076b84ea90> (a javax.swing.BoxLayout) at java.awt.Container.layout(Container.java:1510) at java.awt.Container.doLayout(Container.java:1499) at java.awt.Container.validateTree(Container.java:1695) at java.awt.Container.validateTree(Container.java:1704) at java.awt.Container.validateTree(Container.java:1704) at java.awt.Container.validateTree(Container.java:1704) at java.awt.Container.validateTree(Container.java:1704) at java.awt.Container.validate(Container.java:1630) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Container.validateUnconditionally(Container.java:1667) - locked <0x000000076ad93620> (a java.awt.Component$AWTTreeLock) at java.awt.Window.pack(Window.java:818) at javax.swing.JFileChooser.createDialog(JFileChooser.java:821) at javax.swing.JFileChooser.showDialog(JFileChooser.java:749) at GUI.setup.SetupApp.setup(SetupApp.java:182) at GUI.setup.SetupApp$1$1.run(SetupApp.java:315)
Found 1 deadlock.