EnigmaticaModpacks / Enigmatica2Expert

The official repository and issue-tracker for the modpack Enigmatica 2: Expert for Minecraft 1.12.2
https://www.curseforge.com/minecraft/modpacks/enigmatica2expert
Other
141 stars 125 forks source link

IC2 Universal Cable not connecting. #1116

Closed TParish96 closed 4 years ago

TParish96 commented 5 years ago

Modpack version Version 1.62 (Stock no config changes) 2019-04-18_00 37 22

Can the issue be reproduced? unknown

Logs N/A

Issue IC2 Machines, in this case the Metal Former won't connect to Advanced Universal Cable, They appear to but as soon as they draw any power it immediately disconnects and stays disconnected unless you relaunch and the same loop happens. Replacing cable does nothing neither replacing machine. AE2 recognises and uses the IC2 machine.

NielsPilgaard commented 5 years ago

Thank you for the report, I will investigate the issue.

MirrorImageQS commented 5 years ago

Adding to this, I have seen this happen over the past several versions (at least 1.57, but I think earlier). Usually, I have to restart the entire client to get them to fix (exiting to main menu and reloading doesn't work). Breaking and re-placing either the machines or the cables doesn't fix it.

I have also seen this happen with IC2's own cables as well. I don't know that it's necessarily the Mekanism / IC2 cables at issue, because I've got MFSUs directly pointed at my IC2 machines, and when this happens, the machines stop drawing power from the full MFSUs as well. They'll run down their internal buffers, but then they're entirely stop accepting energy. When it happens, it applies to all IC2 machines, not just any one particular one.

Anecdotally, this seems to happen after some sort of major lag spike that causes my player to stop ticking (can't interact with any machines, my Time in a Bottle stops ticking up, etc.). I have no insight into what causes that spike, and it may be entirely unrelated, but (scratch that; doesn't seem to be related) there is an open bug on the IC2 bug tracker that has what I describe with IC2 cables, and it was opened back in February: https://bt.industrial-craft.net/view.php?id=2490

If I come up with any more information, I'll add it, but I think this is an IC2 issue, not a Mekanism issue.

0002490: Break wires - MantisBT
NielsPilgaard commented 5 years ago

I agree. Could you check if the bug occurs after travelling between dimensions?

dmansdminer commented 5 years ago

I've had the same experiences as MirrorImageQS. For some more anectodal information, I've noticed it consistently happens after an extended period of time in-game (IE a couple of hours). Whether I afk for a while or am active, eventually I find my IC2 machines unpowered and my crafting comes to a halt. The only solution is restarting the client fully. It's happened to me since I've started the pack, which I believe was version 1.57.

I haven't noticed any relation between this issue and travelling dimensions. I am constantly warping between planets and compact machines, but the issue only arises after time has passed and hasn't been a result of an individual warp.

MirrorImageQS commented 5 years ago

I agree. Could you check if the bug occurs after travelling between dimensions?

Travel to the Nether, End, or Twilight Forest via their respective portals does not seem to trigger the bug on their own. I also tried the Moon, Mercury, Mars, Stella, and Kepler 0119 via my RF Tools Matter Transporter, and did not recreate it there either.

TParish96 commented 5 years ago

I think the IC2 machines are broken, I put an IC2 generator next to a macerator and it won't take power. the macerator won't connect to IC2 cables either! bloody IC2 is an old broken mod...

I can confirm with testing that a full client restart appears to temporarily fix the issue. I also have experienced the issue forming after hours of being in game.

I don't clearly understand why it happens after a long time in game and what closing the client vs going to menu screen would do?

MirrorImageQS commented 5 years ago

Think I just found something. The bug might be triggered by exiting an entire world and re-entering it. That could help explain why "a long time" causes this to happen, as that might imply a session with a brief return to main menu at some point for some reason, and would also explain why a full client restart is required to fix.

Doing more research. Will update when I have some steps. This definitely makes it an IC2 issue I believe though.

EDIT: Confirmed. In my particular world, when I load into it the first time, my cables are fine. If I immediately save/quit back to title and rejoin, the cables are immediately broken. I have not been able to recreate this in a fresh world. I'd upload my existing world, but the save folder is approaching 1GB, and the backup is 300MB. I'm going to see if I can get that any smaller, then I'll start seeing if I can figure out what might be causing this.

The basic test I did on a fresh world was to give myself the bare minimum - Metal Former, Universal Cables, Power Cell - and then quit and reload. That wasn't triggering it, so there must be some interaction that causes this.

I am attaching a log file, which does start throwing interesting and likely related messages. In this particular log, 21:00 is when I originally loaded the game, and 22:09 is when I loaded up the world a second time after taking a break. As I'm parsing through this, I just noticed this line in my log file:

[21:49:36] [Client thread/INFO]: Unloaded world <net.minecraft.client.multiplayer.WorldClient@613b760d 0 MultiplayerChunkCache: 625, 625> is still hanging around after 60 seconds.

That sounds like something interesting, but it may be entirely unrelated seeing as I was able to trigger this with the world unloaded for only a few seconds.

2019-04-20-3.log.gz

EDIT2: More testing. In addition to that Unloaded world message, there were thousands of "Tile ... had the wrong world in grid update" messages in that log file. In a new test I just did, when I ensured that I loaded the second instance of the world very quickly, I do get those messages showing up. Shortly thereafter, the Unloaded world message showed up.

So it sounds like something is holding the original server open. This could explain why my basic test was failing as well, as this something might be something relatively mid-game for this pack.

EDIT3: Might be The End dimension messing with things somehow. I went to the End and killed the Ender Dragon, and only once I did that did the "Unloaded World" messages start occurring. I haven't been able to recreate the wrong world tile messages yet though.

TParish96 commented 5 years ago

@MirrorImageQS I haven't been to The End yet and I have the same issues.

MirrorImageQS commented 5 years ago

Are you at least able to recreate the issue by save/quitting and re-entering your world? If we can at least confirm that that's the trigger, it's a starting point.

TParish96 commented 5 years ago

confirmed, I was playing for a while like 2 hours, went to the main menu while I went to dinner came back 2 hours later logged in played for an hour then went to use IC2 machine and it was disconnected...

Relaunching full game engine fixed it. What does full game engine launch do vs the main menu?

MirrorImageQS commented 5 years ago

At risk of going technical here, my theory is that IC2 wasn't written to account for the possibility of the "Unloaded world" issue (which I believe was a reasonable assumption, but that's another conversation). Basically, it means your game client is trying to run two game worlds at the same time, or at least parts of that second world that refused to shut down when you quit back to the main menu.

