[r1249] Release compile of zdoom doesn't run

Bugs that have been investigated and resolved somehow.

Moderator: GZDoom Developers

Forum rules
Please don't bump threads here if you have a problem - it will often be forgotten about if you do. Instead, make a new thread here.
User avatar
Macil
Posts: 2529
Joined: Mon Mar 22, 2004 7:00 pm
Preferred Pronouns: He/Him
Location: California, USA. Previously known as "Agent ME".
Contact:

[r1249] Release compile of zdoom doesn't run

Post by Macil »

On my 64-bit ubuntu system, if I start up a release compile of zdoom, I get this: (It asks for the iwad, but crashes after that)
Spoiler:
But if I start my debug compile of zdoom, it runs fine. (A little detail I just remembered - its not exactly a Release compile but its a "MinSizeRel" compile set through cmake. This has always worked for me, until this issue came up a few revisions or so ago.)
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49234
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [r1249] Release compile of zdoom doesn't run

Post by Graf Zahl »

Unfortunately, since I can't reproduce this you will have to help me out. The functions causing the crash are listed so if you could put in some debug output to see what actor definition is passing the incorrect data it would help a lot.
User avatar
Macil
Posts: 2529
Joined: Mon Mar 22, 2004 7:00 pm
Preferred Pronouns: He/Him
Location: California, USA. Previously known as "Agent ME".
Contact:

Re: [r1249] Release compile of zdoom doesn't run

Post by Macil »

(Talking about r1250)
If I comment out line 708 (delete[] namestart;) on p_states.cpp, zdoom no longer crashes, so it has something to do with that - guess somewhere else in the code tries to also free the same variable.

Looking at the code, I see no use for the namestart variable. I would just remove it, but I'm curious to what this means:

Code: Select all

char *namestart = name;
Does this mean namestart is a pointer to name? Or that name is a pointer to the value pointed to by name? Or that its the same as name?

And what does using delete[] do to it? Delete just the pointer that namestart is, or the data associated with it (making 'name' also deleted)? If its the latter, then I'd assume the code expects name to be deleted and I can't just remove the two lines of code from p_states.cpp referencing namestart.


I also added in a line of code before line 708:

Code: Select all

printf("In class %s, namestart=%s\n",type->TypeName.GetChars(),namestart);
Here's the relevant output from the release version, which crashes immediately following this output:
Spoiler:
Here's the similar from the debug build, which as is apparent, continues on and starts the game fine:
Spoiler:
EDIT:
Apparently for some reason in release mode, ResolveGotoLabels decides to parse through the PoisonBolt actor, when it shouldn't be. Commenting the line that defines namestart and the line that deletes it stops it from crashing, but not fixing the problem that it is mistakenly parsing PoisonBolt. It then parses through PoisonBolt again (with name set to nothing, or no visible characters at least), then continues as normal. PoisonBolt is the only actor it parses through mistakenly - all others look correct.
In Debug mode, PoisonBolt is not parsed at all. Looking into this still.
User avatar
Macil
Posts: 2529
Joined: Mon Mar 22, 2004 7:00 pm
Preferred Pronouns: He/Him
Location: California, USA. Previously known as "Agent ME".
Contact:

Re: [r1249] Release compile of zdoom doesn't run

Post by Macil »

Argh... I've set up a few commands in the ResolveGotoLabels function that trigger only when its parsing "PoisonBolt", as I ironically can't really use a debugger to debug this.

When in debug mode, which I assumed was correct, I get
list[0].DefineFlags=5
list[1].DefineFlags=32
list[2].DefineFlags=32
list[3].DefineFlags=5
which seems to work fine. But in release mode I get
list[0].DefineFlags=5
list[1].DefineFlags=4
list[2].DefineFlags=4
list[3].DefineFlags=5
And SDF_LABEL=4, which means the ResolveGotoLabels function passes list items 1 and 2 to ResolveGotoLabel, which isn't supposed to happen. What is the point of DefineFlags? I assumed it was to store one of 6 values (SDF_*) defined from thingdef.h, but a lot of actors have DefineFlags set to a lot higher, commonly 96. (Also, there's a misspelling on line 62 of thingdef.h of an E that should be F, not that it affects anything.)

I've checked the two parts of the code that set certain DefineFlags to SDF_LABEL - PoisonBolt's list items don't have it set there, but all other list items with SDF_LABEL set have it set there.

I'm now attempting to search where DefineFlags is set and work from that direction now.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49234
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [r1249] Release compile of zdoom doesn't run

Post by Graf Zahl »

Looks like an uninitialized variable. This is going to be fun... :(


The best place to start is to debug ParseStates for the PoisonBolt actor.
User avatar
Chris
Posts: 2978
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: [r1249] Release compile of zdoom doesn't run

Post by Chris »

Valgrind gives me this:

Code: Select all

LoadDecorations: Load external actors.
==4176==
==4176== Thread 1:
==4176== Conditional jump or move depends on uninitialised value(s)
==4176==    at 0x822A08E: FStateDefinitions::ResolveGotoLabels(FActorInfo*, AActor*, TArray<FStateDefine, FStateDefine>&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x822A392: FStateDefinitions::FinishStates(FActorInfo*, AActor*, TArray<FState, FState>&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839BB0B: FinishActor(FScanner&, FActorInfo*, Baggage&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839002D: ParseActor(FScanner&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839B9CD: ParseDecorate(FScanner&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839B8B2: ParseDecorate(FScanner&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839BA50: LoadDecorations() (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x8191CAD: FActorInfo::StaticInit() (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x815CA79: D_DoomMain() (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x812C722: main (in /home/kitty/zdoom/build/src/zdoom)
==4176==
==4176== Conditional jump or move depends on uninitialised value(s)
==4176==    at 0x822A08E: FStateDefinitions::ResolveGotoLabels(FActorInfo*, AActor*, TArray<FStateDefine, FStateDefine>&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x822A15C: FStateDefinitions::ResolveGotoLabels(FActorInfo*, AActor*, TArray<FStateDefine, FStateDefine>&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x822A392: FStateDefinitions::FinishStates(FActorInfo*, AActor*, TArray<FState, FState>&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839BB0B: FinishActor(FScanner&, FActorInfo*, Baggage&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839002D: ParseActor(FScanner&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839B9CD: ParseDecorate(FScanner&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839B8B2: ParseDecorate(FScanner&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839BA50: LoadDecorations() (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x8191CAD: FActorInfo::StaticInit() (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x815CA79: D_DoomMain() (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x812C722: main (in /home/kitty/zdoom/build/src/zdoom)
==4176==
==4176== Conditional jump or move depends on uninitialised value(s)
==4176==    at 0x40236E3: strcpy (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==4176==    by 0x8191D5D: GetSpriteIndex(char const*) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839E8C1: Handler_crouchsprite_S_PlayerPawn(APlayerPawn*, Baggage&, FPropParam*) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839C346: ParsePropertyParams(FScanner&, FPropertyInfo*, AActor*, Baggage&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839C666: ParseActorProperty(FScanner&, Baggage&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x838FFA6: ParseActor(FScanner&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839B9CD: ParseDecorate(FScanner&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839B8B2: ParseDecorate(FScanner&) (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x839BA50: LoadDecorations() (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x8191CAD: FActorInfo::StaticInit() (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x815CA79: D_DoomMain() (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x812C722: main (in /home/kitty/zdoom/build/src/zdoom)
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
M_Init: Init miscellaneous info.
P_Init: Init Playloop state.
==4176==
==4176== Use of uninitialised value of size 4
==4176==    at 0x826CBB6: R_InitSpriteDefs() (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x826CEA5: R_InitSprites() (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x8214E47: P_Init() (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x815CDFF: D_DoomMain() (in /home/kitty/zdoom/build/src/zdoom)
==4176==    by 0x812C722: main (in /home/kitty/zdoom/build/src/zdoom)
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49234
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [r1249] Release compile of zdoom doesn't run

Post by Graf Zahl »

Too bad that the dump doesn't tell me anything I don't know yet. Was that a 32 bit or 64 bit compile?
User avatar
Chris
Posts: 2978
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: [r1249] Release compile of zdoom doesn't run

Post by Chris »

32-bit. I'll try to see if I can rebuild zdoom with more debug info..
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49234
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [r1249] Release compile of zdoom doesn't run

Post by Graf Zahl »

Can you test what happens if you replace this function:

Code: Select all

void FStateDefinitions::FixStatePointers (FActorInfo *actor, TArray<FStateDefine> & list)
{
	for(unsigned i=0;i<list.Size(); i++)
	{
		if (list[i].DefineFlags == SDF_INDEX)
		{
			size_t v=(size_t)list[i].State;
			list[i].State = actor->OwnedStates + v - 1;
			list[i].DefineFlags = SDF_STATE;
		}
		if (list[i].Children.Size() > 0) FixStatePointers(actor, list[i].Children);
	}
}
It sure was wrong but for me it doesn't make any difference.
User avatar
Chris
Posts: 2978
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: [r1249] Release compile of zdoom doesn't run

Post by Chris »

It gives me line numbers this time

Code: Select all

LoadDecorations: Load external actors.
==9241==
==9241== Thread 1:
==9241== Conditional jump or move depends on uninitialised value(s)
==9241==    at 0x822AB22: FStateDefinitions::ResolveGotoLabels(FActorInfo*, AActor*, TArray<FStateDefine, FStateDefine>&) (p_states.cpp:745)
==9241==    by 0x822AE26: FStateDefinitions::FinishStates(FActorInfo*, AActor*, TArray<FState, FState>&) (p_states.cpp:810)
==9241==    by 0x839CE93: FinishActor(FScanner&, FActorInfo*, Baggage&) (thingdef_parse.cpp:532)
==9241==    by 0x83912C1: ParseActor(FScanner&) (thingdef.cpp:579)
==9241==    by 0x839CD55: ParseDecorate(FScanner&) (thingdef_main.cpp:117)
==9241==    by 0x839CC3A: ParseDecorate(FScanner&) (thingdef_main.cpp:80)
==9241==    by 0x839CDD8: LoadDecorations() (thingdef_main.cpp:148)
==9241==    by 0x8192255: FActorInfo::StaticInit() (info.cpp:107)
==9241==    by 0x815CD19: D_DoomMain() (d_main.cpp:2503)
==9241==    by 0x812C8F2: main (i_main.cpp:272)
==9241==
==9241== Conditional jump or move depends on uninitialised value(s)
==9241==    at 0x822AB22: FStateDefinitions::ResolveGotoLabels(FActorInfo*, AActor*, TArray<FStateDefine, FStateDefine>&) (p_states.cpp:745)
==9241==    by 0x822ABF0: FStateDefinitions::ResolveGotoLabels(FActorInfo*, AActor*, TArray<FStateDefine, FStateDefine>&) (p_states.cpp:750)
==9241==    by 0x822AE26: FStateDefinitions::FinishStates(FActorInfo*, AActor*, TArray<FState, FState>&) (p_states.cpp:810)
==9241==    by 0x839CE93: FinishActor(FScanner&, FActorInfo*, Baggage&) (thingdef_parse.cpp:532)
==9241==    by 0x83912C1: ParseActor(FScanner&) (thingdef.cpp:579)
==9241==    by 0x839CD55: ParseDecorate(FScanner&) (thingdef_main.cpp:117)
==9241==    by 0x839CC3A: ParseDecorate(FScanner&) (thingdef_main.cpp:80)
==9241==    by 0x839CDD8: LoadDecorations() (thingdef_main.cpp:148)
==9241==    by 0x8192255: FActorInfo::StaticInit() (info.cpp:107)
==9241==    by 0x815CD19: D_DoomMain() (d_main.cpp:2503)
==9241==    by 0x812C8F2: main (i_main.cpp:272)
==9241==
==9241== Conditional jump or move depends on uninitialised value(s)
==9241==    at 0x40236E3: strcpy (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==9241==    by 0x8192305: GetSpriteIndex(char const*) (info.cpp:77)
==9241==    by 0x839FC59: Handler_crouchsprite_S_PlayerPawn(APlayerPawn*, Baggage&, FPropParam*) (thingdef_properties.cpp:1978)
==9241==    by 0x839D6CE: ParsePropertyParams(FScanner&, FPropertyInfo*, AActor*, Baggage&) (thingdef_parse.cpp:452)
==9241==    by 0x839D9EE: ParseActorProperty(FScanner&, Baggage&) (thingdef_parse.cpp:496)
==9241==    by 0x839123A: ParseActor(FScanner&) (thingdef.cpp:566)
==9241==    by 0x839CD55: ParseDecorate(FScanner&) (thingdef_main.cpp:117)
==9241==    by 0x839CC3A: ParseDecorate(FScanner&) (thingdef_main.cpp:80)
==9241==    by 0x839CDD8: LoadDecorations() (thingdef_main.cpp:148)
==9241==    by 0x8192255: FActorInfo::StaticInit() (info.cpp:107)
==9241==    by 0x815CD19: D_DoomMain() (d_main.cpp:2503)
==9241==    by 0x812C8F2: main (i_main.cpp:272)
R_Init: Init Doom refresh subsystem.
DecalLibrary: Load decals.
M_Init: Init miscellaneous info.
P_Init: Init Playloop state.
==9241==
==9241== Use of uninitialised value of size 4
==9241==    at 0x826DA9E: R_InitSpriteDefs() (r_things.cpp:371)
==9241==    by 0x826DD8D: R_InitSprites() (r_things.cpp:889)
==9241==    by 0x8215833: P_Init() (p_setup.cpp:3605)
==9241==    by 0x815D09F: D_DoomMain() (d_main.cpp:2586)
==9241==    by 0x812C8F2: main (i_main.cpp:272)
So it seems list.State and/or list.DefineFlags aren't being initialized in some circumstances.
User avatar
Chris
Posts: 2978
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: [r1249] Release compile of zdoom doesn't run

Post by Chris »

With that change to the function, I get a couple more valgrind errors:

Code: Select all

==9418== Conditional jump or move depends on uninitialised value(s)
==9418==    at 0x8229C98: FStateDefinitions::FixStatePointers(FActorInfo*, TArray<FStateDefine, FStateDefine>&) (p_states.cpp:724)
==9418==    by 0x822ACC6: FStateDefinitions::FinishStates(FActorInfo*, AActor*, TArray<FState, FState>&) (p_states.cpp:780)
==9418==    by 0x839CEB7: FinishActor(FScanner&, FActorInfo*, Baggage&) (thingdef_parse.cpp:532)
==9418==    by 0x83912E5: ParseActor(FScanner&) (thingdef.cpp:579)
==9418==    by 0x839CD79: ParseDecorate(FScanner&) (thingdef_main.cpp:117)
==9418==    by 0x839CC5E: ParseDecorate(FScanner&) (thingdef_main.cpp:80)
==9418==    by 0x839CDFC: LoadDecorations() (thingdef_main.cpp:148)
==9418==    by 0x8192255: FActorInfo::StaticInit() (info.cpp:107)
==9418==    by 0x815CD19: D_DoomMain() (d_main.cpp:2503)
==9418==    by 0x812C8F2: main (i_main.cpp:272)
..and..
==9418== Conditional jump or move depends on uninitialised value(s)
==9418==    at 0x8229C98: FStateDefinitions::FixStatePointers(FActorInfo*, TArray<FStateDefine, FStateDefine>&) (p_states.cpp:724)
==9418==    by 0x8229D41: FStateDefinitions::FixStatePointers(FActorInfo*, TArray<FStateDefine, FStateDefine>&) (p_states.cpp:730)
==9418==    by 0x822ACC6: FStateDefinitions::FinishStates(FActorInfo*, AActor*, TArray<FState, FState>&) (p_states.cpp:780)
==9418==    by 0x839CEB7: FinishActor(FScanner&, FActorInfo*, Baggage&) (thingdef_parse.cpp:532)
==9418==    by 0x83912E5: ParseActor(FScanner&) (thingdef.cpp:579)
==9418==    by 0x839CD79: ParseDecorate(FScanner&) (thingdef_main.cpp:117)
==9418==    by 0x839CC5E: ParseDecorate(FScanner&) (thingdef_main.cpp:80)
==9418==    by 0x839CDFC: LoadDecorations() (thingdef_main.cpp:148)
==9418==    by 0x8192255: FActorInfo::StaticInit() (info.cpp:107)
==9418==    by 0x815CD19: D_DoomMain() (d_main.cpp:2503)
==9418==    by 0x812C8F2: main (i_main.cpp:272)
So it definitely appears list.DefineFlags isn't getting initialized sometimes.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49234
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [r1249] Release compile of zdoom doesn't run

Post by Graf Zahl »

Are these messages printed when the uninitialized data is accessed or are they collected? If they are immediately printed, please add the following line at the beginning of FStateDefinitions::FinishStates. Hopefully that brings me closer to the real problem.

Code: Select all

	Printf("Finishing states for %s\n", actor->Class->TypeName.GetChars());
User avatar
Chris
Posts: 2978
Joined: Thu Jul 17, 2003 12:07 am
Graphics Processor: ATI/AMD with Vulkan/Metal Support

Re: [r1249] Release compile of zdoom doesn't run

Post by Chris »

They're printed when they occur, yes. The following ones seem to produce errors (still including the function change from earlier)..

Code: Select all

Finishing states for Inventory
==10731==
==10731== Thread 1:
==10731== Conditional jump or move depends on uninitialised value(s)
==10731==    at 0x8229C98: FStateDefinitions::FixStatePointers(FActorInfo*, TArray<FStateDefine, FStateDefine>&) (p_states.cpp:724)
==10731==    by 0x822AEDB: FStateDefinitions::FinishStates(FActorInfo*, AActor*, TArray<FState, FState>&) (p_states.cpp:781)
==10731==    by 0x839CED7: FinishActor(FScanner&, FActorInfo*, Baggage&) (thingdef_parse.cpp:532)
==10731==    by 0x8391305: ParseActor(FScanner&) (thingdef.cpp:579)
==10731==    by 0x839CD99: ParseDecorate(FScanner&) (thingdef_main.cpp:117)
==10731==    by 0x839CC7E: ParseDecorate(FScanner&) (thingdef_main.cpp:80)
==10731==    by 0x839CE1C: LoadDecorations() (thingdef_main.cpp:148)
==10731==    by 0x8192255: FActorInfo::StaticInit() (info.cpp:107)
==10731==    by 0x815CD19: D_DoomMain() (d_main.cpp:2503)
==10731==    by 0x812C8F2: main (i_main.cpp:272)
==10731==
==10731== Conditional jump or move depends on uninitialised value(s)
==10731==    at 0x822AD40: FStateDefinitions::ResolveGotoLabels(FActorInfo*, AActor*, TArray<FStateDefine, FStateDefine>&) (p_states.cpp:746)
==10731==    by 0x822B061: FStateDefinitions::FinishStates(FActorInfo*, AActor*, TArray<FState, FState>&) (p_states.cpp:812)
==10731==    by 0x839CED7: FinishActor(FScanner&, FActorInfo*, Baggage&) (thingdef_parse.cpp:532)
==10731==    by 0x8391305: ParseActor(FScanner&) (thingdef.cpp:579)
==10731==    by 0x839CD99: ParseDecorate(FScanner&) (thingdef_main.cpp:117)
==10731==    by 0x839CC7E: ParseDecorate(FScanner&) (thingdef_main.cpp:80)
==10731==    by 0x839CE1C: LoadDecorations() (thingdef_main.cpp:148)
==10731==    by 0x8192255: FActorInfo::StaticInit() (info.cpp:107)
==10731==    by 0x815CD19: D_DoomMain() (d_main.cpp:2503)
==10731==    by 0x812C8F2: main (i_main.cpp:272)
...
Finishing states for StealthChaingunGuy
==10731==
==10731== Conditional jump or move depends on uninitialised value(s)
==10731==    at 0x822AD40: FStateDefinitions::ResolveGotoLabels(FActorInfo*, AActor*, TArray<FStateDefine, FStateDefine>&) (p_states.cpp:746)
==10731==    by 0x822AE0E: FStateDefinitions::ResolveGotoLabels(FActorInfo*, AActor*, TArray<FStateDefine, FStateDefine>&) (p_states.cpp:751)
==10731==    by 0x822B061: FStateDefinitions::FinishStates(FActorInfo*, AActor*, TArray<FState, FState>&) (p_states.cpp:812)
==10731==    by 0x839CED7: FinishActor(FScanner&, FActorInfo*, Baggage&) (thingdef_parse.cpp:532)
==10731==    by 0x8391305: ParseActor(FScanner&) (thingdef.cpp:579)
==10731==    by 0x839CD99: ParseDecorate(FScanner&) (thingdef_main.cpp:117)
==10731==    by 0x839CC7E: ParseDecorate(FScanner&) (thingdef_main.cpp:80)
==10731==    by 0x839CE1C: LoadDecorations() (thingdef_main.cpp:148)
==10731==    by 0x8192255: FActorInfo::StaticInit() (info.cpp:107)
==10731==    by 0x815CD19: D_DoomMain() (d_main.cpp:2503)
==10731==    by 0x812C8F2: main (i_main.cpp:272)
...
Finishing states for HereticImpLeader
==10731==
==10731== Conditional jump or move depends on uninitialised value(s)
==10731==    at 0x8229C98: FStateDefinitions::FixStatePointers(FActorInfo*, TArray<FStateDefine, FStateDefine>&) (p_states.cpp:724)
==10731==    by 0x8229D41: FStateDefinitions::FixStatePointers(FActorInfo*, TArray<FStateDefine, FStateDefine>&) (p_states.cpp:730)
==10731==    by 0x822AEDB: FStateDefinitions::FinishStates(FActorInfo*, AActor*, TArray<FState, FState>&) (p_states.cpp:781)
==10731==    by 0x839CED7: FinishActor(FScanner&, FActorInfo*, Baggage&) (thingdef_parse.cpp:532)
==10731==    by 0x8391305: ParseActor(FScanner&) (thingdef.cpp:579)
==10731==    by 0x839CD99: ParseDecorate(FScanner&) (thingdef_main.cpp:117)
==10731==    by 0x839CC7E: ParseDecorate(FScanner&) (thingdef_main.cpp:80)
==10731==    by 0x839CE1C: LoadDecorations() (thingdef_main.cpp:148)
==10731==    by 0x8192255: FActorInfo::StaticInit() (info.cpp:107)
==10731==    by 0x815CD19: D_DoomMain() (d_main.cpp:2503)
==10731==    by 0x812C8F2: main (i_main.cpp:272)
...
Finishing states for ChexMineCart
==10731==
==10731== Conditional jump or move depends on uninitialised value(s)
==10731==    at 0x40236E3: strcpy (in /usr/lib/valgrind/x86-linux/vgpreload_memcheck.so)
==10731==    by 0x8192305: GetSpriteIndex(char const*) (info.cpp:77)
==10731==    by 0x839FC9D: Handler_crouchsprite_S_PlayerPawn(APlayerPawn*, Baggage&, FPropParam*) (thingdef_properties.cpp:1978)
==10731==    by 0x839D712: ParsePropertyParams(FScanner&, FPropertyInfo*, AActor*, Baggage&) (thingdef_parse.cpp:452)
==10731==    by 0x839DA32: ParseActorProperty(FScanner&, Baggage&) (thingdef_parse.cpp:496)
==10731==    by 0x839127E: ParseActor(FScanner&) (thingdef.cpp:566)
==10731==    by 0x839CD99: ParseDecorate(FScanner&) (thingdef_main.cpp:117)
==10731==    by 0x839CC7E: ParseDecorate(FScanner&) (thingdef_main.cpp:80)
==10731==    by 0x839CE1C: LoadDecorations() (thingdef_main.cpp:148)
==10731==    by 0x8192255: FActorInfo::StaticInit() (info.cpp:107)
==10731==    by 0x815CD19: D_DoomMain() (d_main.cpp:2503)
==10731==    by 0x812C8F2: main (i_main.cpp:272)
All the others finish without triggering a valgrind error.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49234
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [r1249] Release compile of zdoom doesn't run

Post by Graf Zahl »

Looks a bit random... :?
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49234
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: [r1249] Release compile of zdoom doesn't run

Post by Graf Zahl »

Can you retry with the latest SVN revision?
Post Reply

Return to “Closed Bugs [GZDoom]”