rwtema / FunkyLocomotion

a frames mod
Other
28 stars 36 forks source link

server crash #75

Open partyanimal opened 9 years ago

partyanimal commented 9 years ago

---- Minecraft Crash Report ---- // Ooh. Shiny.

Time: 8/15/15 5:11 PM Description: Exception in server tick loop

java.lang.NullPointerException: Exception in server tick loop at com.rwtema.funkylocomotion.movers.MoveManager.startMoving(MoveManager.java:239) at com.rwtema.funkylocomotion.blocks.TilePusher.startMoving(TilePusher.java:175) at com.rwtema.funkylocomotion.movers.MoverEventHandler.onPostWorldTick(MoverEventHandler.java:36) at cpw.mods.fml.common.eventhandler.ASMEventHandler_281_MoverEventHandler_onPostWorldTick_WorldTickEvent.invoke(.dynamic) at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:138) at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick(FMLCommonHandler.java:255) at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:645) 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 8.1 (amd64) version 6.3 Java Version: 1.8.0_51, Oracle Corporation Java VM Version: Java HotSpot(TM) 64-Bit Server VM (mixed mode), Oracle Corporation Memory: 4498608336 bytes (4290 MB) / 6831472640 bytes (6515 MB) up to 7635730432 bytes (7282 MB) JVM Flags: 2 total; -Xmx8G -Xms4G AABB Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used IntCache: cache: 0, tcache: 0, allocated: 0, tallocated: 0 FML: MCP v9.05 FML v7.10.99.99 Minecraft Forge 10.13.4.1492 120 mods loaded, 120 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 UCHIJAAAA FML{7.10.99.99} Forge Mod Loader UCHIJAAAA Forge{10.13.4.1492} Minecraft Forge UCHIJAAAA appliedenergistics2-core{rv2-stable-10} AppliedEnergistics2 Core UCHIJAAAA CodeChickenCore{1.0.7.46} CodeChicken Core UCHIJAAAA MobiusCore{1.2.5} MobiusCore UCHIJAAAA NotEnoughItems{1.0.5.111} Not Enough Items UCHIJAAAA OpenComputers|Core{1.5.14.30} OpenComputers (Core) UCHIJAAAA OpenEye{0.6} OpenEye UCHIJAAAA ThaumicTinkerer-preloader{0.1} Thaumic Tinkerer Core UCHIJAAAA OpenModsCore{0.8} OpenModsCore UCHIJAAAA {000} CoFH ASM UCHIJAAAA DC1{3.4.2.19} [KingCore]([1.7.2+] KingCore v3.4.2.19.jar) UCHIJAAAA EB{2.1.2.6} [Ender Book]([1.7.2] EnderBook v2.1.2.6.jar) UCHIJAAAA act{0.0.2a_1.7.10} AdminCommandsToolbox UCHIJAAAA IC2{2.2.758-experimental} IndustrialCraft 2 UCHIJAAAA AdvancedSolarPanel{1.7.10-3.5.1} Advanced Solar Panels UCHIJAAAA appliedenergistics2{rv2-stable-10} Applied Energistics 2 UCHIJAAAA BiblioCraft{1.10.5} BiblioCraft UCHIJAAAA Mantle{1.7.10-0.3.2.jenkins184} Mantle UCHIJAAAA Natura{2.2.0} Natura UCHIJAAAA CoFHCore{1.7.10R3.0.3} [CoFH Core](CoFHCore-[1.7.10]3.0.3-303 %282%29.jar) UCHIJAAAA BuildCraft|Core{7.0.17} BuildCraft UCHIJAAAA Forestry{3.6.3.20} Forestry for Minecraft UCHIJAAAA BiblioWoodsForestry{1.7} BiblioWoods Forestry Edition UCHIJAAAA Baubles{1.0.1.10} Baubles UCHIJAAAA ThermalFoundation{1.7.10R1.2.0} Thermal Foundation UCHIJAAAA ThermalExpansion{1.7.10R4.0.3B1} Thermal Expansion UCHIJAAAA BigReactors{0.4.3A} Big Reactors UCHIJAAAA BinnieCore{2.0-pre14} Binnie Core UCHIJAAAA Botany{2.0-pre14} Botany UCHIJAAAA ExtraBees{2.0-pre14} Extra Bees UCHIJAAAA ExtraTrees{2.0-pre14} Extra Trees UCHIJAAAA Genetics{2.0-pre14} Genetics UCHIJAAAA AWWayofTime{v1.3.3} Blood Magic: Alchemical Wizardry UCHIJAAAA qmunitylib{1.0} QmunityLib UCHIJAAAA bluepower{0.2.954} Blue Power UCHIJAAAA Thaumcraft{4.2.3.5} Thaumcraft UCHIJAAAA Botania{r1.7-208} [Botania](Botania r1.7-208.jar) UCHIJAAAA BuildCraft|Factory{7.0.17} BC Factory UCHIJAAAA BuildCraft|Energy{7.0.17} BC Energy UCHIJAAAA BuildCraft|Silicon{7.0.17} BC Silicon UCHIJAAAA BuildCraft|Builders{7.0.17} BC Builders UCHIJAAAA BuildCraft|Robotics{7.0.17} BC Robotics UCHIJAAAA BuildCraft|Transport{7.0.17} BC Transport UCHIJAAAA ChickenChunks{1.3.4.19} ChickenChunks UCHIJAAAA Railcraft{9.6.1.0} Railcraft UCHIJAAAA ForgeMultipart{1.2.0.345} Forge Multipart UCHIJAAAA chisel{2.4.1.40} Chisel 2 UCHIJAAAA ctmlib{1.0.1.5} CTMLib UCHIJAAAA ComputerCraft{1.73} ComputerCraft UCHIJAAAA eplus{3.0.2-d} Enchanting Plus UCHIJAAAA EnderStorage{1.4.7.36} EnderStorage UCHIJAAAA EnderTech{1.7.10-0.3.2.388} EnderTech UCHIJAAAA MineFactoryReloaded{1.7.10R2.8.0} MineFactory Reloaded UCHIJAAAA Waila{1.5.10} Waila UCHIJAAAA TConstruct{1.7.10-1.8.5.build957} Tinkers' Construct UCHIJAAAA ExtraUtilities{1.2.9} Extra Utilities UCHIJAAAA funkylocomotion{1.0} Funky Locomotion UCHIJAAAA iChunUtil{4.2.2} iChunUtil UCHIJAAAA inpure|core{1.7.10R1.0.0B9} INpureCore UCHIJAAAA inventorytweaks{1.58-147-645ca10} Inventory Tweaks UCHIJAAAA JABBA{1.2.1} JABBA UCHIJAAAA ThaumicTinkerer{unspecified} Thaumic Tinkerer UCHIJAAAA MagicBees{1.7.10-2.3.3} Magic Bees UCHIJAAAA MineFactoryReloaded|CompatAppliedEnergistics{1.7.10R2.8.0} MFR Compat: Applied Energistics UCHIJAAAA MineFactoryReloaded|CompatAtum{1.7.10R2.8.0} MFR Compat: Atum UCHIJAAAA MineFactoryReloaded|CompatBackTools{1.7.10R2.8.0} MFR Compat: BackTools UCHIJAAAA MineFactoryReloaded|CompatBuildCraft{1.7.10R2.8.0} MFR Compat: BuildCraft UCHIJAAAA MineFactoryReloaded|CompatChococraft{1.7.10R2.8.0} MFR Compat: Chococraft UCHIJAAAA MineFactoryReloaded|CompatExtraBiomes{1.7.10R2.8.0} MFR Compat: ExtraBiomes UCHIJAAAA MineFactoryReloaded|CompatForestry{1.7.10R2.8.0} MFR Compat: Forestry UCHIJAAAA MineFactoryReloaded|CompatForgeMicroblock{1.7.10R2.8.0} MFR Compat: ForgeMicroblock UCHIJAAAA MineFactoryReloaded|CompatIC2{1.7.10R2.8.0} MFR Compat: IC2 UCHIJAAAA MineFactoryReloaded|CompatMystcraft{1.7.10R2.8.0} MFR Compat: Mystcraft UCHIJAAAA MineFactoryReloaded|CompatProjRed{1.7.10R2.8.0} MFR Compat ProjectRed UCHIJAAAA MineFactoryReloaded|CompatRailcraft{1.7.10R2.8.0} MFR Compat: Railcraft UCHIJAAAA MineFactoryReloaded|CompatSufficientBiomes{1.7.10R2.8.0} MFR Compat: Sufficient Biomes UCHIJAAAA MineFactoryReloaded|CompatThaumcraft{1.7.10R2.8.0} MFR Compat: Thaumcraft UCHIJAAAA MineFactoryReloaded|CompatThermalExpansion{1.7.10R2.8.0} MFR Compat: Thermal Expansion UCHIJAAAA MineFactoryReloaded|CompatTConstruct{1.7.10R2.8.0} MFR Compat: Tinkers' Construct UCHIJAAAA MineFactoryReloaded|CompatTwilightForest{1.7.10R2.8.0} MFR Compat: TwilightForest UCHIJAAAA MineFactoryReloaded|CompatVanilla{1.7.10R2.8.0} MFR Compat: Vanilla UCHIJAAAA Morph{0.9.1} Morph UCHIJAAAA NEIAddons{1.12.11.36} NEI Addons UCHIJAAAA NEIAddons|Developer{1.12.11.36} NEI Addons: Developer Tools UCHIJAAAA NEIAddons|AppEng{1.12.11.36} NEI Addons: Applied Energistics 2 UCHIJAAAA NEIAddons|Botany{1.12.11.36} NEI Addons: Botany UCHIJAAAA NEIAddons|Forestry{1.12.11.36} NEI Addons: Forestry UCHIJAAAA NEIAddons|CraftingTables{1.12.11.36} NEI Addons: Crafting Tables UCHIJAAAA NEIAddons|ExNihilo{1.12.11.36} NEI Addons: Ex Nihilo UCHIJAAAA neiintegration{1.0.11} NEI Integration UCHIJAAAA NetherOres{1.7.10R2.3.0} Nether Ores UCHIJAAAA OpenMods{0.8} OpenMods UCHIJAAAA OpenBlocks{1.4.4} OpenBlocks UCHIJAAAA OpenComputers{1.5.14.30} OpenComputers UCHIJAAAA OpenPeripheralCore{1.2} OpenPeripheralCore UCHIJAAAA OpenPeripheral{0.4} OpenPeripheralAddons UCHIJAAAA OpenPeripheralIntegration{0.3} OpenPeripheralIntegration UCHIJAAAA MapWriter{2.1.2} MapWriter UCHIJAAAA Opis{1.2.5} Opis UCHIJAAAA PneumaticCraft{1.9.13-101} PneumaticCraft UCHIJAAAA JotatosPracticalities{0.6.2} Practicalities UCHIJAAAA ProjectE{1.7.10-PE1.8.0} ProjectE UCHIJAAAA QuarryPlus{2.1.0} QuarryPlus UCHIJAAAA RedstoneArsenal{1.7.10R1.1.1} Redstone Arsenal UCHIJAAAA rftools{3.30} RFTools UCHIJAAAA RWG{Alpha 1.3.2} Realistic World Gen Alpha UCHIJAAAA SolarFlux{1.7.10-0.8a} Solar Flux UCHIJAAAA SSTOW{1.7.10-0.1-RC9-7} Soul Shards: The Old Ways UCHIJAAAA StevesFactoryManager{A93} Steve's Factory Manager UCHIJAAAA StevesWorkshop{0.5.1} Steve's Workshop UCHIJAAAA TabulaRasa{1.7.10R1.0.1} Tabula Rasa UCHIJAAAA ThermalDynamics{1.7.10R1.1.0} Thermal Dynamics UCHIJAAAA Translocator{1.1.2.15} Translocator UCHIJAAAA WR-CBE|Core{1.4.1.9} WR-CBE Core UCHIJAAAA WR-CBE|Addons{1.4.1.9} WR-CBE Addons UCHIJAAAA WR-CBE|Logic{1.4.1.9} WR-CBE Logic UCHIJAAAA McMultipart{1.2.0.345} Minecraft Multipart Plugin UCHIJAAAA ForgeMicroblock{1.2.0.345} Forge Microblocks OpenModsLib class transformers: [stencil_patches:ENABLED],[movement_callback:ENABLED],[map_gen_fix:FINISHED],[gl_capabilities_hook:ENABLED],[player_render_hook:ENABLED] Class transformer null safety: found misbehaving transformers: me.guichaguri.betterfps.transformers.MathTransformer(me.guichaguri.betterfps.transformers.MathTransformer@2f7fa36c) returned non-null result: 0,me.guichaguri.betterfps.transformers.EventTransformer(me.guichaguri.betterfps.transformers.EventTransformer@33e0a968) returned non-null result: 0 AE2 Version: stable rv2-stable-10 for Forge 10.13.2.1291 Mantle Environment: Environment healthy. CoFHCore: -[1.7.10]3.0.3-303 ThermalFoundation: -[1.7.10]1.2.0-102 ThermalExpansion: -[1.7.10]4.0.3B1-218 MineFactoryReloaded: -[1.7.10]2.8.0-104 TConstruct Environment: Environment healthy. NetherOres: -[1.7.10]2.3.0-12 RedstoneArsenal: -[1.7.10]1.1.1-89 ThermalDynamics: -[1.7.10]1.1.0-161 AE2 Integration: IC2:ON, RotaryCraft:OFF, RC:ON, BC:ON, RF:ON, RFItem:ON, MFR:ON, DSU:ON, FZ:OFF, FMP:ON, RB:OFF, CLApi:OFF, Waila:ON, Mekanism:OFF, ImmibisMicroblocks:OFF, BetterStorage:OFF Profiler Position: N/A (disabled) Vec3 Pool Size: 0 (0 bytes; 0 MB) allocated, 0 (0 bytes; 0 MB) used Player Count: 0 / 20; [] Is Modded: Definitely; Server brand changed to 'fml,forge' Type: Dedicated Server (map_server.txt)

