[FIXED?]World Crash - ProcessMovement()

Old bugs stored here for reference.
Locked
User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

[FIXED?]World Crash - ProcessMovement()

Post by John Adams » Sun Aug 04, 2013 1:33 pm

I was in the Frostfang zone and went to the GM Hall to be in a zone without spawns. After being in there for a few minutes, and talking about stats in IRC, I noticed my world crashed out behind me. I'm assuming this is an NPC "follow" issue, because where it broke I don't think that has anything to do with looking at stats in the Character options :)

Stack:
ntdll.dll!77cd15de() Unknown
[Frames below may be incorrect and/or missing, no symbols loaded for ntdll.dll]
ntdll.dll!77cd15de() Unknown
ntdll.dll!77cc014e() Unknown
EQ2World__Debug.exe!Spawn::ProcessMovement() Line 1516 C++
> EQ2World__Debug.exe!Spawn::ProcessMovement() Line 1516 C++
EQ2World__Debug.exe!_free_base(void * pBlock) Line 50 C
EQ2World__Debug.exe!_callthreadstart() Line 255 C
EQ2World__Debug.exe!_threadstart(void * ptd) Line 239 C
kernel32.dll!766133aa() Unknown
ntdll.dll!77ce9ef2() Unknown
ntdll.dll!77ce9ec5() Unknown
Zone was not shutting down yet or anything.

Code:

Code: Select all

void Spawn::ProcessMovement(){
	// Skip players
	if (IsPlayer() || GetHP() <= 0)			<== I didn't do it, I swear!
		return;

	MMovementLoop.lock();
	if (following && m_followTarget) {
		if (!IsEntity() || (!((Entity*)this)->IsCasting() && !((Entity*)this)->IsMezzedOrStunned())) {
==> here		if (GetSpeed() > 0) {
				CalculateRunningLocation();
			}
m_followTarget was stuff like: "changed = <Unable to read memory>"

User avatar
thefoof
Retired
Posts: 630
Joined: Wed Nov 07, 2012 7:36 pm
Location: Florida

Re: World Crash - ProcessMovement()

Post by thefoof » Sun Aug 04, 2013 3:50 pm

I think that HP check was put in because of a bug where sometimes corpses would follow you around eerily :D

User avatar
John Adams
Retired
Posts: 9684
Joined: Thu Jul 26, 2007 6:27 am
EQ2Emu Server: EQ2Emulator Test Center
Characters: John
Location: Arizona
Contact:

Re: World Crash - ProcessMovement()

Post by John Adams » Mon Aug 05, 2013 1:16 pm

I just meant I am IsPlayer() so it wasn't me :)

It was below that check, so had to be NPC movement related.

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: World Crash - ProcessMovement()

Post by Jabantiz » Mon Aug 05, 2013 1:35 pm

This looks like the pointer went invalid as well so wth is going on.

Jabantiz
Lead Developer
Posts: 2912
Joined: Wed Jul 25, 2007 2:52 pm
Location: California

Re: World Crash - ProcessMovement()

Post by Jabantiz » Thu Aug 08, 2013 2:16 pm

If the possible fix for the FaceTarget() crash works it should also solve this crash.

Locked

Who is online

Users browsing this forum: No registered users and 0 guests