-
Notifications
You must be signed in to change notification settings - Fork 522
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] "Attempt to instantiate abstract class BlockThingsIterator" when loading savegame #1876
Comments
Given how involved this mod is, I wouldn't be too shocked if we're looking at some sort of overflow. Or perhaps something got written to map05.map.json incorrectly and is buried in there to be found. I wish I had the answer but even with |
I've now realized the mod has some calls to BlockThingsIterator in many of its zscripts. In my broken savegame there's this:
This empty
It feels like I'm close to just restoring this save file and moving on from a one-off bug with a mod. |
Recovered the save. Couldn't just delete that "BlockThingsIterator" classtype in the Object's section of the save as something was referencing it. So I replaced it with the ItemStorage class just below it and that was enough to finish and leave the level and save fresh on the next one. |
This is a mod bug, rather than a gzdoom bug. There are certain classes that can't be stored in saves and must be declared as transient in zscript. |
Shouldn't this cause an error upon trying to create a save file rather than to load it? I've had the former happen as a result of bad code on my part, but not the latter. |
Thanks for the clarification you two. I got in contact with the mod developer and will finish up by letting them know the cause. |
As said mod developer I'll just say for the record save games are a complete total black box for me, as well as where exactly iterators are stored after they're used. It would be a huge help if there were some way to sanitize this information for save game purposes, but I wouldn't even know where to begin to look for this sort of thing on the modding end.
|
All good mc776, I'm just glad I didn't leave that thread hanging with a bug shoutout without drilling down into the actual cause. I didn't dig deep enough to find out what entity causes that empty BlockThingsIterator object to appear in my savefile but hopefully this is enough of a lead to find it! (Loving my iwad run with HD btw ❤) |
GZDoom version
GZDoom g4.9.0-m - 2022-11-05 14:00:59 +0100 - SDL version
Which game are you running with GZDoom?
Doom 2
What Operating System are you using?
Linux x86_64
Please describe your specific OS version
Archlinux. Kernel version 6.0.11-arch1-1
Relevant hardware info
NA - Not a hardware problem
Have you checked that no other similar issue already exists?
A clear and concise description of what the bug is.
I'm currently playing through tnt.wad using Hideous Destructor (
hd-4.10.0a.pk7
).Over the past few months I've played through Doom 2 and Doom 1's four chapters with this mod.
Now I'm doing TNT before Plutonia.
I'm currently up to MAP05 of tnt.wad and I noticed when I tried to load my savegame (save00.zds) I was unable to load it with gzdoom spitting out:
Attempt to instantiate abstract class BlockThingsIterator
so it seems something has gone haywire with the save.The trouble I'm also having is that... I run ZFS on this gaming PC and happen to be able to restore hourly snapshots, while not ideal to rollback like this, I can cherry pick the previous hour's save file.
Extracting my broken save00.zds and the one from a few hours before this corruption and then comparing them with
meld
(After usingjq
to pretty print the two working/brokenmap05.map.json
files ) seems to be in tact along with other savegame json.I can only imagine it's something horrific somewhere in the middle of the map05.map.json which has introduced this problem (Inability to load that savegame anymore).
Steps to reproduce the behaviour.
Explain how to reproduce
Attempt to instantiate abstract class BlockThingsIterator
from the console after loading itEarlier copies of the save are fine on the same level, it seemed to happen later.
Your configuration
Click here to expand
Provide a Log
Upon loading the savegame:
The text was updated successfully, but these errors were encountered: