Cloudburst icon indicating copy to clipboard operation
Cloudburst copied to clipboard

Water updates deadlock server

Open SupremeMortal opened this issue 3 years ago • 4 comments

Expected Behavior

Water to update and flow correctly.

Actual Behavior

Water deadlocked the main thread.

Steps to Reproduce

Please water somewhere to produce many block updates.

Crashdump, Backtrace or Other Files

01:19:18 [FATAL] --------- Server stopped responding --------- (72s)
01:19:18 [FATAL] Please report this to Cloudburst:
01:19:18 [FATAL]  - https://github.com/CloudburstMC/Server/issues/new
01:19:18 [FATAL] ---------------- Main thread ----------------
01:19:18 [FATAL] Current Thread: main
01:19:18 [FATAL]        PID: 1 | Suspended: false | Native: false | State: RUNNABLE
01:19:18 [FATAL]        Stack:
01:19:18 [FATAL]                app//org.cloudburstmc.server.level.Level.getBlock(Level.java:1313)
01:19:18 [FATAL]                app//org.cloudburstmc.server.level.Level.updateAround(Level.java:1019)
01:19:18 [FATAL]                app//org.cloudburstmc.server.level.Level.setBlock(Level.java:1521)
01:19:18 [FATAL]                app//org.cloudburstmc.server.level.Level.setBlock(Level.java:1465)
01:19:18 [FATAL]                app//org.cloudburstmc.server.block.CloudBlock.set(CloudBlock.java:72)
01:19:18 [FATAL]                app//org.cloudburstmc.server.block.behavior.BlockBehaviorLiquid.onUpdate(BlockBehaviorLiquid.java:248)
01:19:18 [FATAL]                app//org.cloudburstmc.server.scheduler.BlockUpdateScheduler.perform(BlockUpdateScheduler.java:59)
01:19:18 [FATAL]                app//org.cloudburstmc.server.scheduler.BlockUpdateScheduler.tick(BlockUpdateScheduler.java:31)
01:19:18 [FATAL]                app//org.cloudburstmc.server.level.Level.doTick(Level.java:633)
01:19:18 [FATAL]                app//org.cloudburstmc.server.level.LevelManager.tick(LevelManager.java:112)
01:19:18 [FATAL]                app//org.cloudburstmc.server.Server.tick(Server.java:929)
01:19:18 [FATAL]                app//org.cloudburstmc.server.Server.tickProcessor(Server.java:748)
01:19:18 [FATAL]                app//org.cloudburstmc.server.Server.start(Server.java:716)
01:19:18 [FATAL]                app//org.cloudburstmc.server.Server.boot(Server.java:581)
01:19:18 [FATAL]                app//org.cloudburstmc.server.Bootstrap.main(Bootstrap.java:150)
01:19:18 [FATAL] ---------------- All threads ----------------
01:19:20 [FATAL] Current Thread: main
01:19:20 [FATAL]        PID: 1 | Suspended: false | Native: false | State: RUNNABLE
01:19:20 [FATAL]        Thread is waiting on monitor(s):
01:19:20 [FATAL]                Locked on:app//org.cloudburstmc.server.scheduler.BlockUpdateScheduler.tick(BlockUpdateScheduler.java:31)
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/java.util.Collections$SetFromMap.size(Collections.java:5650)
01:19:20 [FATAL]                java.base@15/java.util.HashSet.<init>(HashSet.java:120)
01:19:20 [FATAL]                app//org.cloudburstmc.server.level.chunk.Chunk.getEntities(Chunk.java:346)
01:19:20 [FATAL]                app//org.cloudburstmc.server.level.Level.getLoadedChunkEntities(Level.java:2066)
01:19:20 [FATAL]                app//org.cloudburstmc.server.level.Level.getNearbyEntities(Level.java:2017)
01:19:20 [FATAL]                app//org.cloudburstmc.server.level.Level.getNearbyEntities(Level.java:2004)
01:19:20 [FATAL]                app//org.cloudburstmc.server.level.Level.getNearbyEntities(Level.java:2000)
01:19:20 [FATAL]                app//org.cloudburstmc.server.level.Level.setBlock(Level.java:1517)
01:19:20 [FATAL]                app//org.cloudburstmc.server.level.Level.setBlock(Level.java:1465)
01:19:20 [FATAL]                app//org.cloudburstmc.server.block.CloudBlock.set(CloudBlock.java:72)
01:19:20 [FATAL]                app//org.cloudburstmc.server.block.behavior.BlockBehaviorLiquid.onUpdate(BlockBehaviorLiquid.java:248)
01:19:20 [FATAL]                app//org.cloudburstmc.server.scheduler.BlockUpdateScheduler.perform(BlockUpdateScheduler.java:59)
01:19:20 [FATAL]                app//org.cloudburstmc.server.scheduler.BlockUpdateScheduler.tick(BlockUpdateScheduler.java:31)
01:19:20 [FATAL]                app//org.cloudburstmc.server.level.Level.doTick(Level.java:633)
01:19:20 [FATAL]                app//org.cloudburstmc.server.level.LevelManager.tick(LevelManager.java:112)
> sfef
01:19:20 [FATAL]                app//org.cloudburstmc.server.Server.tick(Server.java:929)
01:19:20 [FATAL]                app//org.cloudburstmc.server.Server.tickProcessor(Server.java:748)
01:19:20 [FATAL]                app//org.cloudburstmc.server.Server.start(Server.java:716)
01:19:20 [FATAL]                app//org.cloudburstmc.server.Server.boot(Server.java:581)
01:19:20 [FATAL]                app//org.cloudburstmc.server.Bootstrap.main(Bootstrap.java:150)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Reference Handler
01:19:20 [FATAL]        PID: 2 | Suspended: false | Native: false | State: RUNNABLE
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/java.lang.ref.Reference.waitForReferencePendingList(Native Method)
01:19:20 [FATAL]                java.base@15/java.lang.ref.Reference.processPendingReferences(Reference.java:241)
01:19:20 [FATAL]                java.base@15/java.lang.ref.Reference$ReferenceHandler.run(Reference.java:213)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Finalizer
01:19:20 [FATAL]        PID: 3 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/java.lang.Object.wait(Native Method)
01:19:20 [FATAL]                java.base@15/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
01:19:20 [FATAL]                java.base@15/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176)
01:19:20 [FATAL]                java.base@15/java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:170)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Signal Dispatcher
01:19:20 [FATAL]        PID: 4 | Suspended: false | Native: false | State: RUNNABLE
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Notification Thread
01:19:20 [FATAL]        PID: 11 | Suspended: false | Native: false | State: RUNNABLE
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Common-Cleaner
01:19:20 [FATAL]        PID: 12 | Suspended: false | Native: false | State: TIMED_WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/java.lang.Object.wait(Native Method)
01:19:20 [FATAL]                java.base@15/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
01:19:20 [FATAL]                java.base@15/jdk.internal.ref.CleanerImpl.run(CleanerImpl.java:148)
01:19:20 [FATAL]                java.base@15/java.lang.Thread.run(Thread.java:832)
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.InnocuousThread.run(InnocuousThread.java:134)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Log4j2-TF-1-AsyncLogger[AsyncContext@55054057]-1
01:19:20 [FATAL]        PID: 15 | Suspended: false | Native: false | State: RUNNABLE
01:19:20 [FATAL]        Thread is waiting on monitor(s):
01:19:20 [FATAL]                Locked on:java.base@15/sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:159)
01:19:20 [FATAL]                Locked on:java.base@15/java.io.PrintWriter.flush(PrintWriter.java:396)
01:19:20 [FATAL]                Locked on:app//org.jline.reader.impl.LineReaderImpl.printAbove(LineReaderImpl.java:658)
01:19:20 [FATAL]                Locked on:app//net.minecrell.terminalconsole.TerminalConsoleAppender.print(TerminalConsoleAppender.java:263)
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/java.io.FileOutputStream.writeBytes(Native Method)
01:19:20 [FATAL]                java.base@15/java.io.FileOutputStream.write(FileOutputStream.java:347)
01:19:20 [FATAL]                java.base@15/sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:242)
01:19:20 [FATAL]                java.base@15/sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:321)
01:19:20 [FATAL]                java.base@15/sun.nio.cs.StreamEncoder.implFlush(StreamEncoder.java:325)
01:19:20 [FATAL]                java.base@15/sun.nio.cs.StreamEncoder.flush(StreamEncoder.java:159)
01:19:20 [FATAL]                java.base@15/java.io.OutputStreamWriter.flush(OutputStreamWriter.java:251)
01:19:20 [FATAL]                java.base@15/java.io.PrintWriter.flush(PrintWriter.java:396)
01:19:20 [FATAL]                app//org.jline.terminal.impl.AbstractTerminal.flush(AbstractTerminal.java:159)
01:19:20 [FATAL]                app//org.jline.reader.impl.LineReaderImpl.printAbove(LineReaderImpl.java:658)
01:19:20 [FATAL]                app//net.minecrell.terminalconsole.TerminalConsoleAppender.print(TerminalConsoleAppender.java:263)
01:19:20 [FATAL]                app//net.minecrell.terminalconsole.TerminalConsoleAppender.append(TerminalConsoleAppender.java:256)
01:19:20 [FATAL]                app//org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:156)
01:19:20 [FATAL]                app//org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:129)
01:19:20 [FATAL]                app//org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:120)
01:19:20 [FATAL]                app//org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:84)
01:19:20 [FATAL]                app//org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:464)
01:19:20 [FATAL]                app//org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:448)
01:19:20 [FATAL]                app//org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:431)
01:19:20 [FATAL]                app//org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:419)
01:19:20 [FATAL]                app//org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:79)
01:19:20 [FATAL]                app//org.apache.logging.log4j.core.async.AsyncLogger.actualAsyncLog(AsyncLogger.java:381)
01:19:20 [FATAL]                app//org.apache.logging.log4j.core.async.RingBufferLogEvent.execute(RingBufferLogEvent.java:161)
01:19:20 [FATAL]                app//org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:45)
01:19:20 [FATAL]                app//org.apache.logging.log4j.core.async.RingBufferLogEventHandler.onEvent(RingBufferLogEventHandler.java:29)
01:19:20 [FATAL]                app//com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:168)
01:19:20 [FATAL]                app//com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125)
01:19:20 [FATAL]                java.base@15/java.lang.Thread.run(Thread.java:832)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Log4j2-TF-4-AsyncLogger[DefaultAsyncContext@main]-3
01:19:20 [FATAL]        PID: 18 | Suspended: false | Native: false | State: TIMED_WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:252)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:1661)
01:19:20 [FATAL]                app//com.lmax.disruptor.TimeoutBlockingWaitStrategy.waitFor(TimeoutBlockingWaitStrategy.java:38)
01:19:20 [FATAL]                app//com.lmax.disruptor.ProcessingSequenceBarrier.waitFor(ProcessingSequenceBarrier.java:56)
01:19:20 [FATAL]                app//com.lmax.disruptor.BatchEventProcessor.processEvents(BatchEventProcessor.java:159)
01:19:20 [FATAL]                app//com.lmax.disruptor.BatchEventProcessor.run(BatchEventProcessor.java:125)
01:19:20 [FATAL]                java.base@15/java.lang.Thread.run(Thread.java:832)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: com.google.common.base.internal.Finalizer
01:19:20 [FATAL]        PID: 19 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/java.lang.Object.wait(Native Method)
01:19:20 [FATAL]                java.base@15/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:155)
01:19:20 [FATAL]                java.base@15/java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:176)
01:19:20 [FATAL]                app//com.google.common.base.internal.Finalizer.run(Finalizer.java:145)
01:19:20 [FATAL]                java.base@15/java.lang.Thread.run(Thread.java:832)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Console Thread
01:19:20 [FATAL]        PID: 21 | Suspended: false | Native: false | State: RUNNABLE
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/java.io.FileInputStream.read0(Native Method)
01:19:20 [FATAL]                java.base@15/java.io.FileInputStream.read(FileInputStream.java:223)
01:19:20 [FATAL]                app//org.jline.terminal.impl.AbstractPty$PtyInputStream.read(AbstractPty.java:65)
01:19:20 [FATAL]                app//org.jline.utils.NonBlockingInputStream.read(NonBlockingInputStream.java:62)
01:19:20 [FATAL]                app//org.jline.utils.NonBlocking$NonBlockingInputStreamReader.read(NonBlocking.java:168)
01:19:20 [FATAL]                app//org.jline.utils.NonBlockingReader.read(NonBlockingReader.java:57)
01:19:20 [FATAL]                app//org.jline.keymap.BindingReader.readCharacter(BindingReader.java:133)
01:19:20 [FATAL]                app//org.jline.keymap.BindingReader.readBinding(BindingReader.java:110)
01:19:20 [FATAL]                app//org.jline.keymap.BindingReader.readBinding(BindingReader.java:61)
01:19:20 [FATAL]                app//org.jline.reader.impl.LineReaderImpl.readBinding(LineReaderImpl.java:786)
01:19:20 [FATAL]                app//org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:558)
01:19:20 [FATAL]                app//org.jline.reader.impl.LineReaderImpl.readLine(LineReaderImpl.java:404)
01:19:20 [FATAL]                app//net.minecrell.terminalconsole.SimpleTerminalConsole.readCommands(SimpleTerminalConsole.java:157)
01:19:20 [FATAL]                app//net.minecrell.terminalconsole.SimpleTerminalConsole.start(SimpleTerminalConsole.java:140)
01:19:20 [FATAL]                app//org.cloudburstmc.server.Server$ConsoleThread.run(Server.java:1838)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool-1-worker-19
01:19:20 [FATAL]        PID: 22 | Suspended: false | Native: false | State: TIMED_WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.parkUntil(LockSupport.java:293)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1624)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool-1-worker-5
01:19:20 [FATAL]        PID: 23 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Network Listener - #0
01:19:20 [FATAL]        PID: 24 | Suspended: false | Native: false | State: RUNNABLE
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                app//io.netty.channel.kqueue.Native.keventWait(Native Method)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.Native.keventWait(Native.java:94)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.KQueueEventLoop.kqueueWait(KQueueEventLoop.java:177)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.KQueueEventLoop.kqueueWait(KQueueEventLoop.java:169)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.KQueueEventLoop.run(KQueueEventLoop.java:238)
01:19:20 [FATAL]                app//io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
01:19:20 [FATAL]                app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
01:19:20 [FATAL]                java.base@15/java.lang.Thread.run(Thread.java:832)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Network Listener - #1
01:19:20 [FATAL]        PID: 25 | Suspended: false | Native: false | State: RUNNABLE
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                app//io.netty.channel.kqueue.Native.keventWait(Native Method)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.Native.keventWait(Native.java:94)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.KQueueEventLoop.kqueueWait(KQueueEventLoop.java:177)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.KQueueEventLoop.kqueueWait(KQueueEventLoop.java:169)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.KQueueEventLoop.run(KQueueEventLoop.java:238)
01:19:20 [FATAL]                app//io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
01:19:20 [FATAL]                app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
01:19:20 [FATAL]                java.base@15/java.lang.Thread.run(Thread.java:832)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Network Listener - #2
01:19:20 [FATAL]        PID: 26 | Suspended: false | Native: false | State: RUNNABLE
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                app//io.netty.channel.kqueue.Native.keventWait(Native Method)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.Native.keventWait(Native.java:94)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.KQueueEventLoop.kqueueWait(KQueueEventLoop.java:177)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.KQueueEventLoop.kqueueWait(KQueueEventLoop.java:169)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.KQueueEventLoop.run(KQueueEventLoop.java:238)
01:19:20 [FATAL]                app//io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
01:19:20 [FATAL]                app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
01:19:20 [FATAL]                java.base@15/java.lang.Thread.run(Thread.java:832)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Watchdog
01:19:20 [FATAL]        PID: 27 | Suspended: false | Native: false | State: RUNNABLE
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.management@15/sun.management.ThreadImpl.dumpThreads0(Native Method)
01:19:20 [FATAL]                java.management@15/sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:521)
01:19:20 [FATAL]                java.management@15/sun.management.ThreadImpl.dumpAllThreads(ThreadImpl.java:509)
01:19:20 [FATAL]                app//org.cloudburstmc.server.utils.Watchdog.run(Watchdog.java:69)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Network Listener - #3
01:19:20 [FATAL]        PID: 28 | Suspended: false | Native: false | State: RUNNABLE
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                app//io.netty.channel.kqueue.Native.keventWait(Native Method)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.Native.keventWait(Native.java:94)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.KQueueEventLoop.kqueueWait(KQueueEventLoop.java:177)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.KQueueEventLoop.kqueueWait(KQueueEventLoop.java:169)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.KQueueEventLoop.run(KQueueEventLoop.java:238)
01:19:20 [FATAL]                app//io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
01:19:20 [FATAL]                app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
01:19:20 [FATAL]                java.base@15/java.lang.Thread.run(Thread.java:832)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: Network Listener - #4
01:19:20 [FATAL]        PID: 30 | Suspended: false | Native: false | State: RUNNABLE
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.freeMemory0(Native Method)
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.freeMemory(Unsafe.java:924)
01:19:20 [FATAL]                java.base@15/java.nio.DirectByteBuffer$Deallocator.run(DirectByteBuffer.java:91)
01:19:20 [FATAL]                java.base@15/jdk.internal.ref.Cleaner.clean(Cleaner.java:143)
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.invokeCleaner(Unsafe.java:3871)
01:19:20 [FATAL]                jdk.unsupported@15/sun.misc.Unsafe.invokeCleaner(Unsafe.java:1289)
01:19:20 [FATAL]                java.base@15/jdk.internal.reflect.GeneratedMethodAccessor2.invoke(Unknown Source)
01:19:20 [FATAL]                java.base@15/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
01:19:20 [FATAL]                java.base@15/java.lang.reflect.Method.invoke(Method.java:564)
01:19:20 [FATAL]                app//io.netty.util.internal.CleanerJava9.freeDirectBuffer(CleanerJava9.java:88)
01:19:20 [FATAL]                app//io.netty.util.internal.PlatformDependent.freeDirectBuffer(PlatformDependent.java:463)
01:19:20 [FATAL]                app//io.netty.buffer.UnpooledDirectByteBuf.freeDirect(UnpooledDirectByteBuf.java:116)
01:19:20 [FATAL]                app//io.netty.buffer.UnpooledByteBufAllocator$InstrumentedUnpooledUnsafeDirectByteBuf.freeDirect(UnpooledByteBufAllocator.java:223)
01:19:20 [FATAL]                app//io.netty.buffer.UnpooledDirectByteBuf.deallocate(UnpooledDirectByteBuf.java:646)
01:19:20 [FATAL]                app//io.netty.buffer.AbstractReferenceCountedByteBuf.handleRelease(AbstractReferenceCountedByteBuf.java:110)
01:19:20 [FATAL]                app//io.netty.buffer.AbstractReferenceCountedByteBuf.release(AbstractReferenceCountedByteBuf.java:100)
01:19:20 [FATAL]                app//com.nukkitx.protocol.bedrock.wrapper.BedrockWrapperSerializerV9_10.serialize(BedrockWrapperSerializerV9_10.java:45)
01:19:20 [FATAL]                app//com.nukkitx.protocol.bedrock.BedrockSession.sendWrapped(BedrockSession.java:118)
01:19:20 [FATAL]                app//com.nukkitx.protocol.bedrock.BedrockSession.sendQueued(BedrockSession.java:190)
01:19:20 [FATAL]                app//com.nukkitx.protocol.bedrock.BedrockSession.onTick(BedrockSession.java:168)
01:19:20 [FATAL]                app//com.nukkitx.protocol.bedrock.BedrockSession$$Lambda$777/0x0000000801050a40.run(Unknown Source)
01:19:20 [FATAL]                app//io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:163)
01:19:20 [FATAL]                app//io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:510)
01:19:20 [FATAL]                app//io.netty.channel.kqueue.KQueueEventLoop.run(KQueueEventLoop.java:293)
01:19:20 [FATAL]                app//io.netty.util.concurrent.SingleThreadEventExecutor$6.run(SingleThreadEventExecutor.java:1050)
01:19:20 [FATAL]                app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
01:19:20 [FATAL]                java.base@15/java.lang.Thread.run(Thread.java:832)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool.commonPool-worker-19
01:19:20 [FATAL]        PID: 31 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool-1-worker-23
01:19:20 [FATAL]        PID: 32 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool-1-worker-9
01:19:20 [FATAL]        PID: 33 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool-1-worker-27
01:19:20 [FATAL]        PID: 34 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool-1-worker-13
01:19:20 [FATAL]        PID: 35 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool-1-worker-17
01:19:20 [FATAL]        PID: 37 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool-1-worker-3
01:19:20 [FATAL]        PID: 38 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool-1-worker-21
01:19:20 [FATAL]        PID: 39 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool-1-worker-7
01:19:20 [FATAL]        PID: 40 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool-1-worker-25
01:19:20 [FATAL]        PID: 41 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool.commonPool-worker-5
01:19:20 [FATAL]        PID: 42 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool.commonPool-worker-23
01:19:20 [FATAL]        PID: 43 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool.commonPool-worker-27
01:19:20 [FATAL]        PID: 45 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool.commonPool-worker-13
01:19:20 [FATAL]        PID: 46 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool.commonPool-worker-31
01:19:20 [FATAL]        PID: 47 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool.commonPool-worker-17
01:19:20 [FATAL]        PID: 48 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool.commonPool-worker-3
01:19:20 [FATAL]        PID: 49 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool.commonPool-worker-21
01:19:20 [FATAL]        PID: 50 | Suspended: false | Native: false | State: WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.park(LockSupport.java:211)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1633)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ------------------------------
01:19:20 [FATAL] Current Thread: ForkJoinPool.commonPool-worker-7
01:19:20 [FATAL]        PID: 51 | Suspended: false | Native: false | State: TIMED_WAITING
01:19:20 [FATAL]        Stack:
01:19:20 [FATAL]                java.base@15/jdk.internal.misc.Unsafe.park(Native Method)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.locks.LockSupport.parkUntil(LockSupport.java:293)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1624)
01:19:20 [FATAL]                java.base@15/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:183)
01:19:20 [FATAL] ---------------------------------------------

SupremeMortal avatar Oct 27 '20 20:10 SupremeMortal

Should be fixed in https://github.com/CloudburstMC/Server/pull/50/commits/0a7ea6c1b54a1e060ae1df3af5a13c6a6a386daa

Creeperface01 avatar Oct 30 '20 15:10 Creeperface01

@Creeperface01 0a7ea6c does seem to fix the deadlocked server, but water still does not flow right in this build. Repro is to create a block underwater and then destroy the block. Water never fills in the void.

mariusstrom avatar Nov 16 '20 16:11 mariusstrom

I believe this has to do with the change from fill_level block trait that only had 8 values, to liquid_depth block trait that has 16 values. The flow conditions probably need to be updated.

Sleepybear avatar May 17 '21 07:05 Sleepybear

I think this should has been fixed

Creeperface01 avatar Jun 05 '21 09:06 Creeperface01