Solved Cleaning chests of invalid IDs

  • The FTB Forum is now read-only, and is here as an archive. To participate in our community discussions, please join our Discord! https://ftb.team/discord

HalfThere

New Member
Jul 29, 2019
8
0
0
I run a private server in which we decided to install Divine RPG as per this thread's specifications, as well as uninstalling the previously installed Project Zulu.

All of our items were transferred to a storage Void World from Mystcraft and the server updated from Mindcrack v3 with Project Zulu to Mindcrack v7 with Divine RPG successfully.

One issue remains; when one of the iron chests is opened that contains a redpower re/moved item, that player crashes. (the error log contains the word Eloraam, not all chests do it).

I can think of a few undesirable solutions (filtering items one at a time to chests, if it causes crashes, break the chest and wait for decay. Reverting the server and putting all redpower items in one chest) but I would like to ask if any more inventive solutions have been created or have eluded me.

Thanks in advance
 

HalfThere

New Member
Jul 29, 2019
8
0
0
Certainly! A minor anomaly occurred, I had to use the server to post Marker messages as I received "could not send chat message" whilst clientside. This is of no actual issue to me; I play this server with friends on Skype, but an interesting note.

Error log from clientside on attempt to open chest 1:
http://pastebin.com/SaBF3gqF

Error log from crash screen on attempt to open chest 1:
http://pastebin.com/78jFPg6M

Opening chest 2 had an error I hadn't seen before, but notably produced no clientside error; the log was empty of all notion of leaving the server, and game displayed "End of Stream" Upon later rejoining the server and opening the chest (not included in logs) the disconnect was not replicated

Server log:
http://pastebin.com/RmrjMSZa
Of note, both types of crash simply produced a standard
[INFO] HalfThere lost connection: disconnect.genericReason


Since that's a lot to ask, I've taken the liberty of extracting the (I think) important part:

Code:
2013-01-29 17:43:28 [INFO] [STDERR] t: Rendering screen
2013-01-29 17:43:28 [INFO] [STDERR]    at ban.b(EntityRenderer.java:1013)
2013-01-29 17:43:28 [INFO] [STDERR]    at net.minecraft.client.Minecraft.J(Minecraft.java:882)
2013-01-29 17:43:28 [INFO] [STDERR]    at net.minecraft.client.Minecraft.run(Minecraft.java:771)
2013-01-29 17:43:28 [INFO] [STDERR]    at java.lang.Thread.run(Unknown Source)
2013-01-29 17:43:28 [INFO] [STDERR] Caused by: java.lang.IndexOutOfBoundsException
2013-01-29 17:43:28 [INFO] [STDERR]    at com.eloraam.redpower.core.ItemParts.b(ItemParts.java:34)
2013-01-29 17:43:28 [INFO] [STDERR]    at up.h(Item.java:296)
2013-01-29 17:43:28 [INFO] [STDERR]    at ur.c(SourceFile:84)
2013-01-29 17:43:28 [INFO] [STDERR]    at bce.a(RenderItem.java:312)
2013-01-29 17:43:28 [INFO] [STDERR]    at bce.b(RenderItem.java:405)
2013-01-29 17:43:28 [INFO] [STDERR]    at avf.a(GuiContainer.java:384)
2013-01-29 17:43:28 [INFO] [STDERR]    at avf.a(GuiContainer.java:128)
2013-01-29 17:43:28 [INFO] [STDERR]    at ban.b(EntityRenderer.java:1004)
2013-01-29 17:43:28 [INFO] [STDERR]    at net.minecraft.client.Minecraft.J(Minecraft.java:882)
2013-01-29 17:43:28 [INFO] [STDERR]    at net.minecraft.client.Minecraft.run(Minecraft.java:771)
2013-01-29 17:43:28 [INFO] [STDERR]    at java.lang.Thread.run(Unknown Source)
This is the code that appeared on every opening.
 

Nessiroj

New Member
Jul 29, 2019
855
0
1
I see your testing it nicely lol, does it only happen with the Ironchest's that have stuff from the "old world" or does it also happen with normal iron chests? Does it only happen with Iron Chests or also with gold chests?
(since i saw you where testing 2 different chests or was it the same one?)
 

HalfThere

New Member
Jul 29, 2019
8
0
0
The testing was with multiple. In the server log I state that multiple chests had equipment, blocks and items from the old world; all in iron chests. This information was attained by the successful opening of those chests. I also listed the mods that said items belonged to (Vanilla, Xycraft, Thaumcraft, Factorization, BuildCraft, Twilight Forest, Gregtech, IC2, Forestry and Extrabees). No gold or other chests have been placed.

