Deadlock Starting Spark on Linux

Hello,

I downloaded Spark for Linux (spark_2_6_3.tar.gz) trying to run it in my Linux desktop (Ubuntu). When I try to start, first I got the message:

./Spark

ls: cannot access /home/alfredo/lib/Spark/lib/windows: No such file or directory

(The directory doesn’t exists as the message suggests)

It then got stuck in a deadlock, here is the thread dump:

Full thread dump Java HotSpot™ Client VM (16.0-b13 mixed mode):

“Attach Listener” daemon prio=10 tid=0xe0301000 nid=0x2dbf waiting on condition [0x00000000]

java.lang.Thread.State: RUNNABLE

“Thread-1” prio=10 tid=0xdeb0b800 nid=0x2d97 waiting on condition [0xdec7d000]

java.lang.Thread.State: WAITING (parking)

    at sun.misc.Unsafe.park(Native Method)

    - parking to wait for  <0xe5ff65a8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

    at java.util.concurrent.locks.LockSupport.park(Unknown Source)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unk nown Source)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(Unknown Source)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source)

    at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(Unknown Source)

    at java.util.concurrent.locks.ReentrantLock.lock(Unknown Source)

    at sun.awt.SunToolkit.awtLock(Unknown Source)

    at sun.awt.X11.XAtom.<init>(Unknown Source)

    at sun.awt.X11.XAtom.<init>(Unknown Source)

    at sun.awt.X11.XAtom.get(Unknown Source)

    at sun.awt.X11.XSystemTrayPeer.<clinit>(Unknown Source)

    at sun.awt.X11.XToolkit$2.run(Unknown Source)

“SIGINT handler” daemon prio=10 tid=0xe0300800 nid=0x2d96 in Object.wait() [0xdecd4000]

java.lang.Thread.State: WAITING (on object monitor)

    at java.lang.Object.wait(Native Method)

    - waiting on <0xe600aca8> (a sun.awt.X11.XToolkit$2)

    at java.lang.Thread.join(Unknown Source)

    - locked <0xe600aca8> (a sun.awt.X11.XToolkit$2)                                                                                                                                                                                   

    at java.lang.Thread.join(Unknown Source)                                                                                                                                                                                           

    at java.lang.ApplicationShutdownHooks.runHooks(Unknown Source)                                                                                                                                                                     

    at java.lang.ApplicationShutdownHooks$1.run(Unknown Source)                                                                                                                                                                        

    at java.lang.Shutdown.runHooks(Unknown Source)                                                                                                                                                                                     

    at java.lang.Shutdown.sequence(Unknown Source)                                                                                                                                                                                     

    at java.lang.Shutdown.exit(Unknown Source)                                                                                                                                                                                         

    - locked <0xf0de2d60> (a java.lang.Class for java.lang.Shutdown)                                                                                                                                                                   

    at java.lang.Terminator$1.handle(Unknown Source)                                                                                                                                                                                   

    at sun.misc.Signal$1.run(Unknown Source)                                                                                                                                                                                           

    at java.lang.Thread.run(Unknown Source)                                                                                                                                                                                            

“DestroyJavaVM” prio=10 tid=0xf6b06000 nid=0x2d7f waiting on condition [0x00000000]

java.lang.Thread.State: RUNNABLE

“AWT-EventQueue-0” prio=10 tid=0xdf865c00 nid=0x2d8a waiting on condition [0xdf2f0000]

java.lang.Thread.State: WAITING (parking)

    at sun.misc.Unsafe.park(Native Method)

    - parking to wait for  <0xe5ff65a8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

    at java.util.concurrent.locks.LockSupport.park(Unknown Source)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unk nown Source)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(Unknown Source)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source)

    at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(Unknown Source)

    at java.util.concurrent.locks.ReentrantLock.lock(Unknown Source)

    at sun.awt.SunToolkit.awtLock(Unknown Source)

    at sun.awt.X11GraphicsDevice.getConfigVisualId(Native Method)

    at sun.awt.X11GraphicsDevice.makeDefaultConfiguration(Unknown Source)

    at sun.awt.X11GraphicsDevice.getDefaultConfiguration(Unknown Source)

    - locked <0xe602ced0> (a java.lang.Object)

    at javax.swing.RepaintManager.getDoubleBufferMaximumSize(Unknown Source)

    at javax.swing.RepaintManager.getVolatileOffscreenBuffer(Unknown Source)

    at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)

    at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)

    at javax.swing.RepaintManager.paint(Unknown Source)

    at javax.swing.JComponent.paint(Unknown Source)

    at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)

    at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)

    at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)

    at java.awt.Container.paint(Unknown Source)

    at java.awt.Window.paint(Unknown Source)

    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)

    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)

    at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)

    at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)

    at java.awt.event.InvocationEvent.dispatch(Unknown Source)

    at java.awt.EventQueue.dispatchEvent(Unknown Source)

    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.run(Unknown Source)

