by vsonnier » Sun Aug 25, 2019 2:12 am
Hello,
In the current master and apparently commits after 38fec54, Brutal Doom v21 and probably every variant under the sun crashes on null-pointer exception. Executing in RelWithDebInfo x64 (VS 2019) with (Optimization; Inline Function Expansion) disabled, I get the following stack trace at GZDoom startup:
Code: Select all
gzdoom.exe!FName::GetChars() Line 61 C++
gzdoom.exe!FScriptPosition::Message(int severity, const char * message, ...) Line 1258 C++
gzdoom.exe!ParseHex(const char * hex, FScriptPosition * sc) Line 1287 C++
gzdoom.exe!V_GetColorFromString(const unsigned int * palette, const char * cstr, FScriptPosition * sc) Line 352 C++
gzdoom.exe!V_GetColor(const unsigned int * palette, const char * str, FScriptPosition * sc) Line 474 C++
gzdoom.exe!Handler_bloodcolor_C_Actor(AActor * defaults, PClassActor * info, Baggage & bag, FPropParam * params) Line 778 C++
gzdoom.exe!ParsePropertyParams(FScanner & sc, FPropertyInfo * prop, AActor * defaults, Baggage & bag) Line 820 C++
gzdoom.exe!ParseActorProperty(FScanner & sc, Baggage & bag) Line 957 C++
gzdoom.exe!ParseActor(FScanner & sc, PNamespace * ns) Line 1172 C++
gzdoom.exe!ParseDecorate(FScanner & sc, PNamespace * ns) Line 1310 C++
gzdoom.exe!ParseDecorate(FScanner & sc, PNamespace * ns) Line 1284 C++
gzdoom.exe!ParseAllDecorate() Line 1348 C++
gzdoom.exe!LoadActors() Line 467 C++
gzdoom.exe!PClassActor::StaticInit() Line 394 C++
gzdoom.exe!D_DoomMain() Line 2508 C++
gzdoom.exe!DoMain(HINSTANCE__ * hInstance) Line 992 C++
gzdoom.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * nothing, wchar_t * cmdline, int nCmdShow) Line 1324 C++
[External Code]
The problem seems to be the parsing of the following DECORATE code (minimal example):
Code: Select all
ACTOR TehLostSoul: LostSoul Replaces LostSoul
{
bloodcolor none
}
"bloodcolor none" is probably invalid, but before the execution would continue.
- Attachments
-
Crash_Decorate_blood_color.zip
- Minimal reproducing example
- (379 Bytes) Downloaded 32 times
Hello,
In the current master and apparently commits after 38fec54, Brutal Doom v21 and probably every variant under the sun crashes on null-pointer exception. Executing in RelWithDebInfo x64 (VS 2019) with (Optimization; Inline Function Expansion) disabled, I get the following stack trace at GZDoom startup:
[code]
gzdoom.exe!FName::GetChars() Line 61 C++
gzdoom.exe!FScriptPosition::Message(int severity, const char * message, ...) Line 1258 C++
gzdoom.exe!ParseHex(const char * hex, FScriptPosition * sc) Line 1287 C++
gzdoom.exe!V_GetColorFromString(const unsigned int * palette, const char * cstr, FScriptPosition * sc) Line 352 C++
gzdoom.exe!V_GetColor(const unsigned int * palette, const char * str, FScriptPosition * sc) Line 474 C++
gzdoom.exe!Handler_bloodcolor_C_Actor(AActor * defaults, PClassActor * info, Baggage & bag, FPropParam * params) Line 778 C++
gzdoom.exe!ParsePropertyParams(FScanner & sc, FPropertyInfo * prop, AActor * defaults, Baggage & bag) Line 820 C++
gzdoom.exe!ParseActorProperty(FScanner & sc, Baggage & bag) Line 957 C++
gzdoom.exe!ParseActor(FScanner & sc, PNamespace * ns) Line 1172 C++
gzdoom.exe!ParseDecorate(FScanner & sc, PNamespace * ns) Line 1310 C++
gzdoom.exe!ParseDecorate(FScanner & sc, PNamespace * ns) Line 1284 C++
gzdoom.exe!ParseAllDecorate() Line 1348 C++
gzdoom.exe!LoadActors() Line 467 C++
gzdoom.exe!PClassActor::StaticInit() Line 394 C++
gzdoom.exe!D_DoomMain() Line 2508 C++
gzdoom.exe!DoMain(HINSTANCE__ * hInstance) Line 992 C++
gzdoom.exe!wWinMain(HINSTANCE__ * hInstance, HINSTANCE__ * nothing, wchar_t * cmdline, int nCmdShow) Line 1324 C++
[External Code]
[/code]
The problem seems to be the parsing of the following DECORATE code (minimal example):
[code]
ACTOR TehLostSoul: LostSoul Replaces LostSoul
{
bloodcolor none
}
[/code]
"bloodcolor none" is probably invalid, but before the execution would continue.