SquidDev-CC / CCTweaks

Random additions to ComputerCraft (somewhat deprecated, use CC-Tweaked if you're on Minecraft 1.12).
MIT License
12 stars 2 forks source link

"Error" in peripheral access #111

Closed SquidDev closed 7 years ago

SquidDev commented 7 years ago
---- Minecraft Crash Report ----

WARNING: coremods are present:
  TransformerLoader (OpenComputers-MC1.8.9-1.5.22.6.jar)
  SpongeCoremod (spongeforge-1.8.9-1890-4.2.0-BETA-1744.jar)
  TweaksLoadingPlugin (CCTweaks-1.8.9-1.0.1-patched-02.jar)
Contact their authors BEFORE contacting forge

// Sorry :(

Time: 9/21/16 2:14 PM
Description: Watching Server

java.lang.Error
    at dan200.computercraft.core.apis.PeripheralAPI$PeripheralWrapper.queueEvent(PeripheralAPI.java:220)
    at org.squiddev.cctweaks.core.network.modem.PeripheralAccess.detach(PeripheralAccess.java:52)
    at org.squiddev.cctweaks.core.network.modem.BasicModem.detachPeripheralUnsync(BasicModem.java:115)
    at org.squiddev.cctweaks.core.network.modem.BasicModem.networkInvalidated(BasicModem.java:234)
    at org.squiddev.cctweaks.core.network.controller.Point.networkInvalidated(Point.java:111)
    at org.squiddev.cctweaks.core.network.controller.NetworkController.handleInvalidation(NetworkController.java:163)
    at org.squiddev.cctweaks.core.network.controller.NetworkController.handleInvalidation(NetworkController.java:158)
    at org.squiddev.cctweaks.core.network.controller.NetworkController.invalidateNode(NetworkController.java:245)
    at org.squiddev.cctweaks.core.network.modem.BasicModem.setPeripheralEnabled(BasicModem.java:275)
    at dan200.computercraft.shared.peripheral.modem.TileCable$1.setPeripheralEnabled(TileCable_Patch.java:67)
    at org.squiddev.cctweaks.core.network.modem.BasicModem.updateEnabled(BasicModem.java:182)
    at dan200.computercraft.shared.peripheral.modem.TileCable.onNeighbourChange(TileCable.java:165)
    at dan200.computercraft.shared.common.BlockGeneric.func_176204_a(BlockGeneric.java:162)
    at org.spongepowered.common.event.CauseTracker.notifyBlockOfStateChange(CauseTracker.java:1157)
    at net.minecraft.world.World.func_180496_d(World.java:1393)
    at dan200.computercraft.shared.util.RedstoneUtil.propogateRedstoneOutput(RedstoneUtil.java:87)
    at dan200.computercraft.shared.computer.blocks.TileComputerBase.destroy(TileComputerBase.java:76)
    at dan200.computercraft.shared.common.BlockGeneric.func_180663_b(BlockGeneric.java:119)
    at net.minecraft.world.chunk.Chunk.setBlockState(Chunk.java:535)
    at net.minecraft.world.World.func_180501_a(World.java:1168)
    at net.minecraft.world.World.func_175698_g(World.java:367)
    at net.minecraft.block.Block.removedByPlayer(Block.java:1212)
    at dan200.computercraft.shared.common.BlockGeneric.removedByPlayer(BlockGeneric.java:81)
    at net.minecraft.server.management.ItemInWorldManager.removeBlock(ItemInWorldManager.java:261)
    at net.minecraft.server.management.ItemInWorldManager.func_180237_b(ItemInWorldManager.java:309)
    at net.minecraft.server.management.ItemInWorldManager.func_180785_a(ItemInWorldManager.java:234)
    at net.minecraft.network.NetHandlerPlayServer.func_147345_a(NetHandlerPlayServer.java:536)
    at net.minecraft.network.play.client.C07PacketPlayerDigging.func_148833_a(SourceFile:40)
    at net.minecraft.network.play.client.C07PacketPlayerDigging.func_148833_a(SourceFile:10)
    at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:121)
    at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$0(SourceFile:39)
    at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at net.minecraft.util.Util.func_181617_a(SourceFile:44)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:660)
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:344)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:605)
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:481)
    at java.lang.Thread.run(Thread.java:745)

A detailed walkthrough of the error, its code path and all known details is as follows:
---------------------------------------------------------------------------------------