TheTemportalist commented 9 years ago

I also just encountered this. Running beta-7

eslachance commented 9 years ago

I'm having this same error, and perhaps we can pin this down a little more.

The crash happens when:

On the actual frame quarry, I'm using BC mining wells, ME interfaces, an ME controller, and some Ender IO conduits for power/redstone. The timer is the RFTools timer, as I didn't install BluePower or some equivalence. I also have a chickenchunks chunk loader on it. Here's a picture: 2015-08-23_22 01 02

This is sad, because the frame quarry is just the one thing that's a really awesome way to get "unlimited" resources over time if you set it up right...

@partyanimal you seem to have the same mods installed as I'm using on the quarry. Perhaps there's a link there. Share your setup?

TheTemportalist commented 9 years ago

I agree on the dimension part. I too am using limit wells, along with multiparts, ender storage chests, thermal expansion tesseracts & ducts, and some projectred cabling/timers. If you didn't notice, I forked the project so as to try to pin down the issue when I'm playing. Although I was running my quarry earlier from the overworld (quarry is in mystcraft age) and it was working fine.

eslachance commented 9 years ago

So, tesseract and mining wells are what we're both using, as far as I can tell. As well as the crash only occuring when the frames are in another dimension.

TheTemportalist commented 9 years ago

Correct, but you can also not be in that dimension (I'm also using chicken chunks chunk loader). It isn't gaurunteed crash either. It's sporadic.

king05 commented 9 years ago

I have the same crash with the newest Funky Locomotion beta 7. I build an Quarry with Funky Locomotion, Mining Wells, Teseract, Thermal Expansion Ducts, Chicken Chunkloaders and Enderchests and Project red Timer. My Quarry runs in the Aroma Mining Dimension.

eslachance commented 9 years ago

It really sounds like the chickenchunks chunk loader is causing the issue. Either that or mining wells (it's what we all have in common). I'll do some testing.

TheTemportalist commented 9 years ago

I think I found the NPE cause. My latest crash log:

java.lang.NullPointerException
    at com.rwtema.funkylocomotion.movers.MoveManager.startMoving(MoveManager.java:239) ~[MoveManager.class:?]
    at com.rwtema.funkylocomotion.blocks.TilePusher.startMoving(TilePusher.java:175) ~[TilePusher.class:?]
    at com.rwtema.funkylocomotion.movers.MoverEventHandler.onPostWorldTick(MoverEventHandler.java:36) ~[MoverEventHandler.class:?]
    at cpw.mods.fml.common.eventhandler.ASMEventHandler_243_MoverEventHandler_onPostWorldTick_WorldTickEvent.invoke(.dynamic) ~[?:?]
    at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?]
    at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:138) ~[EventBus.class:?]
    at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick(FMLCommonHandler.java:255) ~[FMLCommonHandler.class:?]
    at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:645) ~[MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334) ~[lt.class:?]
    at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) ~[MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?]
    at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [li.class:?]
