BuildCraft|Core

BuildCraft|Core

7M Downloads

Game Crash Bug - canPipeConnect

StoryStratos opened this issue ยท 6 comments

commented

---- Minecraft Crash Report ----
// Don't do that.

Time: 01/09/13 11:18
Description: Ticking tile entity

java.lang.NullPointerException
at buildcraft.transport.PipeTransportItems.canPipeConnect(PipeTransportItems.java:578)
at buildcraft.transport.Pipe.canPipeConnect(Pipe.java:92)
at buildcraft.transport.TileGenericPipe.canPipeConnect(TileGenericPipe.java:446)
at buildcraft.transport.TileGenericPipe.computeConnections(TileGenericPipe.java:458)
at buildcraft.transport.TileGenericPipe.initialize(TileGenericPipe.java:272)
at buildcraft.transport.TileGenericPipe.func_70316_g(TileGenericPipe.java:160)
at net.minecraft.world.World.func_72939_s(World.java:2204)
at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:548)
at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:666)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:585)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:129)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482)
at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:582)

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

-- Head --
Stacktrace:
at buildcraft.transport.PipeTransportItems.canPipeConnect(PipeTransportItems.java:578)
at buildcraft.transport.Pipe.canPipeConnect(Pipe.java:92)
at buildcraft.transport.TileGenericPipe.canPipeConnect(TileGenericPipe.java:446)
at buildcraft.transport.TileGenericPipe.computeConnections(TileGenericPipe.java:458)
at buildcraft.transport.TileGenericPipe.initialize(TileGenericPipe.java:272)
at buildcraft.transport.TileGenericPipe.func_70316_g(TileGenericPipe.java:160)

-- Tile entity being ticked --
Details:
Name: net.minecraft.src.buildcraft.transport.GenericPipe // buildcraft.transport.TileGenericPipe
Block type: ID #1513 (tile.pipeBlock // buildcraft.transport.BlockGenericPipe)
Block data value: 0 / 0x0 / 0b0000
Block location: World: (-708,26,1070), Chunk: (at 12,1,14 in -45,66; contains blocks -720,0,1056 to -705,255,1071), Region: (-2,2; contains chunks -64,64 to -33,95, blocks -1024,0,1024 to -513,255,1535)
Actual block type: ID #1513 (tile.pipeBlock // buildcraft.transport.BlockGenericPipe)
Actual block data value: 0 / 0x0 / 0b0000
Stacktrace:
at net.minecraft.world.World.func_72939_s(World.java:2204)
at net.minecraft.world.WorldServer.func_72939_s(WorldServer.java:548)

-- Affected level --
Details:
Level name: Story Land
All players: 1 total; [EntityPlayerMP['xXDualMasterXx'/239, l='Story Land', x=-709.02, y=26.57, z=1070.63]]
Chunk stats: ServerChunkCache: 1066 Drop: 0
Level seed: 4313008853561483956
Level generator: ID 01 - flat, ver 0. Features enabled: false
Level generator options: 2;7,50x3,2;1;village
Level spawn location: World: (-554,4,430), Chunk: (at 6,0,14 in -35,26; contains blocks -560,0,416 to -545,255,431), Region: (-2,0; contains chunks -64,0 to -33,31, blocks -1024,0,0 to -513,255,511)
Level time: 380268 game time, 342999 day time
Level dimension: 0
Level storage version: 0x04ABD - Anvil
Level weather: Rain time: 118037 (now: false), thunder time: 33778 (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:666)
at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:585)
at net.minecraft.server.integrated.IntegratedServer.func_71217_p(IntegratedServer.java:129)
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:482)
at net.minecraft.server.ThreadMinecraftServer.run(SourceFile:582)

