Something in map20 of Community Chest 4 is causing a crash.

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
SiFi270
Posts: 451
Joined: Tue Feb 10, 2015 2:51 am
Location: Does anyone put a serious answer here?

Something in map20 of Community Chest 4 is causing a crash.

Post by SiFi270 »

Here's the wad. Whenever I enter "map map20" into the console, I hear the start of the midi, but it crashes before showing a single frame of the map. Even after I moved my main configuration file so that GZDoom would create a completely new one, the problem persisted. I know this didn't happen in fairly recent versions of GZDoom because I used it to practice for the DWIronman League.
User avatar
Enjay
 
 
Posts: 26516
Joined: Tue Jul 15, 2003 4:58 pm
Location: Scotland
Contact:

Re: Something in map20 of Community Chest 4 is causing a cra

Post by Enjay »

I tried in the latest git build (Nov 02) and it worked just fine. Then, I went to the official 3.6.0 build and it did indeed crash. Then, I went back to the git build just to check and it crashed there too. Now it seems to be crashing reliably in either build every time.

[edit] For what it's worth (i.e. very little), it also seems to crash the last ever (I think) ZDoom git build, but not the last official ZDoom. [/edit]

[edit2] And just for further information, if I type "map map20" at the titlepic, the map starts without a crash. However, if I start a game (i.e. start map01) and then type it, I get a crash. [/edit2]
User avatar
SiFi270
Posts: 451
Joined: Tue Feb 10, 2015 2:51 am
Location: Does anyone put a serious answer here?

Re: Something in map20 of Community Chest 4 is causing a cra

Post by SiFi270 »

It seems to work with monsters disabled, so I guess it's one or more monsters that are causing the problem.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Something in map20 of Community Chest 4 is causing a cra

Post by Graf Zahl »

No, it's not a monster, it's a barrel. But it's not something obvious.
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: Something in map20 of Community Chest 4 is causing a cra

Post by drfrag »

Doesn't crash with ZDoom32 (based on DEC 03 2016, no ZScript). Crashes with 3.6.0_legacy.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Something in map20 of Community Chest 4 is causing a cra

Post by Graf Zahl »

That's gonna be a great round of bisecting the commit history...
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: Something in map20 of Community Chest 4 is causing a cra

Post by drfrag »

Just checked again and it crashes, but only happens if you start map20 after map01. So it's between 2.8.0 (FEB 03) and DEC 03.
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: Something in map20 of Community Chest 4 is causing a cra

Post by drfrag »

Crashes with 2.2.0 so between SEP 18 and DEC 03.
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: Something in map20 of Community Chest 4 is causing a cra

Post by drfrag »

And obviously that was wrong, it's between FEB 03 and SEP 18. Oops. Trying to bisect it now...
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: Something in map20 of Community Chest 4 is causing a cra

Post by drfrag »

It's done.
Spoiler:

Code: Select all

451cac457bab13a72e37972e320ca580f6ddf15a is the first bad commit
commit 451cac457bab13a72e37972e320ca580f6ddf15a
Author: Christoph Oelckers <c.oelckers@zdoom.fake>
Date:   Fri Feb 26 18:05:58 2016 +0100

- added NULL pointer check in AActor::ClearInterpolation.

:040000 040000 272ab8c48cb469ce63c0cc52d5e0045799ffef00 1451062333eb19cc13249bc122572182a422f525 M	src
_mental_
 
 
Posts: 3812
Joined: Sun Aug 07, 2011 4:32 am

Re: Something in map20 of Community Chest 4 is causing a cra

Post by _mental_ »

Are you sure? Reverting that commit didn't fix anything to me. spechit still points to lines from previous map.
User avatar
Graf Zahl
Lead GZDoom+Raze Developer
Lead GZDoom+Raze Developer
Posts: 49056
Joined: Sat Jul 19, 2003 10:19 am
Location: Germany

Re: Something in map20 of Community Chest 4 is causing a cra

Post by Graf Zahl »

What precisely happens? Are you saying that there is some code that uses spechit without clearing it first?
My guess is that it has to do with portals. Bisecting the code from back then is bound to fail because of all the branching going on. It probably picked on some merge and got confused. I have seen bisects of code that is this divergent to randomly jump between branches.

