cc-tweaked / CC-Tweaked

Just another ComputerCraft fork
https://tweaked.cc
881 stars 206 forks source link

Computer randomly shutdown when FTB Backup installed #1868

Open Kxuan opened 1 week ago

Kxuan commented 1 week ago

Minecraft Version

1.20.x

Version

1.110.2

Details

With FTB Backup installed, the server will be backed up periodically. And when the backup process run, it may block the server thread for a long time.

And if there is a computer or turtle's code running at that time, it will likely to timeout.

However, this timeout is not caused by the program running in the computer, it causes by the server itself. I think the computer should not be terminate in this case.

Here is the log message:

[13:00:10] [FTB Backups backup thread 0/WARN] [ne.cr.le.lo.LevelLoader/]: Found possible mod dimension with no region folder ae2:spatial_storage
[13:00:12] [FTB Backups backup thread 0/INFO] [ne.cr.ft.FTBBackups/]: Backup preview created, Scan took 417ms, Capture took 1174ms
[13:00:31] [ComputerCraft-Computer-Monitor-0/WARN] [da.co.co.co.co.ComputerThread/]: Terminating computer #4 due to timeout (ran over by 3.048036171 seconds). This is NOT a bug, but may mean a computer is misbehaving.
Thread ComputerCraft-Computer-Worker-0 is currently RUNNABLE
  at java.base@17.0.11/sun.nio.ch.FileDispatcherImpl.size0(Native Method)
  at java.base@17.0.11/sun.nio.ch.FileDispatcherImpl.size(FileDispatcherImpl.java:90)
  at java.base@17.0.11/sun.nio.ch.FileChannelImpl.size(FileChannelImpl.java:390)
  at TRANSFORMER/computercraft@1.110.2/dan200.computercraft.core.filesystem.WritableFileMount$CountingChannel.write(WritableFileMount.java:205)
  at TRANSFORMER/computercraft@1.110.2/dan200.computercraft.core.apis.handles.AbstractHandle.write(AbstractHandle.java:276)
  at TRANSFORMER/computercraft@1.110.2/dan200.computercraft.core.apis.handles.WriteHandle.write(WriteHandle.java:38)
  at java.base@17.0.11/java.lang.invoke.LambdaForm$DMH/0x00007d8550000800.invokeSpecial(LambdaForm$DMH)
  at java.base@17.0.11/java.lang.invoke.LambdaForm$MH/0x00007d8551d38800.invoke(LambdaForm$MH)
  at java.base@17.0.11/java.lang.invoke.LambdaForm$MH/0x00007d8550410800.invokeExact_MT(LambdaForm$MH)
  at TRANSFORMER/computercraft@1.110.2/dan200.computercraft.core.asm.LuaMethodSupplier.lambda$static$0(LuaMethodSupplier.java:27)
  at TRANSFORMER/computercraft@1.110.2/dan200.computercraft.core.asm.LuaMethodSupplier$$Lambda$16742/0x00007d8551d37508.apply(Unknown Source)
  at TRANSFORMER/computercraft@1.110.2/dan200.computercraft.core.lua.ResultInterpreterFunction.invoke(ResultInterpreterFunction.java:56)
  at TRANSFORMER/cc.tweaked.cobalt/org.squiddev.cobalt.function.ResumableVarArgFunction.invoke(ResumableVarArgFunction.java:34)
  at TRANSFORMER/cc.tweaked.cobalt/org.squiddev.cobalt.function.Dispatch.invokeImpl(Dispatch.java:175)
  at TRANSFORMER/cc.tweaked.cobalt/org.squiddev.cobalt.function.Dispatch.invoke(Dispatch.java:63)
  at TRANSFORMER/cc.tweaked.cobalt/org.squiddev.cobalt.function.LuaInterpreter.nativeCall(LuaInterpreter.java:614)
  at TRANSFORMER/cc.tweaked.cobalt/org.squiddev.cobalt.function.LuaInterpreter.execute(LuaInterpreter.java:412)
  at TRANSFORMER/cc.tweaked.cobalt/org.squiddev.cobalt.function.LuaInterpretedFunction.resume(LuaInterpretedFunction.java:155)
  at TRANSFORMER/cc.tweaked.cobalt/org.squiddev.cobalt.debug.DebugState.resume(DebugState.java:452)
  at TRANSFORMER/cc.tweaked.cobalt/org.squiddev.cobalt.LuaThread.loop(LuaThread.java:353)
  at TRANSFORMER/cc.tweaked.cobalt/org.squiddev.cobalt.LuaThread.run(LuaThread.java:301)
  at TRANSFORMER/cc.tweaked.cobalt/org.squiddev.cobalt.LuaThread.run(LuaThread.java:297)
  at TRANSFORMER/computercraft@1.110.2/dan200.computercraft.core.lua.CobaltLuaMachine.handleEvent(CobaltLuaMachine.java:131)
  at TRANSFORMER/computercraft@1.110.2/dan200.computercraft.core.computer.ComputerExecutor.resumeMachine(ComputerExecutor.java:560)
  at TRANSFORMER/computercraft@1.110.2/dan200.computercraft.core.computer.ComputerExecutor.workImpl(ComputerExecutor.java:524)
  at TRANSFORMER/computercraft@1.110.2/dan200.computercraft.core.computer.ComputerExecutor.work(ComputerExecutor.java:464)
  at TRANSFORMER/computercraft@1.110.2/dan200.computercraft.core.computer.computerthread.ComputerThread$WorkerThread.runImpl(ComputerThread.java:659)
  at TRANSFORMER/computercraft@1.110.2/dan200.computercraft.core.computer.computerthread.ComputerThread$WorkerThread.run(ComputerThread.java:613)
  at java.base@17.0.11/java.lang.Thread.run(Thread.java:840)
Enqueued command: ABORT_WITH_TIMEOUT
Enqueued events: 4

[13:00:35] [ComputerCraft-Computer-Worker-0/ERROR] [da.co.co.co.co.ComputerThread/]: Error running task on computer #4
java.lang.InterruptedException: null
        at java.util.concurrent.locks.ReentrantLock$Sync.lockInterruptibly(ReentrantLock.java:159) ~[?:?] {}
        at java.util.concurrent.locks.ReentrantLock.lockInterruptibly(ReentrantLock.java:372) ~[?:?] {}
        at dan200.computercraft.core.computer.ComputerExecutor.shutdown(ComputerExecutor.java:424) ~[cc-tweaked-1.20.4-forge-1.110.2.jar%23196!/:1.110.2] {re:classloading}
        at dan200.computercraft.core.computer.ComputerExecutor.resumeMachine(ComputerExecutor.java:563) ~[cc-tweaked-1.20.4-forge-1.110.2.jar%23196!/:1.110.2] {re:classloading}
        at dan200.computercraft.core.computer.ComputerExecutor.workImpl(ComputerExecutor.java:524) ~[cc-tweaked-1.20.4-forge-1.110.2.jar%23196!/:1.110.2] {re:classloading}
        at dan200.computercraft.core.computer.ComputerExecutor.work(ComputerExecutor.java:464) ~[cc-tweaked-1.20.4-forge-1.110.2.jar%23196!/:1.110.2] {re:classloading}
        at dan200.computercraft.core.computer.computerthread.ComputerThread$WorkerThread.runImpl(ComputerThread.java:659) ~[cc-tweaked-1.20.4-forge-1.110.2.jar%23196!/:1.110.2] {re:classloading}
        at dan200.computercraft.core.computer.computerthread.ComputerThread$WorkerThread.run(ComputerThread.java:613) ~[cc-tweaked-1.20.4-forge-1.110.2.jar%23196!/:1.110.2] {re:classloading}
        at java.lang.Thread.run(Thread.java:840) ~[?:?] {re:mixin}
[13:00:35] [FTB Backups backup thread 0/INFO] [ne.cr.ft.FTBBackups/]: Setting world minecraft:overworld save state to false
[13:00:35] [FTB Backups backup thread 0/INFO] [ne.cr.ft.FTBBackups/]: Setting world minecraft:the_nether save state to false
[13:00:35] [FTB Backups backup thread 0/INFO] [ne.cr.ft.FTBBackups/]: Setting world minecraft:the_end save state to false
[13:00:35] [Render thread/INFO] [minecraft/ChatComponent]: [System] [CHAT] Backup finished in 0m, 26s, 524ms
[13:00:36] [FTB Backups backup thread 0/INFO] [ne.cr.ft.FTBBackups/]: Backup size 229.2MB World Size 330.7MB
[13:00:36] [FTB Backups backup thread 0/INFO] [ne.cr.ft.FTBBackups/]: Writing to file /data/nas/minecraft/.minecraft/backups/backups.json
[13:00:36] [FTB Backups backup thread 0/INFO] [ne.cr.ft.FTBBackups/]: New backup created at /data/nas/minecraft/.minecraft/backups/2024-6-21_13-0-0.zip size: 229.2MB Took: 0m, 26s, 524ms Sha1: da676bc406b13a6b57e7932c8bdb5dd73784dfd0
zyxkad commented 1 week ago

@Kxuan Can you also share the code you are running?