Page MenuHomeSchine - Phabricator

Starmade | Deadlock: unknown cause
Open, HighPublic

Description

Found one Java-level deadlock:
=============================
"SERVER-PROCESSOR: null; PID: 7223":
  waiting to lock monitor 0x00007f5e7800b7a8 (object 0x000000020c27eed0, a obfuscated.awX),
  which is held by "ServerController (0)"
"ServerController (0)":
  waiting for ownable synchronizer 0x00000001c7476a28, (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync),
  which is held by "ServerSegmentGeneratorThread_70"
"ServerSegmentGeneratorThread_70":
  waiting to lock monitor 0x00007f5e7800b7a8 (object 0x000000020c27eed0, a obfuscated.awX),
  which is held by "ServerController (0)"

Java stack information for the threads listed above:
===================================================
"SERVER-PROCESSOR: null; PID: 7223":
        at org.schema.schine.network.server.ServerProcessor.run(SourceFile:577)
        - waiting to lock <0x000000020c27eed0> (a obfuscated.awX)
        at java.lang.Thread.run(Thread.java:745)
"ServerController (0)":
        at sun.misc.Unsafe.park(Native Method)
        - parking to wait for  <0x00000001c7476a28> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
        at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
        at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
        at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:727)
        at obfuscated.ajt.a(SourceFile:469)
        - locked <0x000000036353b750> (a [B)
        at org.schema.game.network.objects.remote.RemoteSegmentRemoteObj.toByteStream(SourceFile:106)
        at org.schema.game.network.objects.remote.RemoteSegmentRemoteObjBuffer.toByteStream(SourceFile:42)
        at org.schema.schine.network.objects.NetworkObject.getFieldCode(SourceFile:352)
        at org.schema.schine.network.objects.NetworkObject.encode(SourceFile:303)
        at org.schema.schine.network.objects.NetworkObject.encodeChange(SourceFile:720)
        at org.schema.schine.network.synchronization.SynchronizationSender.encodePartialObjectIfChanged(SourceFile:244)
        at org.schema.schine.network.synchronization.SynchronizationSender.encodeNetworkObjects(SourceFile:183)
        at org.schema.schine.network.server.ServerController.synchronizePrivate(SourceFile:490)
        - locked <0x000000020c27eed0> (a obfuscated.awX)
        at org.schema.schine.network.server.ServerController.synchronize(SourceFile:415)
        at org.schema.game.server.controller.GameServerController.update(SourceFile:1484)
        at org.schema.schine.network.server.ServerController.run(SourceFile:275)
        at java.lang.Thread.run(Thread.java:745)
"ServerSegmentGeneratorThread_70":
        at org.schema.game.common.controller.elements.ControlBlockElementCollectionManager.getEffectConnectedElement(SourceFile:474)
        - waiting to lock <0x000000020c27eed0> (a obfuscated.awX)
        at org.schema.game.common.controller.elements.ManagerModuleCollection.removeControllerBlock(SourceFile:134)
        at org.schema.game.common.controller.elements.ManagerContainer.onRemovedElementSynched(SourceFile:1156)
        at org.schema.game.common.controller.elements.ShipManagerContainer.onRemovedElementSynched(SourceFile:687)
        at obfuscated.Yp.onRemovedElementSynched(SourceFile:1178)
        at org.schema.game.common.data.world.SegmentData.onRemovingElement(SourceFile:752)
        at org.schema.game.common.data.world.SegmentData.setInfoElementUnsynched(SourceFile:1284)
        at org.schema.game.common.data.world.SegmentData.setInfoElementUnsynched(SourceFile:1260)
        at org.schema.game.common.data.world.SegmentData.setInfoElementUnsynched(SourceFile:1255)
        at org.schema.game.common.data.world.SegmentData.reset(SourceFile:813)
        at obfuscated.ajt.a(SourceFile:217)
        - locked <0x000000020e517358> (a [B)
        at obfuscated.ZP.a(SourceFile:194)
        at obfuscated.auu.a(SourceFile:338)
        at obfuscated.auu.a(SourceFile:193)
        at org.schema.game.server.controller.GameServerController.a(SourceFile:2336)
        at obfuscated.auy.run(SourceFile:68)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)

Found 1 deadlock.

Details

Task Type
Bug
Testing Results
Affected Gamemode(s)
none/unspecified
Reproducible
uncertain
Category
Engine
Hardware/Software/System
OS-Specific
No
Hardware-Specific
No
Video Card Vendor
uncertain

Event Timeline

lancake added a subscriber: lancake.
lancake claimed this task.

-validated-

Forwarding to developers.

lancake shifted this object from the S1 Public space to the S3 Starmade space.Jun 6 2017, 9:34 PM
lancake changed the visibility from "Custom Policy" to "Public (No Login Required)".
lancake changed the edit policy from "Task Author" to "Starmade (Project)".
lancake changed Category from none/unspecified to Engine.
lancake raised the priority of this task from Normal to High.
Restricted Application added a subscriber: AndyP. · View Herald TranscriptJun 6 2017, 9:34 PM