If you want to check the commit history for the place where this happened you'll have to do the bisecting manually, I fear.
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: Something in map20 of Community Chest 4 is causing a cra

Post by drfrag »

No, somehow the executable was not replaced until i deleted it manually and the last commit was good.
It's the previous one:

Code: Select all

Revision: 8d58d63b6054c7aad9e77e6df6102be43640d7e8
Author: Christoph Oelckers <coelckers@zdoom.fake>
Date: 27/02/2016 1:19:57
Message:
- implemented line portal transition. Not yet tested for arbitrary portals but for static ones it is working - including camera interpolation.

----
Modified: src/p_local.h
Modified: src/p_map.cpp
Modified: src/p_tick.cpp
Modified: src/r_utility.cpp
Modified: src/r_utility.h
User avatar
drfrag
Vintage GZDoom Developer
Posts: 3141
Joined: Fri Apr 23, 2004 3:51 am
Location: Spain
Contact:

Re: Something in map20 of Community Chest 4 is causing a cra

Post by drfrag »

I guess the executable was still running in the background after the crash. Here's the backtrace:

Code: Select all

>	zdoom.exe!AActor::PosRelative(line_t * line) Line 1278	C++
 	zdoom.exe!CheckForPushSpecial(line_t * line, int side, AActor * mobj, fixedvec2 * posforwindowcheck) Line 1844	C++
->	zdoom.exe!P_TryMove(AActor * thing, int x, int y, int dropoff, const secplane_t * onfloor, FCheckPosition & tm, bool missileCheck) Line 2372	C++
 	zdoom.exe!P_XYMovement(AActor * mo, int scrollx, int scrolly) Line 2003	C++
 	zdoom.exe!AActor::Tick() Line 3772	C++
 	zdoom.exe!DThinker::TickThinkers(FThinkerList * list, FThinkerList * dest) Line 466	C++
 	zdoom.exe!DThinker::RunThinkers() Line 428	C++
 	zdoom.exe!P_Ticker() Line 135	C++
 	zdoom.exe!G_Ticker() Line 1203	C++
 	zdoom.exe!TryRunTics() Line 1944	C++
 	zdoom.exe!D_DoomLoop() Line 1012	C++
 	zdoom.exe!D_DoomMain() Line 2641	C++
 	zdoom.exe!DoMain(HINSTANCE__ * hInstance) Line 1004	C++
 	zdoom.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * nothing, char * cmdline, int nCmdShow) Line 1300	C++

-		&spec	0x0320682c {line=0x03bf3910 {v1=0x00800000 {x=2020893505 y=32 } v2=0x00000000 <NULL> dx=8388608 ...} ...}	spechit_t *
+		line	0x03bf3910 {v1=0x00800000 {x=2020893505 y=32 } v2=0x00000000 <NULL> dx=8388608 ...}	line_t *
+		oldrefpos	{x=100139008 y=-127926272 }	fixedvec2
+		refpos	{x=100109572 y=-127926272 }	fixedvec2
-		&spec.refpos	0x03206838 {x=100109572 y=-127926272 }	fixedvec2 *
		x	100109572	int
		y	-127926272	int
		numSpecHitTemp	1	int
		side	0	int
-		spec	{line=0x03bf3910 {v1=0x00800000 {x=2020893505 y=32 } v2=0x00000000 <NULL> dx=8388608 ...} oldrefpos=...}	spechit_t &
+		line	0x03bf3910 {v1=0x00800000 {x=2020893505 y=32 } v2=0x00000000 <NULL> dx=8388608 ...}	line_t *
+		oldrefpos	{x=100139008 y=-127926272 }	fixedvec2
+		refpos	{x=100109572 y=-127926272 }	fixedvec2
-		spec.line	0x03bf3910 {v1=0x00800000 {x=2020893505 y=32 } v2=0x00000000 <NULL> dx=8388608 ...}	line_t *
+		v1	0x00800000 {x=2020893505 y=32 }	vertex_t *
+		v2	0x00000000 <NULL>	vertex_t *
		dx	8388608	int
		dy	0	int
		flags	8388608	unsigned long
		activation	0	unsigned long
		special	8388608	int
		Alpha	0	int
