Jump to content

[crash] rev.9266


Auntie Mangos

Recommended Posts

  • 40 years later...

Crash with update corpse =(

Revision: * * 9266 6bb830150512fe7321945c1c47f7f9dde2012ebd
Date 30:1:2010. Time 11:19 
//=====================================================
*** Hardware ***
Processor: Intel(R) Pentium(R) 4 CPU 3.00GHz
Number Of Processors: 2
Physical Memory: 1570892 KB (Available: 1077588 KB)
Commit Charge Limit: 3520688 KB

*** Operation System ***
Microsoft Windows Server 2003 Standard Edition Service Pack 2 (Version 5.2, Build 3790)

//=====================================================
Exception code: C0000005 ACCESS_VIOLATION
Fault address:  008CCA69 01:004CBA69 C:\\Server\\mangosd.exe

Registers:
EAX:00000000
EBX:73048770
ECX:411EFF12
EDX:00250000
ESI:00000000
EDI:008EE850
CS:EIP:001B:008CCA69
SS:ESP:0023:07FFA984  EBP:07FFFB04
DS:0023  ES:0023  FS:003B  GS:0000
Flags:00010246

Call stack:
Address   Frame     Function      SourceFile
008CCA69  00000000  WorldSession::HandleCorpseMapPositionQuery+B9
006031C0  00000000  WorldSession::Update+120
00614F23  00000000  World::UpdateSessions+C3
006136A1  00000000  World::Update+371
004308E2  00000000  WorldRunnable::run+A2
008EE869  00000000  ACE_Based::Thread::ThreadTask+19
00B214D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C82482F  00000000  GetModuleHandleA+DF

Call stack:
Address   Frame     Function      SourceFile
7C93860C  00000000  KiFastSystemCallRet+0
7C821C8D  00000000  WaitForSingleObject+12

Call stack:
Address   Frame     Function      SourceFile
7C93860C  00000000  KiFastSystemCallRet+0
7C8024FD  00000000  Sleep+F
008EEA80  00000000  ACE_Based::Thread::Sleep+30
008F4C20  00000000  SqlDelayThread::run+20
008EE869  00000000  ACE_Based::Thread::ThreadTask+19
00B214D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C82482F  00000000  GetModuleHandleA+DF

Call stack:
Address   Frame     Function      SourceFile
7C93860C  00000000  KiFastSystemCallRet+0
7C8024FD  00000000  Sleep+F
008EEA80  00000000  ACE_Based::Thread::Sleep+30
008F4C20  00000000  SqlDelayThread::run+20
008EE869  00000000  ACE_Based::Thread::ThreadTask+19
00B214D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C82482F  00000000  GetModuleHandleA+DF

Call stack:
Address   Frame     Function      SourceFile
7C93860C  00000000  KiFastSystemCallRet+0
7C8024FD  00000000  Sleep+F
008EEA80  00000000  ACE_Based::Thread::Sleep+30
008F4C20  00000000  SqlDelayThread::run+20
008EE869  00000000  ACE_Based::Thread::ThreadTask+19
00B214D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C82482F  00000000  GetModuleHandleA+DF

Call stack:
Address   Frame     Function      SourceFile
7C93860C  00000000  KiFastSystemCallRet+0
07FF99DC  00000000  0000:00000000 
FF50D845  FFFFFFFF  0000:00000000 

Call stack:
Address   Frame     Function      SourceFile
7C93860C  00000000  KiFastSystemCallRet+0
7C80CF8C  00000000  ReadConsoleW+19B
7C872904  00000000  ReadConsoleA+3B
7C8018F4  00000000  ReadFile+A5
78586A93  00000000  realloc+9F7
78586F17  00000000  _read+C0
7854EC7A  00000000  _filbuf+7D
7854E319  00000000  fgets+109
004107DC  00000000  CliRunnable::run+CC
008EE869  00000000  ACE_Based::Thread::ThreadTask+19
00B214D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C82482F  00000000  GetModuleHandleA+DF

Call stack:
Address   Frame     Function      SourceFile
7C93860C  00000000  KiFastSystemCallRet+0
7C8024FD  00000000  Sleep+F
008EEA80  00000000  ACE_Based::Thread::Sleep+30
0042C44B  00000000  RARunnable::run+22B
008EE869  00000000  ACE_Based::Thread::ThreadTask+19
00B214D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C82482F  00000000  GetModuleHandleA+DF

Call stack:
Address   Frame     Function      SourceFile
7C93860C  00000000  KiFastSystemCallRet+0
7C8024FD  00000000  Sleep+F
008EEA80  00000000  ACE_Based::Thread::Sleep+30
0042C02B  00000000  FreezeDetectorRunnable::run+7B
008EE869  00000000  ACE_Based::Thread::ThreadTask+19
00B214D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C82482F  00000000  GetModuleHandleA+DF

Call stack:
Address   Frame     Function      SourceFile
7C93860C  00000000  KiFastSystemCallRet+0
719B1A03  00000000  0001:00000A03 C:\\WINDOWS\\system32\\MSWSOCK.dll
71A9283C  00000000  select+A1
00AE4AE5  00000000  ?wait_for_multiple_events@?$ACE_Select_Reactor_T@V?$ACE_Reactor_Token_T@VACE_Token@@@@@@MAEHAAVACE_Select_Reactor_Handle_Set@@PAVACE_Time_Value@@@Z+115
FFFFFFFF  FFFFFFFF  0000:00000000 

Call stack:
Address   Frame     Function      SourceFile
7C93860C  00000000  KiFastSystemCallRet+0
719B1A03  00000000  0001:00000A03 C:\\WINDOWS\\system32\\MSWSOCK.dll
71A9283C  00000000  select+A1
00AE4AE5  00000000  ?wait_for_multiple_events@?$ACE_Select_Reactor_T@V?$ACE_Reactor_Token_T@VACE_Token@@@@@@MAEHAAVACE_Select_Reactor_Handle_Set@@PAVACE_Time_Value@@@Z+115
FFFFFFFF  FFFFFFFF  0000:00000000 
========================
Local Variables And Parameters

Call stack:
Address   Frame     Function      SourceFile
008CCA69  00000000  WorldSession::HandleCorpseMapPositionQuery+B9
   Local  <user defined> 'this'
   Local  <user defined> 'recv_data'
punting on symbol lowGuid
punting on symbol cz
   Local  <user defined> 'data'
punting on symbol cy
   Local  <user defined> 'map'
   Local  <user defined> 'corpse'
punting on symbol cx
   Local  <user defined> 'player'

006031C0  00000000  WorldSession::Update+120
   Local  <user defined> 'opHandle'
   Local  <user defined> 'this'
punting on symbol __formal
   Local  <user defined> 'packet'
punting on symbol currTime

00614F23  00000000  World::UpdateSessions+C3
   Local  <user defined> 'next'
   Local  <user defined> 'itr'
   Local  <user defined> 'this'
punting on symbol diff
   Local  <user defined> 'sess'

006136A1  00000000  World::Update+371
punting on symbol i
   Local  <user defined> 'this'
punting on symbol diff
   Local  unsigned int 'autobroadcaston' = 1

004308E2  00000000  WorldRunnable::run+A2
punting on symbol diff
   Local  <user defined> 'this'
punting on symbol realCurrTime
punting on symbol realPrevTime
punting on symbol prevSleepTime

008EE869  00000000  ACE_Based::Thread::ThreadTask+19
punting on symbol param
   Local  <user defined> '_task'

00B214D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74

78543433  00000000  _endthreadex+44

785434C7  00000000  _endthreadex+D8

7C82482F  00000000  GetModuleHandleA+DF

========================
Global Variables

Link to comment
Share on other sites

I have this crash every 2 minutes.....

Revision: * * 9266 102abf5fff122ec736b49c978fcfba0177f9edc2
Date 30:1:2010. Time 11:8 
//=====================================================
*** Hardware ***
Processor: AMD Phenom(tm) II X4 955 Processor
Number Of Processors: 4
Physical Memory: 4192448 KB (Available: 2003880 KB)
Commit Charge Limit: 4194303 KB

*** Operation System ***
Microsoft Windows Server 2003 Professional Service Pack 2 (Version 5.2, Build 3790)

//=====================================================
Exception code: C0000005 ACCESS_VIOLATION
Fault address:  008840A9 01:004830A9 D:\\MaNGOS\\pvp\\Mangosd.exe

Registers:
EAX:00000000
EBX:FF4E32E0
ECX:36778F67
EDX:00222D00
ESI:00000000
EDI:008B0C50
CS:EIP:0023:008840A9
SS:ESP:002B:0C05A978  EBP:0C05FAF8
DS:002B  ES:002B  FS:0053  GS:002B
Flags:00010246

Call stack:
Address   Frame     Function      SourceFile
008840A9  00000000  WorldSession::HandleCorpseMapPositionQuery+B9
005FF570  00000000  WorldSession::Update+120
00611803  00000000  World::UpdateSessions+C3
0060FF81  00000000  World::Update+371
004308C2  00000000  WorldRunnable::run+A2
008B0C69  00000000  ACE_Based::Thread::ThreadTask+19
012D1B84  00000000  __WSAFDIsSet+FFFFFFFFFFFCCB4C
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7D4DFE21  00000000  FlsSetValue+136

Call stack:
Address   Frame     Function      SourceFile
7D61C828  00000000  ZwWaitForSingleObject+15
7D4D8BF1  00000000  WaitForSingleObject+12
01289C04  00000000  __WSAFDIsSet+FFFFFFFFFFF84BCC
012F64AA  00000000  __WSAFDIsSet+FFFFFFFFFFFF1472
012F266F  00000000  __WSAFDIsSet+FFFFFFFFFFFED637
006281CA  00000000  WorldSocketMgr::Wait+4A
F4132204  FFFFFFFF  0000:00000000 
F4132204  FFFFFFFF  0000:00000000 
6C696146  00000000  

Link to comment
Share on other sites

Hi,

Please try this patch.

diff --git a/src/game/Map.h b/src/game/Map.h
index 6e68529..8ec98bf 100644
--- a/src/game/Map.h
+++ b/src/game/Map.h
@@ -357,7 +357,7 @@ class MANGOS_DLL_SPEC Map : public GridRefManager<NGridType>, public MaNGOS::Obj
        bool IsBattleGround() const { return i_mapEntry && i_mapEntry->IsBattleGround(); }
        bool IsBattleArena() const { return i_mapEntry && i_mapEntry->IsBattleArena(); }
        bool IsBattleGroundOrArena() const { return i_mapEntry && i_mapEntry->IsBattleGroundOrArena(); }
-        bool GetEntrancePos(int32 &mapid, float &x, float &y)
+        bool GetEntrancePos(int32 &mapid, float &x, float &y) const
        {
            if(!i_mapEntry)
                return false;
diff --git a/src/game/QueryHandler.cpp b/src/game/QueryHandler.cpp
index 6bc0baf..88d8ae8 100644
--- a/src/game/QueryHandler.cpp
+++ b/src/game/QueryHandler.cpp
@@ -465,9 +465,12 @@ void WorldSession::HandleCorpseMapPositionQuery( WorldPacket & recv_data )

    WorldPacket data(CMSG_CORPSE_MAP_POSITION_QUERY_RESPONSE, 4+4+4+4);

-    Map* map = corpse->GetMap();
-
    float cx, cy, cz;
+    uint32 zoneId;
+
+    const Map* map = corpse->GetMap();
+    if (!map)
+        map = sMapMgr.CreateBaseMap(corpse->GetMapId());

    if (map->IsDungeon())
    {
@@ -476,7 +479,7 @@ void WorldSession::HandleCorpseMapPositionQuery( WorldPacket & recv_data )
        map->GetEntrancePos(mapId, mx, my);

        const Map* newMap = sMapMgr.CreateBaseMap(mapId);
-        uint32 zoneId = newMap->GetZoneId(mx, my, 0);
+        zoneId = newMap->GetZoneId(mx, my, 0);

        float _mx = mx;
        float _my = my;
@@ -503,7 +506,7 @@ void WorldSession::HandleCorpseMapPositionQuery( WorldPacket & recv_data )
        if (!ClosestGrave)
            return;

-        uint32 zoneId = corpse->GetZoneId();
+        zoneId = map->GetZoneId(corpse->GetPositionX(), corpse->GetPositionY(), 0);

        float gx = ClosestGrave->x;
        float gy = ClosestGrave->y;

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. Privacy Policy Terms of Use