“AWT-Shutdown” prio=10 tid=0xdf865800 nid=0x2d89 in Object.wait() [0xdf3a7000]

java.lang.Thread.State: WAITING (on object monitor)

    at java.lang.Object.wait(Native Method)

    - waiting on <0xe5fe0980> (a java.lang.Object)

    at java.lang.Object.wait(Object.java:485)

    at sun.awt.AWTAutoShutdown.run(Unknown Source)

    - locked <0xe5fe0980> (a java.lang.Object)

    at java.lang.Thread.run(Unknown Source)

“AWT-XAWT” daemon prio=10 tid=0xdf863c00 nid=0x2d88 waiting for monitor entry [0xdf3f8000]

java.lang.Thread.State: BLOCKED (on object monitor)

    at sun.awt.X11GraphicsDevice.getDefaultConfiguration(Unknown Source)

    - waiting to lock <0xe602ced0> (a java.lang.Object)

    at sun.awt.X11.XWindowPeer.checkIfOnNewScreen(Unknown Source)

    at sun.awt.X11.XDecoratedPeer.handleConfigureNotifyEvent(Unknown Source)

    at sun.awt.X11.XBaseWindow.dispatchEvent(Unknown Source)

    at sun.awt.X11.XBaseWindow.dispatchToWindow(Unknown Source)

    at sun.awt.X11.XToolkit.dispatchEvent(Unknown Source)

    at sun.awt.X11.XToolkit.run(Unknown Source)

    at sun.awt.X11.XToolkit.run(Unknown Source)

    at java.lang.Thread.run(Unknown Source)

“Java2D Disposer” daemon prio=10 tid=0xdf82d000 nid=0x2d87 in Object.wait() [0xdf58e000]

java.lang.Thread.State: WAITING (on object monitor)

    at java.lang.Object.wait(Native Method)

    - waiting on <0xe5fe0a90> (a java.lang.ref.ReferenceQueue$Lock)

    at java.lang.ref.ReferenceQueue.remove(Unknown Source)

    - locked <0xe5fe0a90> (a java.lang.ref.ReferenceQueue$Lock)

    at java.lang.ref.ReferenceQueue.remove(Unknown Source)

    at sun.java2d.Disposer.run(Unknown Source)

    at java.lang.Thread.run(Unknown Source)

“Low Memory Detector” daemon prio=10 tid=0xf6b64800 nid=0x2d85 runnable [0x00000000]

java.lang.Thread.State: RUNNABLE

“CompilerThread0” daemon prio=10 tid=0xf6b62c00 nid=0x2d84 waiting on condition [0x00000000]

java.lang.Thread.State: RUNNABLE

“Signal Dispatcher” daemon prio=10 tid=0xf6b61400 nid=0x2d83 runnable [0x00000000]

java.lang.Thread.State: RUNNABLE

“Finalizer” daemon prio=10 tid=0xf6b51800 nid=0x2d82 in Object.wait() [0xe05ad000]

java.lang.Thread.State: WAITING (on object monitor)

    at java.lang.Object.wait(Native Method)

    - waiting on <0xe5fe0c58> (a java.lang.ref.ReferenceQueue$Lock)

    at java.lang.ref.ReferenceQueue.remove(Unknown Source)

    - locked <0xe5fe0c58> (a java.lang.ref.ReferenceQueue$Lock)

    at java.lang.ref.ReferenceQueue.remove(Unknown Source)

    at java.lang.ref.Finalizer$FinalizerThread.run(Unknown Source)

“Reference Handler” daemon prio=10 tid=0xf6b50000 nid=0x2d81 in Object.wait() [0xe05fe000]

java.lang.Thread.State: WAITING (on object monitor)

    at java.lang.Object.wait(Native Method)

    - waiting on <0xe5fe07c8> (a java.lang.ref.Reference$Lock)

    at java.lang.Object.wait(Object.java:485)

    at java.lang.ref.Reference$ReferenceHandler.run(Unknown Source)

    - locked <0xe5fe07c8> (a java.lang.ref.Reference$Lock)

“VM Thread” prio=10 tid=0xf6b4d800 nid=0x2d80 runnable

“VM Periodic Task Thread” prio=10 tid=0xf6b67000 nid=0x2d86 waiting on condition