-- Head --
Stacktrace:
    at dan200.computercraft.core.apis.PeripheralAPI$PeripheralWrapper.queueEvent(PeripheralAPI.java:220)
    at org.squiddev.cctweaks.core.network.modem.PeripheralAccess.detach(PeripheralAccess.java:52)
    at org.squiddev.cctweaks.core.network.modem.BasicModem.detachPeripheralUnsync(BasicModem.java:115)
    at org.squiddev.cctweaks.core.network.modem.BasicModem.networkInvalidated(BasicModem.java:234)
    at org.squiddev.cctweaks.core.network.controller.Point.networkInvalidated(Point.java:111)
    at org.squiddev.cctweaks.core.network.controller.NetworkController.handleInvalidation(NetworkController.java:163)
    at org.squiddev.cctweaks.core.network.controller.NetworkController.handleInvalidation(NetworkController.java:158)
    at org.squiddev.cctweaks.core.network.controller.NetworkController.invalidateNode(NetworkController.java:245)
    at org.squiddev.cctweaks.core.network.modem.BasicModem.setPeripheralEnabled(BasicModem.java:275)
    at dan200.computercraft.shared.peripheral.modem.TileCable$1.setPeripheralEnabled(TileCable_Patch.java:67)
    at org.squiddev.cctweaks.core.network.modem.BasicModem.updateEnabled(BasicModem.java:182)
    at dan200.computercraft.shared.peripheral.modem.TileCable.onNeighbourChange(TileCable.java:165)
    at dan200.computercraft.shared.common.BlockGeneric.func_176204_a(BlockGeneric.java:162)
    at org.spongepowered.common.event.CauseTracker.notifyBlockOfStateChange(CauseTracker.java:1157)
    at net.minecraft.world.World.func_180496_d(World.java:1393)
    at dan200.computercraft.shared.util.RedstoneUtil.propogateRedstoneOutput(RedstoneUtil.java:87)
    at dan200.computercraft.shared.computer.blocks.TileComputerBase.destroy(TileComputerBase.java:76)
    at dan200.computercraft.shared.common.BlockGeneric.func_180663_b(BlockGeneric.java:119)
    at net.minecraft.world.chunk.Chunk.setBlockState(Chunk.java:535)
    at net.minecraft.world.World.func_180501_a(World.java:1168)
    at net.minecraft.world.World.func_175698_g(World.java:367)
    at net.minecraft.block.Block.removedByPlayer(Block.java:1212)
    at dan200.computercraft.shared.common.BlockGeneric.removedByPlayer(BlockGeneric.java:81)
    at net.minecraft.server.management.ItemInWorldManager.removeBlock(ItemInWorldManager.java:261)
    at net.minecraft.server.management.ItemInWorldManager.func_180237_b(ItemInWorldManager.java:309)
    at net.minecraft.server.management.ItemInWorldManager.func_180785_a(ItemInWorldManager.java:234)
    at net.minecraft.network.NetHandlerPlayServer.func_147345_a(NetHandlerPlayServer.java:536)
    at net.minecraft.network.play.client.C07PacketPlayerDigging.func_148833_a(SourceFile:40)
    at net.minecraft.network.play.client.C07PacketPlayerDigging.func_148833_a(SourceFile:10)
    at org.spongepowered.common.network.PacketUtil.onProcessPacket(PacketUtil.java:121)
    at net.minecraft.network.PacketThreadUtil$1.redirect$onProcessPacket$0(SourceFile:39)
    at net.minecraft.network.PacketThreadUtil$1.run(SourceFile:13)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at net.minecraft.util.Util.func_181617_a(SourceFile:44)
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:660)
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:344)
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:605)

-- Thread Dump --
Details:
    Threads: "process reaper" Id=6704484 RUNNABLE
    at java.lang.UNIXProcess.lambda$initStreams$3(UNIXProcess.java:299)
    at java.lang.UNIXProcess$$Lambda$7/662822946.run(Unknown Source)
    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)

    Number of locked synchronizers = 1
    - java.util.concurrent.ThreadPoolExecutor$Worker@3546f251