+		args	0x03bf3930 {8388608, 0, 8388608, 0, 8388608}	int[5]
+		sidedef	0x03bf3944 {0x00000000 <NULL>, 0x00800000 {sector=0x78746341 {planes=0x78746341 {{xform={xoffs=??? yoffs=...} ...}, ...} ...} ...}}	side_t *[2]
+		bbox	0x03bf394c {0, 8388608, 0, 8388608}	int[4]
+		frontsector	0x00000000 <NULL>	sector_t *
+		backsector	0x00800000 {planes=0x00800000 {{xform={xoffs=2020893505 yoffs=32 xscale=1 ...} Flags=0 Light=20 ...}, ...} ...}	sector_t *
		validcount	0	int
		locknumber	8388608	int
		portalindex	0	unsigned int
-		spec.refpos	{x=100109572 y=-127926272 }	fixedvec2
		x	100109572	int
		y	-127926272	int
		spec.refpos.x	100109572	int
		spec.refpos.y	-127926272	int
-		spechit	{Array=0x03206818 {line=0x03bf4f90 {v1=0x5e666869 {x=??? y=??? } v2=0x605e595a {x=??? y=??? } dx=1785226593 ...} ...} ...}	TArray<spechit_t,spechit_t>
+		Array	0x03206818 {line=0x03bf4f90 {v1=0x5e666869 {x=??? y=??? } v2=0x605e595a {x=??? y=??? } dx=1785226593 ...} ...}	spechit_t *
		Most	16	unsigned int
		Count	2	unsigned int
-		thing	0x03cb9dc8 {snext=0x00000000 <NULL> sprev=0x03cba0ac {0x03cb9dc8 {snext=0x00000000 <NULL> sprev=0x03cba0ac {...} ...}} ...}	AActor *
+		DThinker	{NextThinker=0x02f571d8 {NextThinker=0x03cb0a60 {snext=0x00000000 <NULL> sprev=0x00000000 {???} __pos=...} ...} ...}	DThinker
+		snext	0x00000000 <NULL>	AActor *
+		sprev	0x03cba0ac {0x03cb9dc8 {snext=0x00000000 <NULL> sprev=0x03cba0ac {0x03cb9dc8 {snext=0x00000000 <NULL> ...}} ...}}	AActor * *
+		__pos	{x=-85721088 y=-427032576 z=0 }	fixedvec3
		angle	0	unsigned int
		sprite	91	unsigned short
		frame	0 '\0'	unsigned char
		scaleX	65536	int
		scaleY	65536	int
+		RenderStyle	{BlendOp=1 '\x1' SrcAlpha=2 '\x2' DestAlpha=3 '\x3' ...}	FRenderStyle
+		renderflags	{Value=0 }	TFlags<enum ActorRenderFlag,unsigned int>
+		picnum	{texnum=-1 }	FTextureID
		effects	0	unsigned long
		alpha	65536	int
		fillcolor	0	unsigned long
		pitch	0	int
		roll	0	unsigned int
+		BlockNode	0x0307f308 {Me=0x03cb9dc8 {snext=0x00000000 <NULL> sprev=0x03cba0ac {0x03cb9dc8 {snext=0x00000000 <NULL> ...}} ...} ...}	FBlockNode *
+		Sector	0x053a4c88 {planes=0x053a4c88 {{xform={xoffs=0 yoffs=0 xscale=65536 ...} Flags=0 Light=0 ...}, {xform=...}} ...}	sector_t *
+		subsector	0x055df698 {sector=0x053a4c88 {planes=0x053a4c88 {{xform={xoffs=0 yoffs=0 xscale=65536 ...} Flags=0 ...}, ...} ...} ...}	subsector_t *
		floorz	0	int
		ceilingz	2097152	int
		dropoffz	0	int
+		floorsector	0x053a4c88 {planes=0x053a4c88 {{xform={xoffs=0 yoffs=0 xscale=65536 ...} Flags=0 Light=0 ...}, {xform=...}} ...}	sector_t *
+		floorpic	{texnum=2559 }	FTextureID
		floorterrain	0	int
