Skip to content

Instantly share code, notes, and snippets.

@ictrobot
Created September 1, 2014 18:58
Show Gist options
  • Save ictrobot/8ca2a80eb36fdd074104 to your computer and use it in GitHub Desktop.
Save ictrobot/8ca2a80eb36fdd074104 to your computer and use it in GitHub Desktop.
Java deadlock
01-Sep-14 19:49:48 [INFO] [MAIN] ModularWorld Development [0.0.1] for Desktop
01-Sep-14 19:49:48 [DEBUG] [MAIN] Java Home: C:\Program Files\Java\jdk1.7.0_60\jre
01-Sep-14 19:49:48 [DEBUG] [MAIN] Java Vendor: Oracle Corporation
01-Sep-14 19:49:48 [DEBUG] [MAIN] Java Vendor URL: http://java.oracle.com/
01-Sep-14 19:49:48 [DEBUG] [MAIN] Java Version: 1.7.0_60
01-Sep-14 19:49:48 [DEBUG] [MAIN] OS Name: Windows 8.1
01-Sep-14 19:49:48 [DEBUG] [MAIN] OS Architecture: amd64
01-Sep-14 19:49:48 [DEBUG] [MAIN] OS Version: 6.3
01-Sep-14 19:49:48 [DEBUG] [MAIN] User Home: C:\Users\Ethan
01-Sep-14 19:49:48 [DEBUG] [MAIN] Working Directory: C:\Users\Ethan\libGDX\source\ModularWorld\android\assets
01-Sep-14 19:49:48 [DEBUG] [MAIN] Base Directory: C:\Users\Ethan\AppData\Roaming\ModularWorld
01-Sep-14 19:49:48 [DEBUG] [MAIN] Log file: C:\Users\Ethan\AppData\Roaming\ModularWorld\log.txt
01-Sep-14 19:49:48 [DEBUG] [MAIN] settings.networking.port=8080
01-Sep-14 19:49:48 [DEBUG] [MAIN] settings.input.fieldOfView=67
01-Sep-14 19:49:48 [DEBUG] [MAIN] settings.renderer.block.viewDistance=2
01-Sep-14 19:49:48 [DEBUG] [MAIN] settings.username=User
01-Sep-14 19:49:51 [DEBUG] [MAIN] Menu set to MainMenu
01-Sep-14 19:49:58 [DEBUG] [MAIN] Menu set to SingleplayerLoadingMenu
01-Sep-14 19:49:58 [DEBUG] [MAIN] ModularWorldServer set
01-Sep-14 19:49:58 [INFO] [MAIN] Starting Server Networking
01-Sep-14 19:49:58 [DEBUG] [MAIN] ModularWorldClient set
01-Sep-14 19:49:58 [INFO] [MAIN] Starting Client Networking
01-Sep-14 19:49:58 [INFO] [MAIN] Successfully connected to localhost:8080
01-Sep-14 19:49:58 [INFO] [Server Socket Monitor: 8080] Successfully connected to /127.0.0.1:49365
01-Sep-14 19:49:58 [DEBUG] [MAIN] Menu set to null
2014-09-01 19:53:32
Full thread dump Java HotSpot(TM) 64-Bit Server VM (24.60-b09 mixed mode):
"Thread-13" daemon prio=6 tid=0x00000000101d0000 nid=0x174c waiting on condition [0x00000000189de000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007f5600528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1079)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
"Thread-12" daemon prio=6 tid=0x00000000101d1800 nid=0x1afc waiting on condition [0x00000000188de000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007f5600528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1079)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
"Thread-11" daemon prio=6 tid=0x00000000101cf000 nid=0xf00 waiting for monitor entry [0x00000000187df000]
java.lang.Thread.State: BLOCKED (on object monitor)
at ethanjones.modularworld.side.server.PlayerManager.shouldSendArea(PlayerManager.java:124)
- waiting to lock <0x00000007f5943ac8> (a ethanjones.modularworld.side.server.PlayerManager)
at ethanjones.modularworld.networking.packets.PacketArea.shouldSend(PacketArea.java:56)
at ethanjones.modularworld.networking.common.packet.PacketQueue.addPacket(PacketQueue.java:24)
- locked <0x00000007f59435e8> (a java.lang.Object)
- locked <0x00000007f5943700> (a com.badlogic.gdx.utils.Array)
at ethanjones.modularworld.world.thread.SendWorldCallable.call(SendWorldCallable.java:54)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
"Thread-10" daemon prio=6 tid=0x00000000101d0800 nid=0x1010 waiting on condition [0x00000000186de000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007f5600528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1079)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
"Thread-9" daemon prio=6 tid=0x000000000d419000 nid=0x1bd0 waiting on condition [0x00000000185de000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007f5600528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1079)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
"Thread-8" daemon prio=6 tid=0x000000000d418800 nid=0x16bc waiting on condition [0x00000000184de000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007f5600528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1079)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
"Thread-7" daemon prio=6 tid=0x000000000d295800 nid=0x1110 waiting on condition [0x00000000183de000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007f5600528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1079)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
"Thread-6" daemon prio=6 tid=0x000000000b6f3000 nid=0x568 waiting on condition [0x00000000182df000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007f5600528> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:1079)
at java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue.take(ScheduledThreadPoolExecutor.java:807)
at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1068)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1130)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
"Socket Output: /127.0.0.1:49365" daemon prio=6 tid=0x000000000b746800 nid=0x8d0 waiting for monitor entry [0x00000000181de000]
java.lang.Thread.State: BLOCKED (on object monitor)
at ethanjones.modularworld.networking.common.packet.PacketQueue.size(PacketQueue.java:62)
- waiting to lock <0x00000007f5943668> (a com.badlogic.gdx.utils.Array)
- locked <0x00000007f59435f8> (a com.badlogic.gdx.utils.Array)
at ethanjones.modularworld.networking.common.packet.PacketQueue.isEmpty(PacketQueue.java:70)
at ethanjones.modularworld.networking.common.socket.SocketOutput.run(SocketOutput.java:25)
at java.lang.Thread.run(Thread.java:745)
"Socket Output: localhost/127.0.0.1:8080" daemon prio=6 tid=0x000000000d34a800 nid=0x1a2c in Object.wait() [0x00000000180df000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007f5610348> (a java.lang.Object)
at java.lang.Object.wait(Object.java:503)
at ethanjones.modularworld.networking.common.packet.PacketQueue.waitForPacket(PacketQueue.java:52)
- locked <0x00000007f5610348> (a java.lang.Object)
at ethanjones.modularworld.networking.common.socket.SocketOutput.run(SocketOutput.java:26)
at java.lang.Thread.run(Thread.java:745)
"Socket Input: /127.0.0.1:49365" daemon prio=6 tid=0x000000000d34a000 nid=0x1da8 runnable [0x0000000017f0f000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:337)
at java.io.DataInputStream.readUTF(DataInputStream.java:589)
at java.io.DataInputStream.readUTF(DataInputStream.java:564)
at ethanjones.modularworld.networking.common.socket.SocketInput.run(SocketInput.java:22)
at java.lang.Thread.run(Thread.java:745)
"Socket Input: localhost/127.0.0.1:8080" daemon prio=6 tid=0x000000000d344000 nid=0x1458 runnable [0x000000001501f000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at java.net.SocketInputStream.read(SocketInputStream.java:210)
at java.io.DataInputStream.readUnsignedShort(DataInputStream.java:337)
at java.io.DataInputStream.readUTF(DataInputStream.java:589)
at java.io.DataInputStream.readUTF(DataInputStream.java:564)
at ethanjones.modularworld.networking.common.socket.SocketInput.run(SocketInput.java:22)
at java.lang.Thread.run(Thread.java:745)
"Server Socket Monitor: 8080" daemon prio=6 tid=0x000000000d348000 nid=0xab0 runnable [0x0000000011e6f000]
java.lang.Thread.State: RUNNABLE
at java.net.DualStackPlainSocketImpl.accept0(Native Method)
at java.net.DualStackPlainSocketImpl.socketAccept(DualStackPlainSocketImpl.java:131)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:398)
at java.net.PlainSocketImpl.accept(PlainSocketImpl.java:199)
- locked <0x00000007f5608df8> (a java.net.SocksSocketImpl)
at java.net.ServerSocket.implAccept(ServerSocket.java:530)
at java.net.ServerSocket.accept(ServerSocket.java:498)
at com.badlogic.gdx.net.NetJavaServerSocketImpl.accept(NetJavaServerSocketImpl.java:75)
at ethanjones.modularworld.networking.server.SocketMonitorServer.run(SocketMonitorServer.java:26)
at java.lang.Thread.run(Thread.java:745)
"DestroyJavaVM" prio=6 tid=0x00000000031b2800 nid=0xc68 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"MAIN" prio=6 tid=0x000000000d3b3000 nid=0x950 waiting for monitor entry [0x000000000ddce000]
java.lang.Thread.State: BLOCKED (on object monitor)
at ethanjones.modularworld.networking.common.packet.PacketQueue.addPacket(PacketQueue.java:24)
- waiting to lock <0x00000007f59435e8> (a java.lang.Object)
- locked <0x00000007f5943668> (a com.badlogic.gdx.utils.Array)
at ethanjones.modularworld.side.server.PlayerManager.blockChanged(PlayerManager.java:103)
- locked <0x00000007f5943ac8> (a ethanjones.modularworld.side.server.PlayerManager)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at ethanjones.modularworld.core.events.EventBus$EventHandlerWrapper.run(EventBus.java:100)
at ethanjones.modularworld.core.events.EventBus.post(EventBus.java:68)
- locked <0x00000007f56b31c8> (a ethanjones.modularworld.core.events.EventBus)
at ethanjones.modularworld.core.events.Event.post(Event.java:18)
at ethanjones.modularworld.world.storage.Area.setBlockFactory(Area.java:81)
at ethanjones.modularworld.world.storage.Area.setBlockFactory(Area.java:73)
at ethanjones.modularworld.world.World.setBlockFactory(World.java:53)
at ethanjones.modularworld.side.server.ModularWorldServer.time(ModularWorldServer.java:50)
at ethanjones.modularworld.core.timing.TimeHandlerWrapper.update(TimeHandlerWrapper.java:20)
at ethanjones.modularworld.core.timing.Timing.update(Timing.java:25)
at ethanjones.modularworld.side.common.ModularWorld.staticRender(ModularWorld.java:93)
at ethanjones.modularworld.core.adapter.GraphicalAdapter.render(GraphicalAdapter.java:108)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:206)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)
"Monitor Ctrl-Break" daemon prio=6 tid=0x000000000d17c800 nid=0x784 runnable [0x000000000d57e000]
java.lang.Thread.State: RUNNABLE
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java:152)
at java.net.SocketInputStream.read(SocketInputStream.java:122)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
- locked <0x00000007dde18f80> (a java.io.InputStreamReader)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:154)
at java.io.BufferedReader.readLine(BufferedReader.java:317)
- locked <0x00000007dde18f80> (a java.io.InputStreamReader)
at java.io.BufferedReader.readLine(BufferedReader.java:382)
at com.intellij.rt.execution.application.AppMain$1.run(AppMain.java:88)
at java.lang.Thread.run(Thread.java:745)
"Service Thread" daemon prio=6 tid=0x000000000b6e7000 nid=0x1ebc runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread1" daemon prio=10 tid=0x000000000b6e0800 nid=0x77c waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"C2 CompilerThread0" daemon prio=10 tid=0x000000000b6d6800 nid=0x1660 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Attach Listener" daemon prio=10 tid=0x000000000b6d5800 nid=0xea8 runnable [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Signal Dispatcher" daemon prio=10 tid=0x000000000b6d2800 nid=0x1cd0 waiting on condition [0x0000000000000000]
java.lang.Thread.State: RUNNABLE
"Finalizer" daemon prio=8 tid=0x000000000b6a1800 nid=0x1e88 in Object.wait() [0x000000000ca5f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007f56191b8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:135)
- locked <0x00000007f56191b8> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:151)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:209)
"Reference Handler" daemon prio=10 tid=0x000000000b698800 nid=0x1054 in Object.wait() [0x000000000c95f000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
- waiting on <0x00000007f5618d40> (a java.lang.ref.Reference$Lock)
at java.lang.Object.wait(Object.java:503)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:133)
- locked <0x00000007f5618d40> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=10 tid=0x000000000b693800 nid=0x1f58 runnable
"GC task thread#0 (ParallelGC)" prio=6 tid=0x00000000031c9800 nid=0x12e8 runnable
"GC task thread#1 (ParallelGC)" prio=6 tid=0x00000000031cb000 nid=0x1c7c runnable
"GC task thread#2 (ParallelGC)" prio=6 tid=0x00000000031cd000 nid=0x1c24 runnable
"GC task thread#3 (ParallelGC)" prio=6 tid=0x00000000031ce800 nid=0x20 runnable
"VM Periodic Task Thread" prio=10 tid=0x000000000b71d000 nid=0x1918 waiting on condition
JNI global references: 197
Found one Java-level deadlock:
=============================
"Thread-11":
waiting to lock monitor 0x000000000d3e0f18 (object 0x00000007f5943ac8, a ethanjones.modularworld.side.server.PlayerManager),
which is held by "MAIN"
"MAIN":
waiting to lock monitor 0x000000000b69e4a8 (object 0x00000007f59435e8, a java.lang.Object),
which is held by "Thread-11"
Java stack information for the threads listed above:
===================================================
"Thread-11":
at ethanjones.modularworld.side.server.PlayerManager.shouldSendArea(PlayerManager.java:124)
- waiting to lock <0x00000007f5943ac8> (a ethanjones.modularworld.side.server.PlayerManager)
at ethanjones.modularworld.networking.packets.PacketArea.shouldSend(PacketArea.java:56)
at ethanjones.modularworld.networking.common.packet.PacketQueue.addPacket(PacketQueue.java:24)
- locked <0x00000007f59435e8> (a java.lang.Object)
- locked <0x00000007f5943700> (a com.badlogic.gdx.utils.Array)
at ethanjones.modularworld.world.thread.SendWorldCallable.call(SendWorldCallable.java:54)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:178)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:292)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
"MAIN":
at ethanjones.modularworld.networking.common.packet.PacketQueue.addPacket(PacketQueue.java:24)
- waiting to lock <0x00000007f59435e8> (a java.lang.Object)
- locked <0x00000007f5943668> (a com.badlogic.gdx.utils.Array)
at ethanjones.modularworld.side.server.PlayerManager.blockChanged(PlayerManager.java:103)
- locked <0x00000007f5943ac8> (a ethanjones.modularworld.side.server.PlayerManager)
at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at ethanjones.modularworld.core.events.EventBus$EventHandlerWrapper.run(EventBus.java:100)
at ethanjones.modularworld.core.events.EventBus.post(EventBus.java:68)
- locked <0x00000007f56b31c8> (a ethanjones.modularworld.core.events.EventBus)
at ethanjones.modularworld.core.events.Event.post(Event.java:18)
at ethanjones.modularworld.world.storage.Area.setBlockFactory(Area.java:81)
at ethanjones.modularworld.world.storage.Area.setBlockFactory(Area.java:73)
at ethanjones.modularworld.world.World.setBlockFactory(World.java:53)
at ethanjones.modularworld.side.server.ModularWorldServer.time(ModularWorldServer.java:50)
at ethanjones.modularworld.core.timing.TimeHandlerWrapper.update(TimeHandlerWrapper.java:20)
at ethanjones.modularworld.core.timing.Timing.update(Timing.java:25)
at ethanjones.modularworld.side.common.ModularWorld.staticRender(ModularWorld.java:93)
at ethanjones.modularworld.core.adapter.GraphicalAdapter.render(GraphicalAdapter.java:108)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.mainLoop(LwjglApplication.java:206)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication$1.run(LwjglApplication.java:114)
Found 1 deadlock.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment