Mekanism

Mekanism

111M Downloads

Cable/Pipe Malfunction

BobbyMcJoe opened this issue ยท 47 comments

commented

So I had this problem in 1.6.4, and it is back in 1.7.10 with Mekanism 8.1.4. The cables or pipes will on occasion seize up and I can't give any logs because there is none. No Crashing or erroring. Just cables/Pipes making the whole power or liquid network die and making them need to be replaced. If you can ask specific question I can try to tell you about my setup, I just don't know where to start.

commented

Oh, wait. Mekanism 8.1.2, will try to update it.

I updated to 8.1.4 and the problem persists

Edit 2: It didn't work in 8.1.4 and they are still sorta buggy in 8.1.3.231 which was said to have fixed.

commented

@unpairedbracket, we should probably prioritize this once you're done with finals - I did some testing on my private server and encountered the same issue.

After logging out of the server and chunks without loaders are unloaded, any transmitters in those unloaded chunks become unresponsive. This includes logistical transporters - as we now use InventoryNetwork to manage connected inventories, the pathfinding algorithms don't come up with any paths. Breaking and replacing all the cables that experienced a chunk unload after logging in was the only way I was able to get them working again, aside from just keeping all transmitter chunks loaded.

I'd be happy to go digging and try and sort it out, but I wanted to double check in case anything jumped out at you. Transmitter code is always frustrating to work with...

commented

Thank you. 8.1.3.231 has it fixed and good luck on your finals.

commented

Can you confirm this issue is still fixed using the latest builds? I don't recall pushing a change that would impact this.

commented

Hi! I have exactly this problem with the newest version (Mekanism-1.7.10-8.1.5.246). All cables from mekanism won't come back after I leaved the chunkloaded player area (i have no chunkloader in my base). Also my server crashed after a restart because I have used a energy cable as connector between a enderio energy conduit and a enhanced energy conduit. I was quick enough to log in after the restart, so I could remove the cable.
At the moment my purifying factory doesn't work because the pressurized cable (oxygen transport) have this problem, too.

So I have a crashlog and I hope this helps: http://pastebin.com/n9ZbcXer

commented

I have tested it now with a chunkloader in my base (railcraft world anchor), the problem doesn't occur.

commented

This is the same issue I and smbarbour reported in #2580
We've tested versions 8.1.1 through 8.1.4 and have found that the Universal Cables and Mechanical
pipes can be reset by teleporting or warping away and back, forcing the the region to unload and reload.
But, we usually had to warp out/in many times to get them to work again.
Ultimate Gas Tubes were tested and we could not get the to transport the 4 gases we tested
(Hydrogen, Oxygen, Chlorine, Sodium), It was also tested a single tube connected to a separator,
no matter how much time was given, they all registered as No Network Detected and empty, with the reader

commented
Obviously the best thing would be no bugs like this in the tubes to begin with, but yeah.

If only it were that easy. The problem is that these bugs only seem to manifest when chunks aren't able to load/unload cleanly, which mostly seems to be an issue in large bases using machinery from multiple mods that span multiple chunks. These situations are rare in development environments. I tested the code thoroughly when I wrote it (logging out and into servers, flying out of player load range and back, etc.) and these issues were not apparent. It's only once players start using the code in the wild that these issues arise, and they're often particularly tricky to track down.

On a practical note, you should be able to place a gas tank in the path of the tubes to store excess gas. Hopefully that should stop you losing quite so much while this is being worked on.

commented

I didn't even realise you could place those gas tanks on the ground, lol, well that makes things much better.

And yeah I can undertand testing takes place in a convenient small area. And us players likely (like I have), build around an existing base, running solar array tubes from 1 chunk above base to the infusers 5-6 chunks away lol.
Didn't meant to sound entitled with what I said, just meant to say it has a "I get that it would, but obviously it doesn't work that way", but said it stupid =P.

commented

Ultimate Pressurized Tubes. I am encountering this to no end. constantly tubes will become inactive and lose whatever was contained in them, having to leave the area and return (as well as disabling any chunkloaders partially and even fully loading the tubes) for them to work again.
This wouldn't be anywhere as annoying if there were some storage method for the gases so an overflow/storage could be managed, but since only the infusers and tubes themselves hold any (and the tubes hold a fair chunk, so if you run from the surface to underground, you lose a lot), hours of gas generation can just disappear.

Obviously the best thing would be no bugs like this in the tubes to begin with, but yeah.

EDIT: also, often it seems that despite being inactive, tubes still recieve the gases (from tritium, to DT) but it just disappears into the abyss, never reaching a destination.

commented

Hi,

I am on 246 and have this issue with ultimate pressurized tubes. (Dies down and works after replacing.)

However, I can 100% confirm that the chunks were loaded via chunk loader.

P.S.: Ultimate mechanical pipes joined the club. With them its even possible that only part of a pipe system dies down (previously with pressurized it was only an "all or nothing" kind of thing.) Just out of curiosity i checked and they were in the same chunk. Meaning within a chunk half of a pipe died.

commented

I seriously cannot track this issue down and it's driving me crazy. I just did a ton of tests in both dedicated server and single player environments and I couldn't reproduce it once - @unpairedbracket is right, it only really happens when chunk unloads aren't performed cleanly. It would be awesome if one of you could find an exact process I could follow to reproduce the issue, otherwise there's not much I can do.

commented

I know a lot of the chunk-churning profiles I've seen were (or appeared to be) AE2-Mekanism interaction issues. Maybe multiple mods that keep track of networks of TEs in the same chunks tend to have these issues. I've not seen any of these profiles since my rewrite though (the main motivation for the rewrite being to try and avoid chunk-churning issues) so this may not be the case any more.

I've been having the same problems reproducing this, and as @aidancbrady says, having steps to reproduce would be enormously helpful. Even if anyone's got an instance folder (world files and mods folder, configs, etc) that's not too large in filesize to send I might be able to investigate your specific cases.

commented

Honestly, you may be right, this may be directly related to AE2 network chunk interaction- the only time I encountered this issue was in my test server in a same region I had my ME system set up. When I have a chance I'll try and set up AE2 in my development environment and do some more tests, maybe something will pop up.

commented

There is/was no AE at my point. Just EnderIO and Thermal Expansion interactions. But my problem was gone with the railcraft world anchor. Without the anchor - on chunkreload (includes a server restart) the pipes are out of function untill I replace it all.

commented

Hm, I got also no AE arround. (RF dimension, always day/desert.)

I have enderio around (close by, as in same chunk) and most of the "dead cables" happened with pipes connecting pressure pipe tanks and mekanism devices.

(I use pressure pipes liquid to gas conversion for mass transportation and easy storage/buffering.)

Fully understand that a way to re-produce would be helpful, however so far it seems to be rather random.

commented

Well, it's not just AE that does it then. Learning process and all that.

Next time it happens to one of you (or if you'd be willing to remove a chunkloader to bring it on), it might be informative to examine the networks using a Network Reader. That should help to pin down the issue, if something seems wrong with the readout (like all of them not having networks, or a network with 0 transmitters or negative capacity or something like that).

commented

@Tsunayoshi & @Skar78, another thing that could help is if you uploaded your world file for me or unpairedbracket to test out in our development workspaces

commented

Hi, I've been running into this problem a lot in my SSP world. I'm running a bunch of mods including AE2; it's MC 1.7.10, using the Resonant Rise 3.2.7.1-RC pack with some stuff like Thaumcraft stripped out.

It's kind of weird, because although I've had all four kinds of pipes get stuck over the course of this world, I have one case in particular that hasn't had a problem at all yet: the pressurized tubes carrying gases for the ore processing line. I have the oxygen and HCl running through a pair of condensentrators so I can use bedrockium drums as a storage buffer, but the various sulfur gases are all being piped directly, and I haven't had problems with any of those so far.

The condenstrators aren't sufficient to fix it though, because I had a similar setup with a dynamic tank to hold my liquid ethelyne, and the tubes connecting the (de)condenstrator to the gas-burning generators would get stuck all the time.

Just now, my basic pressurized tubes for both deuterium and tritium seized up. Network tool on the pipes in question says 0 transmittors, 0 acceptors, needed/buffer/throughput are all No Network, capactiy is 256.0.

At this point I'm using a portable teleporter to jump in and out of my base mostly, although I think early on I was running into it just using the nether portal I set up nearby. I think my sequence of actions just now was something like:

  • Personal teleporter to jump to the distant desert area where I have my evaporation towers set up
  • Save and quit to title
  • Load up a test world to try something out (I'm getting lag at the towers and suspected the pumps), then quit back to title again
  • Log back in to the main world
  • Personal teleporter back to my base ----- pipes are jammed

Poking around in my ore line just to confirm, all the pipes over here are fine, as expected; there are oxygen, HCl, SO2 and SO3 pipes all look to be properly networked. The teleporter frame in my base is not in the same chunk as either set of pipes, so I don't think that's affecting it either.

If you really need it I might be able to upload the world for you to test, but it's around 1GB uncompressed; it's going to be tough for me to find somewhere to upload that.

Fortunately it's easy enough to fix in SSP; I can stand in my base and quit to title, and when I load it back up everything is fine.

commented

Thanks so much for the detail. I'll look more into this tomorrow, but quick question- you mentioned everything worked fine in SSP, does this mean you're able to follow the steps you listed (teleporting in and out of base) and never run into the issue? It's strange that it would only affect dedicated servers.

commented

No, it does look like I triggered the issue today in SSP by teleporting out and in (although it doesn't feel like I can reliably make it happen). What I meant was that once it does happen I can consistently fix it by standing near the affected pipes, then quitting to the title screen and reloading. Something about the quit/reload cycle fixes the problem.

commented

I also have the issue on a server.

While I do quickly notice if part of the pipe network dies in the D and T fuel chain - I dont notice it in the DT fuel, as i usually dont use it.

So unfortunately I dont know when the ultimate pressure pipes from D tank to chemical infuser and from T tank to same chemical infuser died - but they are empty and it looks like the issue "re-appeared".

As I teleport in and out of this area quite often (rftools dimension I also use for ender quarry) I am quite confident that re-loading did not solve the issue without re-planting.

When i am at home i will try the network tool and as this is not a crucial part (no need for DT currently) I will not replace the pipes and just save the world with the issue being there.

(Server re-start also did not impact those pipes being "dead".)

commented

I only play on a dedicated server so I cannot upload the world. That said, as Rocketmantis stated, I also usually have to fix it by quitting and re-logging in. Sometimes I can fix it by flying off for a few minutes and /home teleporting back to a similar spot so the chunks all load together (I guess).

commented

I also play ona server, but its running on the same PC. So I should be able to upload the world.

commented

Ah, okay- from a fixing point of view that makes things easier. @rocketmantis, Mediafire should be able to handle the world file if you want to try and upload it- I could take a look tomorrow. It would be great if you could give me a brief set of instructions on what to do to reproduce like you have above, even if it's not reliable.

Sorry for the hassle, but I really want to get this issue fixed as soon as possible.

commented

@Skar78, what I wrote above also applies to you- in fact, two test cases would be ideal, then I could do closer cross examination.

commented

@aidancbrady Sure, appreciate your effort. However GMT+8 time zone here so I can only do it in around 6 hours (stuck at work).

commented

Haha no worries, it's close to midnight here and I should probably be heading to bed now anyway. Thanks!

commented

Okay, I'll try and get an upload sent tonight. I seem to have a reliable reproduction now actually, so I'll get that all written up shortly.

commented

http://www.mediafire.com/download/9eys1s97sff2x6c/Broken_pipes_-_Rocketmantis.7z

Turns out it's very easy to reproduce, actually.

  1. Load the world (world name is "Arisen")
  2. Spawn in at base, around +1021 -146
  3. Check the line of basic pressurized tubes at +1017 -130 and confirm they're okay
  4. Use personal teleporter and go to desert outpost, +2478 +1159
  5. Use teleporter again to go back to base
  6. Check the tritium pipes again -- they are now broken
  7. Teleport to the desert and back again
  8. Check the pipes again -- they're now working

When pipes are working, network tool reports:
Transmitters: 12
Acceptors: 10
Needed: 3072
Buffer: None // or maybe Tritium (X mb)
Throughput: 0/t
Capacity: 3072.0

When pipes are broken, network tool reports:
Transmitters: 0
Acceptors: 0
Needed: No Network
Buffer: No Network
Throughput: No Network
Capacity: 256.0

As an alternative, you can also just go through the nearby nether portal and come back, instead of using the personal teleporter. Trips to the nether have the same effect as trips to the desert.

You don't have to save/reload or anything like that, just any time you teleport away and return, any working Mekanism pipes in chunks that don't have chunkloaders in them will break, and any broken pipes will fix themselves. That explains the intermittent appearance of the problem for me; if I wasn't particularly paying attention, I might leave and return several times before trying to use some particular pipe, and if I happened to make an even number of trips then everything was fine by the time I needed it. Also it turns out my ore line is in a chunkloaded chunk, which is why none of the pipes there ever had problems.

Just to confirm the chunkloading aspect of it, I moved the chunkloader from my ore line over to the tritium pipes, and suddenly the ore line started doing the break/fix cycle when I teleported away and returned. Meanwhile the tritium pipes became unaffected -- if they were working when I added the chunkloader then they'd stay working, otherwise they'd stay broken.

commented

Thanks so much for this, it should be enormously helpful in finding the issue.

That said, I'm having difficulties getting this set of mods to run in a dev environment, so I'm going to start from Mekanism alone and test with gradually larger and larger sets of mods until something breaks. I'll let you know how I get on.

commented

Yeah, confirming that I'm not running into any issues with only Mekanism installed. Let me know what you find @unpairedbracket

commented

Progress.

We have a successful reproduction, with only 42 mods loaded (Mekanism, AE2, BC, CoFH Mods, Chisel, ChickenChunks, Computercraft, EIO). Now I will try to narrow down to a minimal set for reproduction.
...
Chisel not the issue, unsurprisingly.
Removing EIO stops the problem.
Putting EIO back, removing BuildCraft doesn't help either

commented

World dl: https://www.dropbox.com/s/d0v3rxoclvh0vbo/world.zip?dl=0

the dead pipe is an ultimate pressureized tube in the rfdimension Desert id5.
teleporter@ -939, +408, 64 pipe@ 36, -219, 63

modpack is "unabridged" on atlauncher, however several mods (incl. mekanism) were manually updated.

commented

Yeah, grass update ticks, and there are two EIO lights in a mine deep underground that cause the consistently reproducible issue.

It seems that they're checking redstone power on every tick, which when they're in a chunkloaded chunk on the border of an un-chunkloaded chunk causes them to reload that chunk as soon as it's unloaded. Because chunk loading (of this kind) is synchronous and unloading is async, the new chunk instance gets loaded from NBT and instantiated before the old chunk instance has unloaded properly, most importantly before it has a chance to call the unload methods on it's tiles. Presumably also because of this insta-churning, I think world getTileEntity methods may be returning the wrong version of TileEntities and the new ones end up without a network.

commented

Yup. I'm encountering the issue with only Mekanism and EnderIO installed in my development environment. Changing issue details...

commented

The chunk in question appears (from logs, not done any proper debugging yet) to be being prevented from unloading properly when you teleport away. Or at least, it does seem to unload, but then immediately reloads and stays loaded.

commented

This was happening even without EnderIO installed and I traced it to the grass update tick. It wasn't causing issues though for me...

commented

...huh, it's the lights? I just made a bunch and used them instead of torches 'cause they look cool and don't smoke; their redstone sensitivity was always superfluous for me.

I'll test the fix and get back to you.

commented

It's invariably something innocuous or bizarre that's the root cause of these issues. A couple of years ago I spent ages tracking down a crippling memory leak that turned out to be caused by the existence of dynamic tanks in the world

commented

Oh, I've just realised it might require a higher version of Forge than your modpack is using. If it crashes with fluidID issues I'll see if I can apply this fix to the master branch version.

commented

Hmmm, I'm not getting fluidID issues, but rather "Unsupported major.minor version 52.0" when other mods (eg. computercraft, WAILA) try to load.

According to the pack's website, it's using Forge 10.13.4.1448. Not sure how to verify that from my actual installation.

commented

Strange, did you compile with source target 1.8 @unpairedbracket?

commented

I shouldn't have, I compiled from gradle and that's explicitly set to 1.7

commented

Shall we cherry-pick the commit onto master branch and let the buildserver deal with it?

commented

Yeah, that sounds good. I just ran some tests and I was unable to reproduce the issue with the fix- I think it's safe to close the issue now. Yay!