Posted 28 July 2015 - 08:32 PM
VERSION:
ComputerCraft 1.7.4 and ComputerCraftEdu 1.7.4
DESCRIPTION:
After letting mining turtles run for a while, the game crashes and a permanent chunk error is created where the turtle previously was.
Crash report:
// Don't do that.
Time: 28/07/15 10:05
Description: Exception ticking world
java.lang.NullPointerException: Exception ticking world
at dan200.computercraft.shared.computer.blocks.TileComputerBase.getFamily(TileComputerBase.java:412)
at dan200.computercraft.shared.turtle.blocks.TileTurtle.createComputer(TileTurtle.java:97)
at dan200.computercraft.shared.turtle.blocks.TileTurtle.createComputer(TileTurtle.java:115)
at dan200.computercraft.shared.computer.blocks.TileComputerBase.createServerComputer(TileComputerBase.java:427)
at dan200.computercraft.shared.computer.blocks.TileComputerBase.writeDescription(TileComputerBase.java:481)
at dan200.computercraft.shared.turtle.blocks.TileTurtle.writeDescription(TileTurtle.java:601)
at dan200.computercraft.shared.common.TileGeneric.func_145844_m(TileGeneric.java:188)
at net.minecraft.server.management.PlayerManager$PlayerInstance.func_151252_a(PlayerManager.java:591)
at net.minecraft.server.management.PlayerManager$PlayerInstance.func_73254_a(PlayerManager.java:533)
at net.minecraft.server.management.PlayerManager.func_72693_b(PlayerManager.java:67)
at net.minecraft.world.WorldServer.func_72835_b(WorldServer.java:185)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:625)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:111)
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:
—————————————————————————————
– Head –
Stacktrace:
at dan200.computercraft.shared.computer.blocks.TileComputerBase.getFamily(TileComputerBase.java:412)
at dan200.computercraft.shared.turtle.blocks.TileTurtle.createComputer(TileTurtle.java:97)
at dan200.computercraft.shared.turtle.blocks.TileTurtle.createComputer(TileTurtle.java:115)
at dan200.computercraft.shared.computer.blocks.TileComputerBase.createServerComputer(TileComputerBase.java:427)
at dan200.computercraft.shared.computer.blocks.TileComputerBase.writeDescription(TileComputerBase.java:481)
at dan200.computercraft.shared.turtle.blocks.TileTurtle.writeDescription(TileTurtle.java:601)
at dan200.computercraft.shared.common.TileGeneric.func_145844_m(TileGeneric.java:188)
at net.minecraft.server.management.PlayerManager$PlayerInstance.func_151252_a(PlayerManager.java:591)
at net.minecraft.server.management.PlayerManager$PlayerInstance.func_73254_a(PlayerManager.java:533)
at net.minecraft.server.management.PlayerManager.func_72693_b(PlayerManager.java:67)
at net.minecraft.world.WorldServer.func_72835_b(WorldServer.java:185)
– Affected level –
Details:
Level name: I Liek Turtles
All players: 1 total; [EntityPlayerMP['Hellpest'/182, l='I Liek Turtles', x=-887.48, y=8.88, z=2406.40]]
Chunk stats: ServerChunkCache: 679 Drop: 0
Level seed: -1778555556
Level generator: ID 02 - largeBiomes, ver 0. Features enabled: true
Level generator options:
Level spawn location: World: (-200,64,256), Chunk: (at 8,4,0 in -13,16; contains blocks -208,0,256 to -193,255,271), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
Level time: 1112527 game time, 4384 day time
Level dimension: 0
Level storage version: 0x04ABD - Anvil
Level weather: Rain time: 12455 (now: true), thunder time: 137691 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true
Stacktrace:
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:625)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:111)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
– System Details –
Details:
Minecraft Version: 1.7.10
Operating System: Windows 8.1 (amd64) version 6.3
Java Version: 1.8.0_40, Oracle Corporation
Java VM Version: Java HotSpotâ„¢ 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 207337744 bytes (197 MB) / 496537600 bytes (473 MB) up to 1060372480 bytes (1011 MB)
JVM Flags: 6 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx1G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 103
FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1448 5 mods loaded, 5 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.05} [Minecraft Coder Pack] (minecraft.jar)
UCHIJAAAA FML{7.10.99.99} [Forge Mod Loader] (forge-1.7.10-10.13.4.1448-1.7.10.jar)
UCHIJAAAA Forge{10.13.4.1448} [Minecraft Forge] (forge-1.7.10-10.13.4.1448-1.7.10.jar)
UCHIJAAAA ComputerCraft{1.74} [ComputerCraft] (ComputerCraftPlusComputerCraftEdu1.74.jar)
UCHIJAAAA ComputerCraftEdu{1.74} [ComputerCraftEdu] (ComputerCraftPlusComputerCraftEdu1.74.jar)
GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Player Count: 1 / 8; [EntityPlayerMP['Hellpest'/182, l='I Liek Turtles', x=-887.48, y=8.88, z=2406.40]]
Type: Integrated Server (map_client.txt)
Is Modded: Definitely; Client brand changed to 'fml,forge'
EXPECTED RESULT:
Turtles to mine for a while then return.
REPRODUCTION STEPS:
Create Mining turtle with the 'startup' code (below).
Create a mining turtle with the 'stripMine' code (Below), place 64 of other turtle in slot 1, at least 33 chests in slot 2, and 64 of any solid block in slot 3.
CODE:
startup:
local function dig()
turtle.select(1)
for X=1,128 do
while turtle.detect()==true do
turtle.dig()
end
turtle.forward()
end
end
local function back()
turtle.turnLeft()
turtle.turnLeft()
while turtle.detect()==false do
turtle.forward()
end
end
local function drop()
for X=1,16 do
turtle.select(X)
turtle.drop()
end
end
dig()
back()
drop()
if turtle.detectDown() then
turtle.digDown()
end
turtle.down()
turtle.turnLeft()
turtle.turnLeft()
dig()
turtle.up()
back()
drop()
turtle.down()
stripMine
local X
local Y
local Z
local function turtleOn()
Z=peripheral.wrap("front")
Z.turnOn()
end
local function left2()
turtle.turnLeft()
turtle.turnLeft()
end
local function breakBlocks()
while turtle.detect() do
turtle.dig()
end
end
local function turtlePlace()
breakBlocks()
turtle.forward()
breakBlocks()
turtle.select(3)
turtle.place()
turtle.back()
turtle.select(1)
turtle.place()
turtleOn()
end
for Y=1,32 do
for X=1,3 do
breakBlocks()
turtle.forward()
end
turtle.turnLeft()
turtlePlace()
left2()
turtlePlace()
turtle.turnLeft()
breakBlocks()
turtle.forward()
left2()
turtle.select(2)
turtle.place()
left2()
end
Y=32
left2()
if turtle.detectDown() then
turtle.digDown()
end
turtle.down()
while true do
if turtle.detectUp() then
Y=Y-1
if Y==0 then
break
end
end
breakBlocks()
turtle.forward()
end
for X=1,3 do
breakBlocks()
turtle.forward()
end
turtle.select(2)
turtle.placeUp()
Edit: Changed spoiler positions to separate the two codes and the spoiler titles. Thanks to Cranium for putting the spoilers in, I wasn't quite sure how.
ComputerCraft 1.7.4 and ComputerCraftEdu 1.7.4
DESCRIPTION:
After letting mining turtles run for a while, the game crashes and a permanent chunk error is created where the turtle previously was.
Crash report:
Spoiler
—- Minecraft Crash Report —-// Don't do that.
Time: 28/07/15 10:05
Description: Exception ticking world
java.lang.NullPointerException: Exception ticking world
at dan200.computercraft.shared.computer.blocks.TileComputerBase.getFamily(TileComputerBase.java:412)
at dan200.computercraft.shared.turtle.blocks.TileTurtle.createComputer(TileTurtle.java:97)
at dan200.computercraft.shared.turtle.blocks.TileTurtle.createComputer(TileTurtle.java:115)
at dan200.computercraft.shared.computer.blocks.TileComputerBase.createServerComputer(TileComputerBase.java:427)
at dan200.computercraft.shared.computer.blocks.TileComputerBase.writeDescription(TileComputerBase.java:481)
at dan200.computercraft.shared.turtle.blocks.TileTurtle.writeDescription(TileTurtle.java:601)
at dan200.computercraft.shared.common.TileGeneric.func_145844_m(TileGeneric.java:188)
at net.minecraft.server.management.PlayerManager$PlayerInstance.func_151252_a(PlayerManager.java:591)
at net.minecraft.server.management.PlayerManager$PlayerInstance.func_73254_a(PlayerManager.java:533)
at net.minecraft.server.management.PlayerManager.func_72693_b(PlayerManager.java:67)
at net.minecraft.world.WorldServer.func_72835_b(WorldServer.java:185)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:625)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:111)
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:
—————————————————————————————
– Head –
Stacktrace:
at dan200.computercraft.shared.computer.blocks.TileComputerBase.getFamily(TileComputerBase.java:412)
at dan200.computercraft.shared.turtle.blocks.TileTurtle.createComputer(TileTurtle.java:97)
at dan200.computercraft.shared.turtle.blocks.TileTurtle.createComputer(TileTurtle.java:115)
at dan200.computercraft.shared.computer.blocks.TileComputerBase.createServerComputer(TileComputerBase.java:427)
at dan200.computercraft.shared.computer.blocks.TileComputerBase.writeDescription(TileComputerBase.java:481)
at dan200.computercraft.shared.turtle.blocks.TileTurtle.writeDescription(TileTurtle.java:601)
at dan200.computercraft.shared.common.TileGeneric.func_145844_m(TileGeneric.java:188)
at net.minecraft.server.management.PlayerManager$PlayerInstance.func_151252_a(PlayerManager.java:591)
at net.minecraft.server.management.PlayerManager$PlayerInstance.func_73254_a(PlayerManager.java:533)
at net.minecraft.server.management.PlayerManager.func_72693_b(PlayerManager.java:67)
at net.minecraft.world.WorldServer.func_72835_b(WorldServer.java:185)
– Affected level –
Details:
Level name: I Liek Turtles
All players: 1 total; [EntityPlayerMP['Hellpest'/182, l='I Liek Turtles', x=-887.48, y=8.88, z=2406.40]]
Chunk stats: ServerChunkCache: 679 Drop: 0
Level seed: -1778555556
Level generator: ID 02 - largeBiomes, ver 0. Features enabled: true
Level generator options:
Level spawn location: World: (-200,64,256), Chunk: (at 8,4,0 in -13,16; contains blocks -208,0,256 to -193,255,271), Region: (-1,0; contains chunks -32,0 to -1,31, blocks -512,0,0 to -1,255,511)
Level time: 1112527 game time, 4384 day time
Level dimension: 0
Level storage version: 0x04ABD - Anvil
Level weather: Rain time: 12455 (now: true), thunder time: 137691 (now: false)
Level game mode: Game mode: creative (ID 1). Hardcore: false. Cheats: true
Stacktrace:
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:625)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:111)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427)
at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685)
– System Details –
Details:
Minecraft Version: 1.7.10
Operating System: Windows 8.1 (amd64) version 6.3
Java Version: 1.8.0_40, Oracle Corporation
Java VM Version: Java HotSpotâ„¢ 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 207337744 bytes (197 MB) / 496537600 bytes (473 MB) up to 1060372480 bytes (1011 MB)
JVM Flags: 6 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump -Xmx1G -XX:+UseConcMarkSweepGC -XX:+CMSIncrementalMode -XX:-UseAdaptiveSizePolicy -Xmn128M
AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
IntCache: cache: 0, tcache: 0, allocated: 13, tallocated: 103
FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1448 5 mods loaded, 5 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.05} [Minecraft Coder Pack] (minecraft.jar)
UCHIJAAAA FML{7.10.99.99} [Forge Mod Loader] (forge-1.7.10-10.13.4.1448-1.7.10.jar)
UCHIJAAAA Forge{10.13.4.1448} [Minecraft Forge] (forge-1.7.10-10.13.4.1448-1.7.10.jar)
UCHIJAAAA ComputerCraft{1.74} [ComputerCraft] (ComputerCraftPlusComputerCraftEdu1.74.jar)
UCHIJAAAA ComputerCraftEdu{1.74} [ComputerCraftEdu] (ComputerCraftPlusComputerCraftEdu1.74.jar)
GL info: ~~ERROR~~ RuntimeException: No OpenGL context found in the current thread.
Profiler Position: N/A (disabled)
Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used
Player Count: 1 / 8; [EntityPlayerMP['Hellpest'/182, l='I Liek Turtles', x=-887.48, y=8.88, z=2406.40]]
Type: Integrated Server (map_client.txt)
Is Modded: Definitely; Client brand changed to 'fml,forge'
EXPECTED RESULT:
Turtles to mine for a while then return.
REPRODUCTION STEPS:
Create Mining turtle with the 'startup' code (below).
Create a mining turtle with the 'stripMine' code (Below), place 64 of other turtle in slot 1, at least 33 chests in slot 2, and 64 of any solid block in slot 3.
CODE:
startup:
Spoiler
local Xlocal function dig()
turtle.select(1)
for X=1,128 do
while turtle.detect()==true do
turtle.dig()
end
turtle.forward()
end
end
local function back()
turtle.turnLeft()
turtle.turnLeft()
while turtle.detect()==false do
turtle.forward()
end
end
local function drop()
for X=1,16 do
turtle.select(X)
turtle.drop()
end
end
dig()
back()
drop()
if turtle.detectDown() then
turtle.digDown()
end
turtle.down()
turtle.turnLeft()
turtle.turnLeft()
dig()
turtle.up()
back()
drop()
turtle.down()
stripMine
Spoiler
stripMinelocal X
local Y
local Z
local function turtleOn()
Z=peripheral.wrap("front")
Z.turnOn()
end
local function left2()
turtle.turnLeft()
turtle.turnLeft()
end
local function breakBlocks()
while turtle.detect() do
turtle.dig()
end
end
local function turtlePlace()
breakBlocks()
turtle.forward()
breakBlocks()
turtle.select(3)
turtle.place()
turtle.back()
turtle.select(1)
turtle.place()
turtleOn()
end
for Y=1,32 do
for X=1,3 do
breakBlocks()
turtle.forward()
end
turtle.turnLeft()
turtlePlace()
left2()
turtlePlace()
turtle.turnLeft()
breakBlocks()
turtle.forward()
left2()
turtle.select(2)
turtle.place()
left2()
end
Y=32
left2()
if turtle.detectDown() then
turtle.digDown()
end
turtle.down()
while true do
if turtle.detectUp() then
Y=Y-1
if Y==0 then
break
end
end
breakBlocks()
turtle.forward()
end
for X=1,3 do
breakBlocks()
turtle.forward()
end
turtle.select(2)
turtle.placeUp()
Edit: Changed spoiler positions to separate the two codes and the spoiler titles. Thanks to Cranium for putting the spoilers in, I wasn't quite sure how.
Edited by