Edit: I upgraded one of the chests to gold. Server reported nothing in doing so and the same error still happened.

Edit2: http://imgur.com/dzIMwNR
I'll file this under "Top ten worst things I've done to try and fix something"
(this is non-optimal, there's quite a few chests causing this issue)
 

Nessiroj

New Member
Jul 29, 2019
855
0
1
I really don't like the screen error and have no idea where it's comming from.

We atleast know the world and the chests aint the problem but the items in it. You even refined it down to the items in the chests
Code:
Stacktrace:
        at com.eloraam.redpower.core.ItemParts.b(ItemParts.java:34)
        at up.h(Item.java:296)
        at ur.c(SourceFile:84)
        at bce.a(RenderItem.java:312)
        at bce.b(RenderItem.java:405)
        at avf.a(GuiContainer.java:384)
        at avf.a(GuiContainer.java:128)
 
-- Screen render details --
Details:
        Screen name: cpw.mods.ironchest.client.GUIChest
        Mouse location: Scaled: (340, 176). Absolute: (680, 353)
        Screen size: Scaled: (680, 353). Absolute: (1360, 706). Scale factor of 2

Chest 1:
Code:
2013-01-29 17:42:09 [INFO] HalfThere[/127.0.0.1:53290] logged in with entity id 192 at (21.856782032201387, 32.0, -27.141531062625326)
2013-01-29 17:42:11 [WARNING] Can't keep up! Did the system time change, or is the server overloaded?
2013-01-29 17:43:19 [INFO] [Server] Test 1 - Opening chest (unknown contents)
2013-01-29 17:43:56 [INFO] HalfThere lost connection: disconnect.genericReason
2013-01-29 17:48:46 [WARNING] Can't keep up! Did the system time change, or is the server overloaded?

Chest 2:
Code:
2013-01-29 17:49:43 [INFO] HalfThere[/127.0.0.1:53424] logged in with entity id 205 at (22.10097361220888, 32.0, -27.577927957372925)
2013-01-29 17:50:06 [INFO] [Server] Marker 2 - Opening another chest
2013-01-29 17:50:10 [INFO] HalfThere lost connection: disconnect.genericReason

Chest 3:
Code:
2013-01-29 17:52:02 [INFO] HalfThere[/127.0.0.1:53459] logged in with entity id 209 at (21.45626597140041, 32.0, -25.39885951482977)
2013-01-29 17:52:21 [INFO] [Server] Marker 3 - Yet another chest
2013-01-29 17:52:49 [INFO] [Server] Chest contained vanilla, IC2 and Twilight Forest items. No crash.
2013-01-29 17:53:04 [INFO] [Server] Thus, opening another chest
2013-01-29 17:53:38 [INFO] [Server] Xycraft, Extra Bees (comb), Thaumcraft, Enderstorage. No crash or errors. Attempting another.
2013-01-29 17:53:48 [INFO] [Server] Empty.
2013-01-29 17:54:00 [INFO] [Server] Gregtech
2013-01-29 17:55:06 [INFO] HalfThere lost connection: disconnect.genericReason

The crash report matches the first chest, just wondering does it matter where you mouse pointer is in the chest / outside the chest (maybe a certain item) since it gives an exact position of the mouse?
I only have no idea how to work with NBTexplorer who can delete entities from inventories otherwise you could try to remove that item if you know where it is / what it is (prob unknow ID0)
 

HalfThere

New Member
Jul 29, 2019
8
0
0
Luckily, my makeshift item extractor just caused a crash, answering that question, since my pointer was aimed at the button at time of crash.
Can NBTexplorer do chests in odd dimensions? If so, I'll use that to clean up.

Edit: I managed to find and open the chest that now contains a damaged item, ID 20257; redpower, with a completely invalid damage value (68!). Unfortunately, NBTEditor crashes on searching 20257 so this may be non-solution
 

HalfThere

New Member
Jul 29, 2019
8
0
0
Resolved! Thank you Nessiroj for introducing me to NBTexplorer

The fix: Purged all instances of 20257 (or 5001 pre-ID-shift) with NBTexplorer. Could probably have worked out what damage values translated to what.
 
  • Like
Reactions: Nessiroj

Nessiroj

New Member
Jul 29, 2019
855
0
1
Good to hear you got your chest fixed :), sometimes it's better just to remove an item and just spawn it back in case it was expensive then to try to fix it ;)