+		ceilingsector	0x053a4c88 {planes=0x053a4c88 {{xform={xoffs=0 yoffs=0 xscale=65536 ...} Flags=0 Light=0 ...}, {xform=...}} ...}	sector_t *
+		ceilingpic	{texnum=2626 }	FTextureID
		radius	655360	int
		height	2752512	int
		projectilepassheight	0	int
		velx	4608	int
		vely	0	int
		velz	0	int
		tics	6	int
+		state	0x02ec6320 {NextState=0x02ec633c {NextState=0x02ec6320 {NextState=0x02ec633c {NextState=0x02ec6320 {...} ...} ...} ...} ...}	FState *
+		Damage	0x00000000 <NULL>	VMFunction *
		projectileKickback	0	int
+		flags	{Value=524294 }	TFlags<enum ActorFlag,unsigned int>
+		flags2	{Value=8388608 }	TFlags<enum ActorFlag2,unsigned int>
+		flags3	{Value=524288 }	TFlags<enum ActorFlag3,unsigned int>
+		flags4	{Value=524292 }	TFlags<enum ActorFlag4,unsigned int>
+		flags5	{Value=512 }	TFlags<enum ActorFlag5,unsigned int>
+		flags6	{Value=0 }	TFlags<enum ActorFlag6,unsigned int>
+		flags7	{Value=8 }	TFlags<enum ActorFlag7,unsigned int>
		VisibleToTeam	0	unsigned long
		special1	0	int
		special2	0	int
		weaponspecial	0	int
		health	20	int
		movedir	0 '\0'	unsigned char
		visdir	0 '\0'	char
		movecount	0	short
		strafecount	0	short
+		target	{p=0x00000000 <NULL> o=0x00000000 <NULL> }	TObjPtr<AActor>
+		lastenemy	{p=0x00000000 <NULL> o=0x00000000 <NULL> }	TObjPtr<AActor>
+		LastHeard	{p=0x00000000 <NULL> o=0x00000000 <NULL> }	TObjPtr<AActor>
		reactiontime	8	int
		threshold	0	int
		DefThreshold	100	int
+		player	0x00000000 <NULL>	player_t *
+		LastLookActor	{p=0x00000000 <NULL> o=0x00000000 <NULL> }	TObjPtr<AActor>
+		SpawnPoint	0x03cb9ed4 {-85721088, -427032576, 0}	int[3]
		SpawnAngle	0	unsigned short
		StartHealth	0	int
		WeaveIndexXY	0 '\0'	unsigned char
		WeaveIndexZ	16 '\x10'	unsigned char
		skillrespawncount	0	int
		TIDtoHate	0	int
+		Species	{...}	FNameNoInit
+		tracer	{p=0x00000000 <NULL> o=0x00000000 <NULL> }	TObjPtr<AActor>
+		master	{p=0x00000000 <NULL> o=0x00000000 <NULL> }	TObjPtr<AActor>
		floorclip	0	int
		tid	0	int
		special	0	int
+		args	0x03cb9f0c {0, 0, 0, 0, 0}	int[5]
		accuracy	0	int
		stamina	0	int
+		inext	0x00000000 <NULL>	AActor *
+		iprev	0x00000000 {???}	AActor * *
+		goal	{p=0x00000000 <NULL> o=0x00000000 <NULL> }	TObjPtr<AActor>
		waterlevel	0	int
		boomwaterlevel	0 '\0'	unsigned char
		MinMissileChance	200 'È'	unsigned char
		LastLookPlayerNumber	0 '\0'	char
+		BounceFlags	{Value=0 }	TFlags<enum ActorBounceFlag,unsigned short>
		SpawnFlags	2016	unsigned long
		meleerange	2883584	int
		meleethreshold	0	int
		maxtargetrange	0	int
		bouncefactor	45875	int
		wallbouncefactor	49152	int
		bouncecount	-1	int
		gravity	65536	int
		Friction	65536	int
		FastChaseStrafeCount	0	int
		pushfactor	16384	int
		lastpush	0	int
		activationtype	0	int
		lastbump	0	int
		Score	0	int
+		Tag	0x00000000 <NULL>	FString *
		DesignatedTeam	255	int
