This is a read-only snapshot of the ComputerCraft forums, taken in April 2020.
infinitebrainspace's profile picture

[MC 1.7.10][CC 1.65] MOD HAS DIRECT REFERENCE System.exit()

Started by infinitebrainspace, 05 January 2015 - 09:46 PM
infinitebrainspace #1
Posted 05 January 2015 - 10:46 PM
Anyone know what this means? ========================================================================================= 15/WARN] [FML]: MOD HAS DIRECT REFERENCE System.exit() THIS IS NOT ALLOWED REROUTING TO FML! [17:16:41] [Thread-15/WARN] [FML]: Offendor: org/luaj/vm2/lib/OsLib.exit(I)V [17:16:41] [Thread-15/WARN] [FML]: Use FMLCommonHandler.exitJava instead ========================================================================================= I only ask here because of the reference to luaj in the error. I tried searching for the error, but was unable to find any usable information both google and computercraft.info I'm using a computer to make a command block clear a large area. I know MC 1.8 has a command to do this, but alas, I only have 1.7.10. This only seems to happen when using command blocks, and then only when doing several commands in sequence. I tried putting sleep(.1) between each method call to the command block, but it doesn't seem to make a difference. It runs for a while, but inevitably crashes the server.

The crash report is as follows:

—- Minecraft Crash Report —-
// Shall we play a game?

Time: 1/5/15 7:20 PM
Description: Exception in server tick loop

java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
at java.util.HashMap$KeyIterator.next(Unknown Source)
at net.minecraft.entity.EntityTracker.func_72788_a(EntityTracker.java:269)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:648)
at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)


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

– System Details –
Details:
Minecraft Version: 1.7.10
Operating System: Windows Server 2008 R2 (amd64) version 6.1
Java Version: 1.7.0_45, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 623071216 bytes (594 MB) / 757071872 bytes (722 MB) up to 1908932608 bytes (1820 MB)
JVM Flags: 0 total;
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 95
FML: MCP v9.05 FML v7.10.85.1236 Minecraft Forge 10.13.2.1236 4 mods loaded, 4 mods active
mcp{9.05} [Minecraft Coder Pack] (minecraft.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
FML{7.10.85.1236} [Forge Mod Loader] (forge-1.7.10-10.13.2.1236-universal.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Forge{10.13.2.1236} [Minecraft Forge] (forge-1.7.10-10.13.2.1236-universal.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ComputerCraft{1.65} [ComputerCraft] (ComputerCraft1.65.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Player Count: 1 / 20; [EntityPlayerMP['infinitebrainspc'/377, l='world', x=240.33, y=5.00, z=433.70]]
Is Modded: Definitely; Server brand changed to 'fml,forge'
Type: Dedicated Server (map_server.txt)
Edited on 05 January 2015 - 11:27 PM
Lignum #2
Posted 05 January 2015 - 11:44 PM
The error means nothing. Everything should be working fine. The problem is that LuaJ uses System.exit somewhere, which is used, you guessed it, to exit the program. However, in forge mods you're not supposed to do that. And since LuaJ isn't a forge mod it doesn't know that and this happens. It's an error in OsLib, which is (most likely) the standard Lua os library, which is not related to ComputerCraft.

The other problem you've described is related to something else.
Bomb Bloke #3
Posted 05 January 2015 - 11:48 PM
More specifically, it's not an error at all - it's a warning, and one that gets presented under normal operations. References to the crash are more likely to be found at the very bottom of the server's log.
infinitebrainspace #4
Posted 06 January 2015 - 12:34 AM
I see that now. I was looking at the server startup log, not the crash log. I edited the first post to include the crash report. any info on that?
Lyqyd #5
Posted 06 January 2015 - 01:49 AM
Is that the whole crash log? What were you doing at the time? That doesn't appear at first glance to be at all related to ComputerCraft.
infinitebrainspace #6
Posted 07 January 2015 - 09:24 PM
I figured it out sort of… I at least can do what I want without a crash. It appears that calling setCommand / runCommand several times in a row causes a crash no matter what the command is. (setblock and give were both causing a crash). I now use setCommand, and then send Redstone to the command block instead of callin g the runCommand method. So far I have not had a crash, and can actually trigger commands relatively fast in succession. Vanilla MC has only one way to trigger a command block (redstone) so I think there may be a problem with CC. An example that will eventually crash "my server" is:

EXAMPLE CODE
cb = peripheral.wrap("top")
while true do
cb.setCommand("give @p minecraft:obsidian 1 0")
sleep(.1)
cb.runCommand()
sleep(.1)
end

this may run through 1000 iterations, or maybe just 3. There is no predictable number of iterations, but at some point it always crashes.
I have tried increasing the sleep() command up to 1.0, and still it will crash.

It also crashes my SP world.
Edited on 07 January 2015 - 08:29 PM