Something with how IC2 was written means it's not running all of its code against the correct world. In this context, the "Unloaded world" is receiving the calls to connect cables and make the machines interact with other blocks, while the "loaded world" (the one you are actually in) doesn't get those updates, and they stay disconnected.

When you do a full reboot of the game, exiting the client finally makes that Unloaded world close out completely. When you launch your world after that, it's now the only world running in that instance of your client, so the calls go to the expected place.

TParish96 commented 5 years ago

yeah I understand you. I assume IC2 was written in the Modding Minecraft caveman ages and is barely updated since. If its so broken / old and incompatible why don't modpacks start removing / finding alternatives for it.

MirrorImageQS commented 5 years ago

Think I'm on to something. Looks like this might be related to shenanigans with how Applied Energistics chunk loads things. I've now got a test world that has this issue, I just need to refine down the minimum steps involved to recreate.

Short explanation of what I did was I set up an AE2 controller in one chunk, then connected it to an IC2 machine in an adjacent chunk with an interface, plus a handful of terminals, crafting CPUs, etc. to make a modicum of a "network". After setting that up, exiting and re-entering the world triggers the "wrong world in grid update" errors, and the cables begin misbehaving.

I stumbled upon this while researching how to optimize chunk loading for a sprawling AE system and came across this bug report, which is admittedly 4 years old and claims to be fixed, but the scenario it describes exactly matches the setup I used. https://github.com/AppliedEnergistics/Applied-Energistics-2/issues/1656

EDIT: It's either not Applied Energistics, or it's some interaction between Applied Energistics, Flux, and maybe the Mekanism Universal Cables powering everything. I feel like Flux is definitely more so the trigger, as I wasn't able to recreate the issue with Applied Energistics alone. Adding a cross-chunk Flux network, however, seems to have started triggering it.

MirrorImageQS commented 5 years ago

I've got a little more information, but not enough to be conclusive yet. What I have determined is that once you save/quit a world that triggers this issue, any other world you join after that will have the issue, even if that world did not have the issue itself. I've been able to trigger the issue on the attached world, but I'm not sure what the precise steps were. However, if this gets forwarded along to the relevant dev teams, they might be able to debug it. Cable Test World 2.zip

There is a small setup around coordinate 550/80/230 containing an AE system. I've tried recreating that same system on other worlds, but that alone hasn't triggered the issue.

valuial commented 5 years ago

I don't think this is specifically AE related, in my current playthrough the bug happened before I set up AE at all. It did occur the first time reasonably close to the first time I connected Mekanisms cables to the IC2 power grid. As for dimensions: The only one I ever visited was the Nether - no End or planets, not even compact machines.

Bysokar commented 3 years ago

IC2 doesn't appear to support world unloading, even though its a forge feature. If a World unloads and reloads after a cable is placed it doesn't work. This could be resolved by IC2 attempting to resolve the world rather than relying on an internal reference to it.

NielsPilgaard commented 3 years ago

I don't think IC2 will be getting any fixes sadly.

Irgendwer01 commented 3 years ago

Its an issue how IC2 tries to get the world, it thinks that this world is wrong and unloads it to prevent issues and prevent any new energy connections in that world/dimension

Bysokar commented 3 years ago

IC2 Classic doesnt have the same issues. You could consider migrating. It isnt quite as widely supported though, for integrations. It has stricter API requirements.

Irgendwer01 commented 3 years ago

IC2 Classic doesnt have the same issues. You could consider migrating. It isnt quite as widely supported though, for integrations. It has stricter API requirements.

@Bysokar Well, migrating wouldn't be the best since all IC2 progression would be gone for all players, scripts needed to be rewritten and the Universal Cables conversion would be gone which would mean no RF to EU conversion.

Bysokar commented 3 years ago

@Irgendwer01 Configuring universal cables to pull or push with the configurator thing works with IC2 Classic.

But yes youll lose progress.

IC2 is long dead.

Porcy commented 11 months ago

Ok, investigating the (same?) issue, with E2Eu and NuclearCraft this time. NCWrongWorldGridUpdateSpam And it also trigger the IC2 cables not connecting bug. All happens in compact machines dimensions and not in overworld. So, it's not specific to IC2. This started to happen after a power outage after restarting my server. But it doesn't go away after another restart.