JNI global references: 1341

Found one Java-level deadlock:

=============================

“Thread-1”:

waiting for ownable synchronizer 0xe5ff65a8, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),

which is held by “AWT-XAWT”

“AWT-XAWT”:

waiting to lock monitor 0xdf001f10 (object 0xe602ced0, a java.lang.Object),

which is held by “AWT-EventQueue-0”

“AWT-EventQueue-0”:

waiting for ownable synchronizer 0xe5ff65a8, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),

which is held by “AWT-XAWT”

Java stack information for the threads listed above:

===================================================

“Thread-1”:

    at sun.misc.Unsafe.park(Native Method)

    - parking to wait for  <0xe5ff65a8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

    at java.util.concurrent.locks.LockSupport.park(Unknown Source)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unk nown Source)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(Unknown Source)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source)

    at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(Unknown Source)

    at java.util.concurrent.locks.ReentrantLock.lock(Unknown Source)

    at sun.awt.SunToolkit.awtLock(Unknown Source)

    at sun.awt.X11.XAtom.<init>(Unknown Source)

    at sun.awt.X11.XAtom.<init>(Unknown Source)

    at sun.awt.X11.XAtom.get(Unknown Source)

    at sun.awt.X11.XSystemTrayPeer.<clinit>(Unknown Source)

    at sun.awt.X11.XToolkit$2.run(Unknown Source)

“AWT-XAWT”:

    at sun.awt.X11GraphicsDevice.getDefaultConfiguration(Unknown Source)

    - waiting to lock <0xe602ced0> (a java.lang.Object)

    at sun.awt.X11.XWindowPeer.checkIfOnNewScreen(Unknown Source)

    at sun.awt.X11.XDecoratedPeer.handleConfigureNotifyEvent(Unknown Source)

    at sun.awt.X11.XBaseWindow.dispatchEvent(Unknown Source)

    at sun.awt.X11.XBaseWindow.dispatchToWindow(Unknown Source)

    at sun.awt.X11.XToolkit.dispatchEvent(Unknown Source)

    at sun.awt.X11.XToolkit.run(Unknown Source)

    at sun.awt.X11.XToolkit.run(Unknown Source)

    at java.lang.Thread.run(Unknown Source)

“AWT-EventQueue-0”:

    at sun.misc.Unsafe.park(Native Method)

    - parking to wait for  <0xe5ff65a8> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)

    at java.util.concurrent.locks.LockSupport.park(Unknown Source)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(Unk nown Source)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireQueued(Unknown Source)

    at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(Unknown Source)

    at java.util.concurrent.locks.ReentrantLock$NonfairSync.lock(Unknown Source)

    at java.util.concurrent.locks.ReentrantLock.lock(Unknown Source)

    at sun.awt.SunToolkit.awtLock(Unknown Source)

    at sun.awt.X11GraphicsDevice.getConfigVisualId(Native Method)

    at sun.awt.X11GraphicsDevice.makeDefaultConfiguration(Unknown Source)

    at sun.awt.X11GraphicsDevice.getDefaultConfiguration(Unknown Source)

    - locked <0xe602ced0> (a java.lang.Object)

    at javax.swing.RepaintManager.getDoubleBufferMaximumSize(Unknown Source)

    at javax.swing.RepaintManager.getVolatileOffscreenBuffer(Unknown Source)

    at javax.swing.RepaintManager$PaintManager.paint(Unknown Source)

    at javax.swing.BufferStrategyPaintManager.paint(Unknown Source)

    at javax.swing.RepaintManager.paint(Unknown Source)

    at javax.swing.JComponent.paint(Unknown Source)

    at java.awt.GraphicsCallback$PaintCallback.run(Unknown Source)

    at sun.awt.SunGraphicsCallback.runOneComponent(Unknown Source)

    at sun.awt.SunGraphicsCallback.runComponents(Unknown Source)

    at java.awt.Container.paint(Unknown Source)

    at java.awt.Window.paint(Unknown Source)

    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)

    at javax.swing.RepaintManager.paintDirtyRegions(Unknown Source)

    at javax.swing.RepaintManager.seqPaintDirtyRegions(Unknown Source)

    at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(Unknown Source)

    at java.awt.event.InvocationEvent.dispatch(Unknown Source)

    at java.awt.EventQueue.dispatchEvent(Unknown Source)

    at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

    at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

    at java.awt.EventDispatchThread.run(Unknown Source)

Found 1 deadlock.

Does it really runs on Linux?

Thank you

Alfredo Ramos