TheTemportalist commented 9 years ago

After looking in my dev setup of FunkyLocomotion, the error comes out to this line: https://github.com/rwtema/FunkyLocomotion/blob/master/src/main/java/com/rwtema/funkylocomotion/movers/MoveManager.java#L243

srcWorld.setBlock(srcPos.x, srcPos.y, srcPos.z, BlockMoving.instance, 0, 1);
TheTemportalist commented 9 years ago

Since srcWorld is accessed earlier, it is logical to believe that the srcPos variable is null. The block of code surrounding is as follows:

for(BlockLink link : links){
            BlockPos srcPos = link.srcPos;
            if (srcWorld != dstWorld || !dstTileEntries.containsKey(srcPos)) {
                srcWorld.setBlock(srcPos.x, srcPos.y, srcPos.z, BlockMoving.instance, 0, 1);
                TileMovingServer tile = (TileMovingServer) srcWorld.getTileEntity(srcPos.x, srcPos.y, srcPos.z);

As you can see, it is a variable of a BlockLink's inner variable. BlockLink is defined lower in the class: https://github.com/rwtema/FunkyLocomotion/blob/master/src/main/java/com/rwtema/funkylocomotion/movers/MoveManager.java#L375

public static class BlockLink {
        BlockPos srcPos;
        BlockPos dstPos;

        public BlockLink(BlockPos srcPos, BlockPos dstPos) {
            this.srcPos = srcPos;
            this.dstPos = dstPos;
        }

        @Override
        public boolean equals(Object o) {
            if (this == o) return true;
            if (o == null || getClass() != o.getClass()) return false;

            BlockLink blockLink = (BlockLink) o;

            if (!dstPos.equals(blockLink.dstPos)) return false;
            if (!srcPos.equals(blockLink.srcPos)) return false;

            return true;
        }

        @Override
        public int hashCode() {
            int result = srcPos.hashCode();
            result = 31 * result + dstPos.hashCode();
            return result;
        }

        @Override
        public String toString() {
            return "BlockLink{" + srcPos.toString() +
                    ", " + dstPos.toString() +
                    '}';
        }
    }

As you can see, the variable we are dealing with is instantiated on BlockLink object creation. That means that either a BlockLink is being instantiated with a null parameter, or the parameter is being set to null at some point in time before the startMoving function reaches line 239 (or 243 as of commit https://github.com/rwtema/FunkyLocomotion/commit/a0eca825dc9d30b19b869753db592fe034f8c7c5)

TheTemportalist commented 9 years ago

Ill see if i can dig up more.

TheTemportalist commented 9 years ago

@rwtema I hope you see some of this when you get a free moment.

TheTemportalist commented 9 years ago

I have determined that a BlockPos object is NOT being instantiated with a null parameter (I have opted not to provide a full brief on that search)

TheTemportalist commented 9 years ago

However, the parameter is only ever written to on BlockLink instantiation. I see no reason why this specific variable could or would be null. I am going to try recreating this error in a dev environment

TheTemportalist commented 9 years ago

My hypothesis through testing is that it has something to do with chunk loading. But I have no proof to back up this hypoth.

TheTemportalist commented 9 years ago

I definitely think the chunk loader is not working in my mystcraft dimensions because the quarry frame machine is only working when I am present in the dimension.

amadornes commented 9 years ago

@TheTemportalist, are you sure the chunkloader still loads the chunk while it's being moved? That may be the issue. Also, I heard some talk about chunkloading issues in other dimensions, so it may have something to do with that too

TheTemportalist commented 9 years ago

@amadornes, that's a good point. Perhaps the chunks are being unloaded when the structure is moved. I'll test this. However, if this is the case, I wonder what a work around would look like.

EDIT: I just tried testing and my server crashed again -_-

amadornes commented 9 years ago

A workaround could be not invalidating and re-creating the TE, but just removing it from the world and adding it again. That'd probably involve special-casing mods inside FLoco itself, since I think it invalidates and validates the tile inside the movement code, with no way for people to prevent it

king05 commented 9 years ago

@amadornes, @TheTemportalist the chunks get unloaded when the frames get moved... my workaround was a second platform witth an second chunkloader that moves 2 seconds after the main platform

amadornes commented 9 years ago

@king05 Yeah, that'd be the best solution that doesn't involve changing the code of the mod

eslachance commented 9 years ago

I'm just a n00b piping in here but... as far as "naive" solutions go, here's one: Have a fake, invisible block that follows the quarry. This fake block implements chunk loading capabilities from another mod, and, essentially, remains there while the frames move. Once the frames are moved, that fake invisible block moves also. So you have 2 chunk loaders, one that'S placed by the user, another that's placed by the mod.

As a workaround, I'll have to essentially have 2 frame sets, where the main one triggers the second one to move (probably through a redstone signal of some sort), obviously the second one has a second chunk loader... I just need to find a way to "transfer" that signal from one frame setup to another, without using wireless signals.

TheTemportalist commented 9 years ago

Orrrr.... Just implement a chunk loading block inside of FLoc itself? haha, wouldnt that be nice. Not a half bad alternative if we cannot get @amadornes's original suggestion of not invalidating TEs

king05 commented 9 years ago

@eslachance you can use 2 timers or so with diferent times... for example the fiste with the miner has 16 seconds and the second platform has 18 seconds

amadornes commented 9 years ago

@TheTemportalist That would also involve changing the mod's code to prevent that block from being invalidated and validated and also adding yet another chunkloader, but it may be the best option atm, yes.

TheTemportalist commented 9 years ago

@amadornes should I look into a PR for adding chunkloading code to the various movers? (As in: if the affected chunks are not loaded, load them until operation is finished)

amadornes commented 9 years ago

@TheTemportalist You should probably poke @rwtema before doing that, he may not completely agree on it or have thought of another way of doing the same. You can probably reach out to him on twitter (he's sick so I doubt he's checking github very often)

TheTemportalist commented 9 years ago

I am thinking that if I create an abstract TileEntity class from which all the movers can extend (presently Slider and Teleport both extend Pusher, which extends TileEntity) then I am put in code there for each to load the affected chunks before calling the actual move function here: https://github.com/rwtema/FunkyLocomotion/blob/master/src/main/java/com/rwtema/funkylocomotion/movers/MoveManager.java#L46

TheTemportalist commented 9 years ago

That will need work, but it is a start. Feel free to clone my clone and submit PRs. We can iron it out before submitting my repo as a PR into the original. @amadornes, what do you think?

amadornes commented 9 years ago

@TheTemportalist I have no idea how chunkloading works so I doubt I'll be able to help much with this one :/

TheTemportalist commented 9 years ago

We have not had any progress on this issue lately, right?

amadornes commented 9 years ago

Not that I know of, no

usafphoenix commented 8 years ago

i'm getting a server tick loop error as well that reads just like this, but i'm not using any chunk loaders, or using any other dimensions. not even visited the nether yet. after each crash i have to use mcedit to move my player back to where the funkylocomotion machines are or i crash upon trying to load the world. then i can go explore for a little while longer until something triggers the crash again. NO IDEA what's causing it, but i'm getting the same crash and haven't got any chunkloaders active.

Tim2162286 commented 8 years ago

I am getting the same crash, however all chuncks are loaded during move, so i dont think its chunkloading. in the meantime, i am going to try going back to beta 6.

jayaram13 commented 8 years ago

I'm getting the same error in the same dimension (overworld). The server starts and within a few seconds, crashes with the same stack trace. Sharing the crash log and server log. Can share the world if needed too. It is chunk loaded using chicken chunks. Has 28 mining wells with a small AE network on top to send items and receive energy through a tesseract.

[10:58:52] [Server thread/ERROR]: Encountered an unexpected exception java.lang.NullPointerException at com.rwtema.funkylocomotion.movers.MoveManager.startMoving(MoveManager.java:239) ~[MoveManager.class:?] at com.rwtema.funkylocomotion.blocks.TilePusher.startMoving(TilePusher.java:175) ~[TilePusher.class:?] at com.rwtema.funkylocomotion.movers.MoverEventHandler.onPostWorldTick(MoverEventHandler.java:36) ~[MoverEventHandler.class:?] at cpw.mods.fml.common.eventhandler.ASMEventHandler_339_MoverEventHandler_onPostWorldTick_WorldTickEvent.invoke(.dynamic) ~[?:?] at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) ~[ASMEventHandler.class:?] at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) ~[EventBus.class:?] at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick(FMLCommonHandler.java:255) ~[FMLCommonHandler.class:?] at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:645) ~[MinecraftServer.class:?] at net.minecraft.server.dedicated.DedicatedServer.func_71190_q(DedicatedServer.java:334) ~[lt.class:?] at net.minecraft.server.MinecraftServer.func_71217_p(MinecraftServer.java:547) ~[MinecraftServer.class:?] at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:427) [MinecraftServer.class:?] at net.minecraft.server.MinecraftServer$2.run(MinecraftServer.java:685) [li.class:?]

