MantisBT - Zandronum
View Issue Details
0003128Zandronum[All Projects] Bugpublic2017-05-07 08:422017-05-09 06:04
forrestmarkx 
 
normalcrashalways
feedbackopen 
MicrosoftWindowsXP/Vista/7
2.1 
 
0003128: Using ACS GiveInventory with a CustomInventory that only gives other items causes a crash
If you use ACS GiveInventory with a actor that is a CustomInventory that does nothing else but give the player weapons/items based on scnarioes then Zandronum will crash with a "Warning: <Class> is freed outside the GC process." error
The easiest way to check this is by using Contra Doom. It will crash every start with the same issue.

'https://www.sendspace.com/file/6uuh4h [^]'

It will most always report this error "Warning: 'ReplaceShotgun' is freed outside the GC process."
This issue does not occur in GZDoom 2.4.0
No tags attached.
Issue History
2017-05-07 08:42forrestmarkxNew Issue
2017-05-07 09:42Torr SamahoNote Added: 0017559
2017-05-07 09:46Torr SamahoStatusnew => feedback
2017-05-07 10:18forrestmarkxNote Added: 0017567
2017-05-07 10:18forrestmarkxStatusfeedback => new
2017-05-07 10:27Torr SamahoNote Added: 0017568
2017-05-07 10:28Torr SamahoStatusnew => feedback
2017-05-07 22:44forrestmarkxNote Added: 0017599
2017-05-07 22:44forrestmarkxStatusfeedback => new
2017-05-08 06:07Torr SamahoProduct Version3.0-beta => 2.1
2017-05-08 06:10Torr SamahoNote Added: 0017602
2017-05-08 07:12forrestmarkxNote Added: 0017603
2017-05-09 06:04Torr SamahoNote Added: 0017612
2017-05-09 06:04Torr SamahoStatusnew => feedback

Notes
(0017559)
Torr Samaho   
2017-05-07 09:42   
Is this any different in Zandronum 2.1.2 or GZDoom 1.8.6?
(0017567)
forrestmarkx   
2017-05-07 10:18   
No it acts exactly the same in both. This issue only happens in Zandronum
(0017568)
Torr Samaho   
2017-05-07 10:27   
So it works in GZDoom 1.8.6 and GZDoom 2.4.0, but is broken in Zandronum 2.1.2 and 3.0? Can you make a minimal example wad that allows to reproduce the problem?
(0017599)
forrestmarkx   
2017-05-07 22:44   
It works in GZDoom any version but on any Zandronum it occurs. I can't seem to replicate it with a example wad but I indeed do know it's from GiveInventory because if I remove the call to GiveInventory with that class the crashes stop.

VS2015 refuses to load my pdb file so I can't see what the call stack was before the crash.
(0017602)
Torr Samaho   
2017-05-08 06:10   
Ok, so this is somehow related to GiveInventory then, but which exact combination of functions, states, actors, etc. causes the issue is still unclear.

Did you try starting with the entire Contra Doom and then removing stuff step by step to create a minimal example wad?
(0017603)
forrestmarkx   
2017-05-08 07:12   
I did try that but Contra Doom had waaaaay too much actors that depend on each other for me to be able to make one easily
(0017612)
Torr Samaho   
2017-05-09 06:04   
And for the same reason debugging this is without a reduced example wad is not really feasible. By removing things step by step you should at least be able to reduce the size and complexity of the example considerably.