[Fixed] Saving failed due to BlockingLine

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Saving failed due to BlockingLine

Postby Major Cooke » Mon Aug 31, 2020 6:58 pm

Code: Select allExpand view
Save failed
Trying to serialize out-of-bounds array value with key 'blockingline', index = 5553491, size = 3873


Ever since something about pointers was fixed, this has become an issue. In an effort to attempt to debug this, mental made this commit.

This was when playing through with Sunder though. Not sure if that will help.
User avatar
Major Cooke
QZDoom Maintenance Team
 
Joined: 28 Jan 2007

Re: Saving failed due to BlockingLine

Postby SanyaWaffles » Mon Aug 31, 2020 7:23 pm

I notice this in my project too. The fact it's not just my project and happens at random indicates to me that it's an engine bug and not a mod bug. If it's a mod bug, then it's a bug plaguing a bunch of different mods of different sizes and complexity.

The only way I've been able to get rid of this is to start over. Which is annoying.
User avatar
SanyaWaffles
Navy Did Nothing Wrong
 
Joined: 25 Apr 2013
Location: Eastern Ohio
Discord: SanyaWaffles#5095
Twitch ID: sanyawaffles
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Saving failed due to BlockingLine

Postby _mental_ » Tue Sep 01, 2020 1:08 am

In order to fix this, we need more details about circumstances when this happened.
Was it an auto-save at the beginning of the level? What mods were involved, if any? Do you have a stable repro?
_mental_
 
 
 
Joined: 07 Aug 2011

Re: Saving failed due to BlockingLine

Postby SanyaWaffles » Tue Sep 01, 2020 1:16 am

For me it was an autosave at the beginning of the level. In fact, it was after a map that was pretty much a dummy map and not alot was going on except a slideshow played.

For me it was DD2, which is not publically available aside a github repo. I can give a copy for you to troubleshoot with (stripped of the music) but I cannot reliably get it to reproduce it. It seems to happen with autosaving though.
User avatar
SanyaWaffles
Navy Did Nothing Wrong
 
Joined: 25 Apr 2013
Location: Eastern Ohio
Discord: SanyaWaffles#5095
Twitch ID: sanyawaffles
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Saving failed due to BlockingLine

Postby _mental_ » Tue Sep 01, 2020 1:41 am

Autosaving would explain why engine tries to save bogus blocking line. There is a chance that the given pointer isn't nulled, and it refers to a line of previous map.
_mental_
 
 
 
Joined: 07 Aug 2011

Re: Saving failed due to BlockingLine

Postby SanyaWaffles » Tue Sep 01, 2020 2:30 am

What's interesting is once this bug occurs it never goes away unless you start a fresh playthrough. Otherwise the error will always occur once you try to save, no matter what level, once it occurs.

Cooke, I have a theory. Is there anything occuring when the autosaving is occuring? Like for me I play a slideshow and then it autosaves on the next map. I wonder if there's something funky that we can get to reliably produce this error.
User avatar
SanyaWaffles
Navy Did Nothing Wrong
 
Joined: 25 Apr 2013
Location: Eastern Ohio
Discord: SanyaWaffles#5095
Twitch ID: sanyawaffles
Operating System: Windows 10/8.1/8/201x 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Saving failed due to BlockingLine

Postby Nash » Tue Sep 01, 2020 2:45 am

No wonder I am not getting these issues - I have autosave disabled. :mrgreen: Anyway, good thing that we have some leads now. Fingers crossed. :)

EDIT: I have been able to reproduce it using Sunder 2308 and this build of GZDoom with -noautoload and zero mods.

I just play MAP01 normally (Ultra Violence, but using god mode heh) and when I tried to exit the level with autosaves enabled, I get the save error. However there's a caveat - see I made a save just before stepping into the exit line, to see if this could be repro'd repeatedly - the first time I walked to the exit, I get the save error, HOWEVER when I reload the save and exit the level, the error is gone. So I won't post the save file as it would be useless.

Best advice I can give is to just play a level normally with autosaves turned on.
User avatar
Nash
 
 
 
Joined: 27 Oct 2003
Location: Kuala Lumpur, Malaysia
Github ID: nashmuhandes

Re: Saving failed due to BlockingLine

Postby drfrag » Tue Sep 01, 2020 3:28 am

I don't think the old LZDoom is affected, GZDoom now serializes a TArray of arrays and not just the array. The problem was exposed in https://github.com/coelckers/gzdoom/com ... aeb3cd62ff but i think it was probably introduced during the level refactor.
User avatar
drfrag
Os voy a romper a pedazos!
Vintage GZDoom Developer
 
Joined: 23 Apr 2004
Location: Spain
Discord: drfrag#3555
Github ID: drfrag666

Re: Saving failed due to BlockingLine

Postby _mental_ » Tue Sep 01, 2020 6:08 am

Fixed it for player's actors during traveling between levels. At the moment, I cannot say about necessity of doing the same for inventory items.
_mental_
 
 
 
Joined: 07 Aug 2011

Re: Saving failed due to BlockingLine

Postby Marisa Kirisame » Tue Sep 01, 2020 7:08 am

I've had this happen with blockingfloor too this morning, so maybe... clear all the blocking pointers?

_mental_ wrote:At the moment, I cannot say about necessity of doing the same for inventory items.

Those don't seem to have anything but null at all times, as I've personally tested.
User avatar
Marisa Kirisame
ZScript Crimester
 
 
 
Joined: 08 Feb 2008
Location: Vigo, Galicia
Discord: 霧雨魔理沙#1666
Twitch ID: magusmarisa
Github ID: OrdinaryMagician
Operating System: Other Linux 64-bit
OS Test Version: No (Using Stable Public Version)
Graphics Processor: nVidia with Vulkan support

Re: Saving failed due to BlockingLine

Postby Major Cooke » Tue Sep 01, 2020 7:13 am

It's not fixed yet. It still fails to save with an out-of-bounds array issue.
User avatar
Major Cooke
QZDoom Maintenance Team
 
Joined: 28 Jan 2007

Re: Saving failed due to BlockingLine

Postby _mental_ » Tue Sep 01, 2020 7:21 am

Please debug it then. 'It still fails' tells me absolutely nothing.
_mental_
 
 
 
Joined: 07 Aug 2011

Re: Saving failed due to BlockingLine

Postby Major Cooke » Tue Sep 01, 2020 7:44 am

Code: Select allExpand view
Trying to serialize out-of-bounds array value with key 'blockingline', index = -907700, size = 6037


Yes, I did recompile with your latest change, but that still happens with autosave.

I tried it again and index was 11307925 instead. Strange...
User avatar
Major Cooke
QZDoom Maintenance Team
 
Joined: 28 Jan 2007

Re: Saving failed due to BlockingLine

Postby _mental_ » Tue Sep 01, 2020 7:57 am

I meant to run it under debugger in order to get an offending actor.
_mental_
 
 
 
Joined: 07 Aug 2011

Re: Saving failed due to BlockingLine

Postby Major Cooke » Tue Sep 01, 2020 8:32 am

Hmmm. I did a complete rebuild to check because I found it odd that it should still be happening. The problem's gone now, but if what Marisa says comes up, it may need addressing perhaps.
User avatar
Major Cooke
QZDoom Maintenance Team
 
Joined: 28 Jan 2007

Next

Return to Closed Bugs

Who is online

Users browsing this forum: No registered users and 1 guest