ghost commented 8 years ago

having the same issue ( i believe)

my server is now in a boot loop funky locomotion beta 7 forge Forge 10.13.4.1614 very worrying to see a mod thats in so many modpacks have a bug that dates back to august 2015 that can kill a server!

the crash is : Description: Exception in server tick loop

java.lang.NullPointerException: Exception in server tick loop at com.rwtema.funkylocomotion.movers.MoveManager.startMoving(MoveManager.java:239) at com.rwtema.funkylocomotion.blocks.TilePusher.startMoving(TilePusher.java:175) at com.rwtema.funkylocomotion.movers.MoverEventHandler.onPostWorldTick(MoverEventHandler.java:36) at cpw.mods.fml.common.eventhandler.ASMEventHandler_458_MoverEventHandler_onPostWorldTick_WorldTickEvent.invoke(.dynamic) at cpw.mods.fml.common.eventhandler.ASMEventHandler.invoke(ASMEventHandler.java:54) at cpw.mods.fml.common.eventhandler.EventBus.post(EventBus.java:140) at cpw.mods.fml.common.FMLCommonHandler.onPostWorldTick(FMLCommonHandler.java:255) at net.minecraft.server.MinecraftServer.func_71190_q(MinecraftServer.java:645) 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)

Saberos commented 8 years ago