+		BlockingMobj	0x056586d8 {snext=0x00000000 <NULL> sprev=0x053b2d08 {0x056586d8 {snext=0x00000000 <NULL> sprev=0x053b2d08 {...} ...}} ...}	AActor *
+		BlockingLine	0x00000000 <NULL>	line_t *
		PoisonDamage	0	int
+		PoisonDamageType	{...}	FNameNoInit
		PoisonDuration	0	int
		PoisonPeriod	0	int
		PoisonDamageReceived	0	int
+		PoisonDamageTypeReceived	{...}	FNameNoInit
		PoisonDurationReceived	0	int
		PoisonPeriodReceived	0	int
+		Poisoner	{p=0x00000000 <NULL> o=0x00000000 <NULL> }	TObjPtr<AActor>
+		touching_sectorlist	0x03085bf0 {m_sector=0x053b2c5c {planes=0x053b2c5c {{xform={xoffs=-49152 yoffs=0 xscale=65536 ...} Flags=...}, ...} ...} ...}	msecnode_t *
+		Inventory	{p=0x00000000 <NULL> o=0x00000000 <NULL> }	TObjPtr<AInventory>
		InventoryID	0	unsigned long
		smokecounter	0 '\0'	unsigned char
		FloatBobPhase	130 '‚'	unsigned char
		FriendPlayer	0 '\0'	unsigned char
		Translation	0	unsigned long
+		SeeSound	{...}	FSoundIDNoInit
+		AttackSound	{...}	FSoundIDNoInit
+		PainSound	{...}	FSoundIDNoInit
+		DeathSound	{...}	FSoundIDNoInit
+		ActiveSound	{...}	FSoundIDNoInit
+		UseSound	{...}	FSoundIDNoInit
+		BounceSound	{...}	FSoundIDNoInit
+		WallBounceSound	{...}	FSoundIDNoInit
+		CrushPainSound	{...}	FSoundIDNoInit
		Speed	0	int
		FloatSpeed	262144	int
		MaxDropOffHeight	1572864	int
		MaxStepHeight	1572864	int
		Mass	100	int
		PainChance	0	short
		PainThreshold	0	int
+		DamageType	{...}	FNameNoInit
+		DamageTypeReceived	{...}	FNameNoInit
		DamageFactor	65536	int
		DamageMultiply	65536	int
+		PainType	{...}	FNameNoInit
+		DeathType	{...}	FNameNoInit
+		TeleFogSourceType	0x0095e108 {OwnedStates=0x02ee6ec8 {NextState=0x02ee6ee4 {NextState=0x02ee6f00 {NextState=0x02ee6f1c {...} ...} ...} ...} ...}	PClassActor *
+		TeleFogDestType	0x0095e108 {OwnedStates=0x02ee6ec8 {NextState=0x02ee6ee4 {NextState=0x02ee6f00 {NextState=0x02ee6f1c {...} ...} ...} ...} ...}	PClassActor *
		RipperLevel	0	int
		RipLevelMin	0	int
		RipLevelMax	0	int
+		SpawnState	0x02ec6320 {NextState=0x02ec633c {NextState=0x02ec6320 {NextState=0x02ec633c {NextState=0x02ec6320 {...} ...} ...} ...} ...}	FState *
+		SeeState	0x00000000 <NULL>	FState *
+		MeleeState	0x00000000 <NULL>	FState *
+		MissileState	0x00000000 <NULL>	FState *
		ConversationRoot	-1	int
+		Conversation	0x00000000 <NULL>	FStrifeDialogueNode *
+		DecalGenerator	0x00000000 <NULL>	FDecalBase *
		PrevX	-85721088	int
		PrevY	-427032576	int
		PrevZ	0	int
		PrevAngle	0	unsigned int
		PrevPortalGroup	0	int
_mental_
 
 
Posts: 3812
Joined: Sun Aug 07, 2011 4:32 am

Re: Something in map20 of Community Chest 4 is causing a cra

Post by _mental_ »

It's hard to explain without ability to check callstack interactively.

In short, on MAP20 there are a few explosive barrels stuck in walls.
The callstack above shows the first tick for one of these barrels, thing #110.

spechit wasn't cleared since previous MAP01 because this line was moved.
Post Reply

Return to “Closed Bugs [GZDoom]”