"Thread-6702411" Id=6704475 BLOCKED on java.util.HashMap@4b0c3908 owned by "Server thread" Id=17
    at org.squiddev.cctweaks.core.network.modem.BasicModem.detachPeripherals(BasicModem.java:106)
    -  blocked on java.util.HashMap@4b0c3908
    at org.squiddev.cctweaks.core.network.modem.BasicModemPeripheral.detach(BasicModemPeripheral.java:164)
    at dan200.computercraft.core.apis.PeripheralAPI$PeripheralWrapper.nativeDetach(PeripheralAPI.java:87)
    -  locked dan200.computercraft.core.apis.PeripheralAPI$PeripheralWrapper@3b810a89
    at dan200.computercraft.core.apis.PeripheralAPI$PeripheralWrapper.detach(PeripheralAPI.java:59)
    -  locked dan200.computercraft.core.apis.PeripheralAPI$PeripheralWrapper@3b810a89
    at dan200.computercraft.core.apis.PeripheralAPI.shutdown(PeripheralAPI.java:368)
    -  locked [Ldan200.computercraft.core.apis.PeripheralAPI$PeripheralWrapper;@3fbe9921
    at dan200.computercraft.core.computer.Computer$2.execute(Computer.java:801)
    -  locked java.util.ArrayList@7abc00b2
    -  locked dan200.computercraft.core.computer.Computer$2@786ab1ce
    at dan200.computercraft.core.computer.ComputerThread$1$1.run(ComputerThread.java:107)
    at java.lang.Thread.run(Thread.java:745)

"Coroutine-1885" Id=6703658 TIMED_WAITING on org.luaj.vm2.LuaThread$State@30d6d9
    at java.lang.Object.wait(Native Method)
    -  waiting on org.luaj.vm2.LuaThread$State@30d6d9
    at org.luaj.vm2.LuaThread$State.lua_yield(Unknown Source)
    at org.luaj.vm2.LuaThread.yield(Unknown Source)
    at org.luaj.vm2.lib.CoroutineLib.invoke(Unknown Source)
    at org.luaj.vm2.lib.VarArgFunction.onInvoke(Unknown Source)
    at org.luaj.vm2.TailcallVarargs.eval(Unknown Source)
    at org.squiddev.luaj.luajc.function.FunctionWrapper.invoke(FunctionWrapper.java:54)
    at org.squiddev.luaj.luajc.function.LuaVM.execute(LuaVM.java:299)
    ...

Stacktrace:
    at net.minecraft.server.dedicated.ServerHangWatchdog.run(ServerHangWatchdog.java:63)
    at java.lang.Thread.run(Thread.java:745)

-- System Details --
Details:
    Minecraft Version: 1.8.9
    Operating System: Linux (amd64) version 2.6.32-46-pve
    Java Version: 1.8.0_91, Oracle Corporation
    Java VM Version: OpenJDK 64-Bit Server VM (mixed mode), Oracle Corporation
    Memory: 1242413144 bytes (1184 MB) / 3081285632 bytes (2938 MB) up to 8563785728 bytes (8167 MB)
    JVM Flags: 4 total; -Xmx8192M -Xincgc -XX:ParallelGCThreads=3 -XX:MaxPermSize=128m
    IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95
    FML: MCP 9.19 Powered by Forge 11.15.1.1902 22 mods loaded, 22 mods active
    States: 'U' = Unloaded 'L' = Loaded 'C' = Constructed 'H' = Pre-initialized 'I' = Initialized 'J' = Post-initialized 'A' = Available 'D' = Disabled 'E' = Errored
    UCHIJAAAA   mcp{9.19} [Minecraft Coder Pack] (minecraft.jar) 
    UCHIJAAAA   FML{8.0.99.99} [Forge Mod Loader] (forge-1.8.9-11.15.1.1902-1.8.9-universal.jar) 
    UCHIJAAAA   Forge{11.15.1.1902} [Minecraft Forge] (forge-1.8.9-11.15.1.1902-1.8.9-universal.jar) 
    UCHIJAAAA   OpenComputers|Core{1.5.22.6} [OpenComputers (Core)] (minecraft.jar) 
    UCHIJAAAA   sponge{1.8.9-1890-4.2.0-BETA-1744} [SpongeForge] (spongeforge-1.8.9-1890-4.2.0-BETA-1744.jar) 
    UCHIJAAAA   <CCTweaks ASM>{1.0.1} [<CCTweaks ASM>] (minecraft.jar) 
    UCHIJAAAA   io.github.hsyyid.adminshop{1.8.1} [AdminShop] (AdminShop-1.8.9-1.8.1-universal.jar) 
    UCHIJAAAA   ComputerCraft{1.79} [ComputerCraft] (ComputerCraft1.79.jar) 
    UCHIJAAAA   CCTweaks{1.0.1} [CCTweaks] (CCTweaks-1.8.9-1.0.1-patched-02.jar) 
    UCHIJAAAA   chunkloaderz{1.0.3} [ChunkLoaderZ] (ChunkLoaderZ-1.8.9-1.0.3.jar) 
    UCHIJAAAA   Dynmap{2.3-15} [Dynmap] (Dynmap-2.3-forge-1.8.9.jar) 
    UCHIJAAAA   io.github.hsyyid.essentialcmds{@project.informativeVersion@} [EssentialCmds] (EssentialCmds-1.8.9-8.1.13-universal.jar) 
    UCHIJAAAA   griefprevention{2.0.0} [GriefPrevention] (griefprevention-1.8.9-2.0.0.70.jar) 
    UCHIJAAAA   IronChest{6.0.125.770} [Iron Chest] (ironchest-1.8.9-6.0.125.770.jar) 
    UCHIJAAAA   JEI{2.28.9.176} [Just Enough Items] (jei_1.8.9-2.28.9.176.jar) 
    UCHIJAAAA   io.github.hsyyid.kits{1.7.4} [Kits] (Kits-1.7.4.jar) 
    UCHIJAAAA   minimalperipherals{0.0} [MinimalPeripherals] (MinimalPeripherals-lite-1.8.9-1.1.jar) 
    UCHIJAAAA   MoreFurnaces{1.5.1} [More Furnaces] (MoreFurnaces-1.5.1-MC1.8.9.jar) 
    UCHIJAAAA   OpenComputers{1.5.22.6} [OpenComputers] (OpenComputers-MC1.8.9-1.5.22.6.jar) 
    UCHIJAAAA   ninja.leaping.permissionsex{2.0-SNAPSHOT} [PermissionsEx] (PermissionsEx-Sponge.jar) 
    UCHIJAAAA   totaleconomy{1.4.1} [Total Economy] (TotalEconomy-v1.4.1.jar) 
    UCHIJAAAA   worldedit{6.1.1} [WorldEdit] (worldedit-forge-mc1.8.9-6.1.1-dist.jar) 
    Loaded coremods (and transformers): 
TransformerLoader (OpenComputers-MC1.8.9-1.5.22.6.jar)
  li.cil.oc.common.asm.ClassTransformer
SpongeCoremod (spongeforge-1.8.9-1890-4.2.0-BETA-1744.jar)
  org.spongepowered.common.launch.transformer.SpongeSuperclassTransformer
TweaksLoadingPlugin (CCTweaks-1.8.9-1.0.1-patched-02.jar)
  org.squiddev.cctweaks.core.asm.ASMTransformer
    Profiler Position: N/A (disabled)
    Player Count: 3 / 50; [EntityPlayerMP['tagenkan'/1277, l='world', x=5590.79, y=70.00, z=2484.64], EntityPlayerMP['umwn'/148352, l='world', x=6862.56, y=82.00, z=3363.80], EntityPlayerMP['Ale32bit'/203253, l='world', x=5979.05, y=71.00, z=2790.31]]
    Is Modded: Definitely; Server brand changed to 'fml,forge,sponge'
    Type: Dedicated Server (map_server.txt)
inklit commented 7 years ago

I suspect that this was fixed when you fixed the Networking Cable lag and a bunch of those crash bugs. Note that the description of the crash is "Watching server". I believe this means that the server was frozen and that is why it says Java.lang.Error - That code was just the last code that the server was running when it was killed.

I don't think that this was a problem with CCTweaks specifically, but if it happens again I will let you know.

Note, you actually left another stack trace which is a completely different bug inside of that block up there.

SquidDev commented 7 years ago

I suspect that this was fixed when you fixed the Networking Cable lag and a bunch of those crash bugs.

Has it not occurred again then? I think the issue here is a threading deadlock though where I don't know.

Note, you actually left another stack trace which is a completely different bug inside of that block up there.

Ahh, thanks! I think I reported that one anyway, though it was a vanilla bug which I can't really do anything about (and IIRC has been fixed for 1.8).

inklit commented 7 years ago

I had a similar error (java.lang.Error) crash with description Watching server that threw a different stack trace related to a different mod that does not even use any advanced threading or anything that could cause issues, which is why I think that it is not necessarily the mods fault, however it does seem to be a threading deadlock. Can't really tell what caused the threading deadlock though, and the stacktrace is very misleading.

It has not happened again.

SquidDev commented 7 years ago

Right, I'm going to close this then. I don't think this is CCTweaks' fault but, if it occurs again. do create a new issue/post a comment here.