[1.10.2] 9x9 Diamond Colossal chest causes client fatal lag out on open
Morpheus1101 opened this issue ยท 31 comments
I have a 9x9 Diamond Colossal chest with about 6 screens full of items from a rftolols fortune quarry running full speed and after opening it, the itemsno longer update in the chest and after a very short period (less than 30sec) i get kicked off the server and not able to reconnect for a minor amoun tof time due to my client hsowing as still logged in and getting a networkDispatcher Exception trying to connect to the server which is also running on my local computer.
I can continually re-produce this atm with the world i have and no information in logs from server and/or client that isnt normal information from mods youd expect.
Please try the latest dev build, this might fix the problem: https://dl.bintray.com/cyclopsmc/dev/org/cyclops/colossalchests/ColossalChests/1.9.4-1.4.0-109/ColossalChests-1.9.4-1.4.0-109.jar
Note to self: implement lazy packet sending when players scrolls to slot ranges instead of sending all slots at the same time.
@Morpheus1101 Sorry for the delay, it's been quite busy for me...
I've implemented several changes and optimizations.
9x9 diamond colossal chests full of items seems to work for me in SMP.
Could you have a look to see if this fixes the issue for you as well?
(Make sure to first take a backup of your world)
There are still some more optimizations possible if they prove to be necessary.
But they're not that trivial, so I prefer to only implement them if only needed.
Latest dev builds:
https://dl.bintray.com/cyclopsmc/dev/org/cyclops/cyclopscore/CyclopsCore/1.9.4-0.8.0-425/CyclopsCore-1.9.4-0.8.0-425.jar
https://dl.bintray.com/cyclopsmc/dev/org/cyclops/colossalchests/ColossalChests/1.9.4-1.4.0-110/ColossalChests-1.9.4-1.4.0-110.jar
Tested out the diff version you sent and unf when scrolling down the list of items, it crashed the client out to the main screen https://puu.sh/sgdfs/29027c1737.txt
The problem was not caused by the act of scrolling, but just some delayed packets that errored after some time.
Vanilla's inventory change detection packets apparently can't handle the large slot id's of colossal chests, so I rewrote it 33add8f.
It's strange though how this problem only popped up now...
Tested the new version in SMP with a full 9x9 diamond chest, I hope this works for you as well.
rofl...yeah, everything seems to happen for me, i shall whack this up an give it a whirl and see how things go
Sadly in testing this, im back to having the very 1st issue occuring, i open up the colossal chest, and within a short period of time it disconnects the client form the server with no crash or exception etc etc etc
The server you are testing on, is it on your local machine or remote?
There's one more thing I can try, but it's tricky for me to figure out exactly what goes wrong since I can't seem to reproduce this disconnection problem myself :/
This latest change should drastically reduce the number of packets that is sent from server to client, which may fix your problem.
Nope, same thing, this is a new 9x9 Diamond chest with about 3 or 4 rows of items in it, boots me off the sevrer, but it still thinks im on there and only information is a NetworkDispatcher exception in server console
Ok, I'm officially out of ideas now...
Could you send me a zip of your server (mods, config files, world, ...)?
Also send me the coordinates of the colossal chest that generates this problem, so I can tp myself to that location.
I'll have to do some fine-grained debugging on this one.
I can indeed. Chest cords are @ 9741 67 10451 & the link to the files you need is coming, which is 1.35GB
There now seems to be an issue with some items not displaying in the chest and it showing an empty slot, however, when clicking on said empty slot you get a client crash to menu and this info spammed into server console(not sure if related)
https://puu.sh/sfDpo/606b333f66.txt
Below empty slot is where a torch was Shift clicked into the chest
Do the empty slots already occur when opening the chest for the first time?
Or do the slots only remain empty after an item has been shift-clicked into the chest?
If it's the latter, it's probably related to the console spam you mentioned, which seems to be caused by packets erroring.
The slots only occur when shift clicking items into the chest, sometimes they appear other times they dont, then when clicking, the crash on client and the server console spam occurs thats attached. Upon re-logging in, all items appear and can be seen an interacted with
This was apparently caused by an incompatibility between MC 1.9 and 1.10 (I was testing on 1.9.4), which has been fixed in c42a092.
This new version should resolve your issues: https://dl.bintray.com/cyclopsmc/dev/org/cyclops/colossalchests/ColossalChests/1.10.2-1.4.0-112/ColossalChests-1.10.2-1.4.0-112.jar
It looks like my machine isn't powerful enough to run your pack, I keep getting socket timeouts.
So testing this won't be that trivial.
My schedule is quite swamped the next couple of weeks, so I don't know when I'll be able to properly resolve this problem.
I suggest that you in the meantime use a storage proxy (like RS or AE) over the chest, since the only problem here is opening the gui of chests.
Sorry for the inconvenience, I really don't like having such major issues open for this long :(
"so there was a call in my code which actually instead of getting the inventory slots and then looking at their size actually copied the whole inventory behind the scenes before checking the size."
So with reliquary having also been in the prev pack id say it didnt show its head untill now with the changes to forge and fully suspect the issue was not colossal chests in this instance. However i will re-test when i get a new vers of reliquary and im also running the quarry to fill the colossal chest to see if any other issues may occur, which may not.
@Morpheus1101 No further progress unfortunately... If all goes well I may be able to get back to this later this week. But I can't promise anything.
@Runesmacher, perhaps you are up for the challenge? The main problem here is simply that I can't reproduce this issue myself. And my machine is not strong enough to run the pack provided by @Morpheus1101 in an SMP environment to reproduce it.
@Morpheus1101 or @rubensworks could you upload the pack again, the link has expired ;)
I no longer have this pack as it has been long since changed quite a lot, i will test again using the new version of the pack and see what happens, unless rubens still has it
ok atm, with the current pack using the latest CC available from Curse, i hooked up a 9x9 Diamond Colossal Chest with a Builder using silk quarry from rftools, powered by a DraconicEvolution creative power source with a Diamond Chest from iron chests mod on top of the builder connected to the colossal chest via an Item Conduit from EnderIO with maximum speed upgrades in the conduit.
When opening the colossal chest being completely empty, you instantly stop getting updates once you close chest//open chest untill the server kicks the client out(no crash) .. after 10-30sec attempt to rejoin server at which time the server has crashed due to lagging out and watchdog force closing the server(according to console).
Server Generated Crash Report @ https://puu.sh/t1ucs/f0cfee017d.txt
This time it seems reliquary was the issue as removing it and re-doing all prev steps, there is no issues in opening/closing the colossal chest
@Morpheus1101 So Reliquary was the mod causing the issue, and this does not occur anymore in any other way without Reliquary installed?
Does this also occur when placing Reliquary items in a non-colossal chest? Perhaps you should report this to their issue tracker.
And no, I don't have the pack anymore.