-- System Details --
Details:
Minecraft Version: 1.6.2
Operating System: Windows 8 (amd64) version 6.2
Java Version: 1.7.0_25, Oracle Corporation
Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation
Memory: 135049480 bytes (128 MB) / 686751744 bytes (654 MB) up to 1396244480 bytes (1331 MB)
JVM Flags: 1 total; -XX:HeapDumpPath=MojangTricksIntelDriversForPerformance_javaw.exe_minecraft.exe.heapdump
AABB Pool Size: 9209 (515704 bytes; 0 MB) allocated, 9209 (515704 bytes; 0 MB) used
Suspicious classes: FML and Forge are installed
IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0
FML: MCP v8.04 FML v6.2.55.842 Minecraft Forge 9.10.0.842 35 mods loaded, 35 mods active
mcp{8.04} Minecraft Coder Pack Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
FML{6.2.55.842} Forge Mod Loader Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Forge{9.10.0.842} Minecraft Forge Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
AppliedEnergistics-Core{rv13.a} AppliedEnergistics Core Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
CodeChickenCore{0.9.0.5} CodeChicken Core Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
NotEnoughItems{1.6.1.3} [Not Enough Items](NotEnoughItems 1.6.1.3.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
AppliedEnergistics{rv13.a} Applied Energistics Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
BuildCraft|Core{4.0.2} BuildCraft Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
BuildCraft|Builders{4.0.2} BC Builders Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
BuildCraft|Energy{4.0.2} BC Energy Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
BuildCraft|Factory{4.0.2} BC Factory Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
BuildCraft|Transport{4.0.2} BC Transport Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
BuildCraft|Silicon{4.0.2} BC Silicon Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ChickenChunks{1.3.3.2} [ChickenChunks](ChickenChunks 1.3.3.2.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ComputerCraft{1.56} ComputerCraft Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
CCTurtle{1.56} ComputerCraft Turtles Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
EnderIO{0.1.11} Ender IO Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
EnderStorage{1.4.3.3} [EnderStorage](EnderStorage 1.4.3.3.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
IC2{2.0.130-experimental} IndustrialCraft 2 Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Forestry{2.3.0.1} Forestry for Minecraft Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
GregsLighting{1.9.0} Greg's Lighting Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
iChunUtil{2.1.0} iChunUtil Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ImmibisCore{56.0.3} Immibis Core Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
SlimevoidLib{2.0.2.0} Slimevoid Library Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
LittleBlocks{2.2.0.0} Little Blocks Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Mystcraft{0.10.6.00} Mystcraft Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Railcraft{8.0.1.0} Railcraft Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Translocator{1.1.0.8} [Translocator](Translocator 1.1.0.8.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Tubestuff{56.0.1} Tubestuff Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
WR-CBE|Core{1.4.0.5} [WR-CBE Core](WR-CBE 1.4.0.5.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
WR-CBE|Addons{1.4.0.5} [WR-CBE Addons](WR-CBE 1.4.0.5.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ForgeMultipart{1.0.0.151} Forge Multipart Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
WR-CBE|Logic{1.4.0.5} [WR-CBE Logic](WR-CBE 1.4.0.5.jar) Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
McMultipart{1.0.0.151} Minecraft Multipart Plugin Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
ForgeMicroblock{1.0.0.151} Forge Microblocks Unloaded->Constructed->Pre-initialized->Initialized->Post-initialized->Available->Available->Available->Available
Profiler Position: N/A (disabled)
Vec3 Pool Size: 863 (48328 bytes; 0 MB) allocated, 863 (48328 bytes; 0 MB) used
Player Count: 1 / 8; [EntityPlayerMP['xXDualMasterXx'/239, l='Story Land', x=-709.02, y=26.57, z=1070.63]]
Type: Integrated Server (map_client.txt)
Is Modded: Definitely; Client brand changed to 'fml,forge'

commented

That's a complete crash report. I can't reload the world as this error keeps occurring. I was laying golden transport pipes (item) up a wall, but then accidently clicked in a block space already occupied by a golden pipe.

commented

Any other machine/inventories nearby?

The code below is the code that crashed, but I don't see how tile or side can be null, which leaves getAccessibleSlots() being null, which pipes don't implement, and shouldn't be null.

    @Override
    public boolean canPipeConnect(TileEntity tile, ForgeDirection side) {
        if (tile instanceof TileGenericPipe) {
            Pipe pipe2 = ((TileGenericPipe) tile).pipe;
            if (BlockGenericPipe.isValid(pipe2) && !(pipe2.transport instanceof PipeTransportItems))
                return false;
        }

        if(tile instanceof ISidedInventory)
crash ->        return ((ISidedInventory)tile).getAccessibleSlotsFromSide(side.getOpposite().ordinal()).length > 0;
        return tile instanceof TileGenericPipe || tile instanceof ISpecialInventory || (tile instanceof IInventory && ((IInventory) tile).getSizeInventory() > 0)
                || (tile instanceof IMachine && ((IMachine) tile).manageSolids());
    }
commented

Some modders end up returning null for accessible sides instead of an empty array.

commented

They shouldn't.

commented

Closed because it should be fixed by the referenced commit.

commented

If a modder returns a null array instead of a size 0 one he's going to crash the game when a hopper tries to insert items into his block...