Could not reproduce the issue using a build based on commit e201067, it appears to have been fixed already.

ghost commented 8 years ago

i have since moved to 1.8.9 sorry

bit2shift commented 8 years ago

@Tim2162286 It's the chunkloader being moved while the frame is deployed in a remote location. It gets invalidated, causing its forced chunks to unload, which causes the NPE on FLoc's code. Simple.

@Saberos The frame being moved with the chunkloader needs to be outside the player's chunk view. Use /chunkloaders if you have ChickenChunks.

Once this "bug" is triggered once, it will happen a second time. Third time's a charm.

The solution, as mentioned, is to use 2 chunkloaders, just like you would have to use 2 frame pushers/pullers/sliders to get the frame moving continuously.

How to reproduce (single chunkloader): won't crash


will crash

Xeridanus commented 8 years ago

For anyone still following this thread I've encountered this bug myself. Here's what I know.

Now for the interesting part. I followed the stack trace as others here have done, I believe the error is due to srcWatchingPlayers being empty when no-one is around because this fits the evidence. I have little experience in Java let alone Minecraft so if someone else could look into this, my machine can finally get off (through) the ground.

bit2shift commented 8 years ago

@Xeridanus Can't you be bothered to look at the issue I've referenced? You should read it.

Xeridanus commented 8 years ago

