Refined Storage

Refined Storage

77M Downloads

Issues with chunk unloading: Solderer dies, inventory reset

RealGrep opened this issue ยท 35 comments

commented

There seems to be an issue if I go away from the setup, either going far away, or going to another dimension. The solderer becomes unresponsive, and must be picked up and placed again. A Twitch viewer mentioned having similar issues with other components.

Also, I had crafted something and put the results into the inventory. I went a ways away, then came back. The crafted item was no longer there, but the materials I had used to make it were back.

Clearly, there is an issue introduced recently with chunk unloading and loading. No errors or anything appears in the log files.

This is with refinedstorage-0.7.8.jar, and forge-1.9.4-12.17.0.1954-universal.jar in MC 1.9.4.

If there's anything I can do to help, let me know. :)

commented

Thanks for reporting, I'll take a look.

Are you able to reproduce this issue 100% of the time or does it only occur at random times?

commented

The solderer dying is quite consistent. I just go to the nether, stay long enough for the chunk to unload, come back, and it's unresponsive. The other inventory one seems to be less consistent, or at least I haven't noticed it as frequently. I'll see about testing it more later today.

I just restarted the server, and the solderer was dead. Possibly it was before the server restart and persisted across the restart.

commented

Inventory loss also seems fairly consistent. I lost some things earlier. Just now, I put 51 blaze rods in, and flew away a bit of a distance, waited a bit, and came back. Blaze rods are now gone. Perhaps I shall put my things elsewhere until this is fixed. hehe

commented

Can't seem to reproduce this at all on the latest version, latest Forge, and an empty world with just RS installed.

  • Can you try to get the issue to reproduce on a modded instance with just RS installed?
  • Which storage type were you using (disk, storage block)?
  • Which blocks from other mods were near your base / setup?
  • When the materials came back and the crafted item was gone, were the materials again in the crafting matrix or just in the system again?
commented

I'm pretty sure that this is caused by some other mod in the FTB modpack since I'm absolutely NOT able to reproduce this on a instance with just RS installed.

commented

Just tried this on FTB, not able to reproduce. Can you send me your world where the issue is happening?

commented

Can you check if you still have this problem in 0.7.9?

commented

Will do. Though being past 5am, I shall have to do that tomorrow. :)

commented

Sadly, no, at least with the solderer going unresponsive. I put it down, pushed the redstone button a few times to make sure it was ok, then went to the nether. Stayed there a bit and collected quartz. Came back and could no longer change the redstone button's state. So I'll try and isolate this later today.

commented

Are you still losing your items?

commented

So this is the part of the code that handles container synchronization:

https://github.com/raoulvdberge/refinedstorage/blob/mc1.9.4/src/main/java/refinedstorage/tile/TileBase.java#L33-L39

Since you aren't getting any tile updates, I'm assuming your EntityPlayerMP is missing from worldObj.playerEntities when rejoining the dimension... some other mod is probably altering that list?

commented

Can't imagine what mod might be doing that. Only mod that deals with dimensions that I can think of, right now, is of course RFTools Dimensions. Also, the solderer thing happens if I just go away in the same dimension for a little while and come back.
Though if you can make a debug version of the mod that will test that, let me know and I'll give it a try. Doing a bunch of testing right now.
Just tested the item thing. Took out 9 quite clear glass, went some distance and waited a few minutes. Came back, the 9 glass are back in the system, thus duplicating them.
Only thing I can think of is maybe there's a race condition? The list being checked before it updates? Getting a number of skipped ticks at the moment, so maybe they're related.

commented

I'm always calling markDirty when the storage changes, so your disk drive should be saving. Obviously the tile isn't saving at your side when leaving the chunk...

commented

Very odd. I'll set up a test server in a moment with only this mod and see if I can still get this to happen. Will be very difficult to isolate the mod interfering, if that's it. There's a number of them. :)

commented

I'm working on a debug version for you now, that dumps some stuff in the console. Will post in sec

commented

Change the .zip to .jar and let me know what the console dumps
refinedstorage-debug.zip

commented

Also please check if you're having the same issue with the storage block (instead of disk drive)?

commented

Interestingly, I this message also when I'm leaving the chunk:
"[15:17:17] [Server thread/INFO] [STDOUT]: [refinedstorage.tile.TileDiskDrive:getStorage:65]: [REFINED STORAGE DEBUG] Initialized storage 0 in disk drive, this should only happen ONCE when loading world/ entering a unloaded chunk. If it happens while you're in the same chunk, something is wrong !!!"

Anyway, testing ongoing, will report back in a bit. :)

commented

Ok, think I got some good information. I noted the times I did things and annotated it in the log file from the point I started testing it, prefixed with a bunch of asterisks. Put it here on my dropbox:

https://www.dropbox.com/s/9ueb6a6nqj353i5/testing.txt?dl=0

What I see is that I went to the nether, loitered a bit, and came back (there were 18 blockFusedQuartz@1 in the storage). The solderer was unresponsive after coming back. I then removed the Quite Clear Glass (the blockFusedQuartz@1) and returned to the nether. At no point there did it mark it dirty, presumably having locked up. Coming back and looking in the storage, the blocks were still there, even though I removed them.

commented

Thanks for the good info, think I may have a fix. Will post a version in a sec.

commented

Alright, please retry with this:

refinedstorage-debug2.zip

commented

BTW, happens as well if I test with the 4k storage block, since you asked. :)

commented

Solderer will most likely still be broken, but it's about the storage part now.

commented

Solderer indeed still becomes unresponsive, but good news, that seems to have fixed it! Repeated it twice, and didn't lose any items, nor did it dupe any. So looks like you got it, good job! :D

commented

I'll be releasing a new version in a few minutes, very glad I got it fixed :)

commented

Ah, that'll do it. hehe

commented

As am I, believe me! XD

commented

So the issue was basically me calling markDirty at the WRONG time. It was called, but before the actual stuff is inserted.

commented

Yeah, the solderer thing is annoying, but not a huge issue since you can break and replace it, and you don't use it constantly. On the other hand, losing or duping items is a rather large one.

commented

I'll definitely look at the solderer issue, but getting a fix out for the item loss obviously has higher priority :P

commented

Btw, thanks for the debug info. Really helped.

commented

You're welcome, glad to help. :)

commented

An RS update is out that fixes it, now! :)

commented

Made a new issue for soldering stuff #104

commented

Sure, though the mod pack is unreleased and I don't really want to post it publicly, yet (need to handle licenses and such). But I can zip it up and put it somewhere for you, but I need some sort of private way to get the link to you. Also, I took the setup apart, so I'll have to build it back up again.

Will try and reproduce it in an isolated environment without other mods, just a tad busy right now.

You're testing this on a server? Or single player? This is on a server, which might make a difference.