Ah, my bad. Thank you. I don't use Github often. Would be nice if Rwtema did the build himself so mod packs could use it.

danshat commented 8 years ago

Same problem. Got too far from my mining platform and crashed.. Hope another platform behind the first one will help.

UPD. I can't enter my world anymore :( Getting crashed right after "Downloading terrain" .. This is an actual problem. UPD2. Removed pushers using MCEdit and could get into my world.. Made another platform which motion is synchronized with the first's one using WR-CBE (wireless redstone). First platform moves, then after 64 ticks another platforms moves. There are two chunkloaders on them. No chunkloaders (ChickenChunks) being moved simultaneously. Here how it looks together: 2016-08-24_15 21 30 2016-08-24_15 21 23 (there are no second pushers, bcuz i removed them with MCEdit) Chunkviewer shows me these chunkloaders work fine, but when I get too far from them, MCraft crashes..

UPD3. Fixed by manual compiling of Funky Locomotion from github and using the compiled one. I figured out the second platform don't need anymore. I just attached one chunkloader to my first platform, and another to my second pusher on it. Here is chunk viewer screenshot. Here is my mining platform By the way, I uploaded compiled version to Google Drive

bit2shift commented 8 years ago

@danshat you could've just dropped the jar in a zip in here, if the zip upload was currently working. I've contacted @github about this upload problem.

EDIT: I've forked this repo and added my unofficial build to it.