Jump to content

[crash]dual spec


Auntie Mangos

Recommended Posts

  • 40 years later...

rev top
ytdb 530
sd2
xp32bit
DUEL SPEC PATCH

update core, login character -> server crash.

somebody hel~~p

Exception code: C0000005 ACCESS_VIOLATION
Fault address:  7FC03D01 7C931000:00000000 .

Registers:
EAX:7FC03D01
EBX:6F7E65C0
ECX:7FC03FA0
EDX:7FC03D20
ESI:00000000
EDI:008BB9F0
CS:EIP:001B:7FC03D01
SS:ESP:0023:0A300250  EBP:0A3159D4
DS:0023  ES:0023  FS:003B  GS:0000
Flags:00010202

Call stack:
Address   Frame     Function      SourceFile
7FC03D01  00000000  0000:00000000 
00899028  00000000  WorldSession::HandlePlayerLogin+178
00898EA0  00000000  CharacterHandler::HandlePlayerLoginCallback+80
0089D2DD  00000000  MaNGOS::_IQueryCallback<MaNGOS::_Callback<CharacterHandler,QueryResult *,SqlQueryHolder *,void,void> >::Execute+2D
008BDFE8  00000000  SqlResultQueue::Update+28
00615815  00000000  World::UpdateResultQueue+15
00613DD2  00000000  World::Update+7A2
0043086E  00000000  WorldRunnable::run+8E
008BBA09  00000000  ACE_Based::Thread::ThreadTask+19
002F14D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C7DB729  00000000  GetModuleFileNameA+1BA

Call stack:
Address   Frame     Function      SourceFile
7C93E514  00000000  KiFastSystemCallRet+0
7C7D2542  00000000  WaitForSingleObject+12

Call stack:
Address   Frame     Function      SourceFile
7C93E514  00000000  KiFastSystemCallRet+0
7C7D2455  00000000  Sleep+F
008BBC20  00000000  ACE_Based::Thread::Sleep+30
008C1DC0  00000000  SqlDelayThread::run+20
008BBA09  00000000  ACE_Based::Thread::ThreadTask+19
002F14D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C7DB729  00000000  GetModuleFileNameA+1BA

Call stack:
Address   Frame     Function      SourceFile
7C93E514  00000000  KiFastSystemCallRet+0
7C7D2455  00000000  Sleep+F
008BBC20  00000000  ACE_Based::Thread::Sleep+30
008C1DC0  00000000  SqlDelayThread::run+20
008BBA09  00000000  ACE_Based::Thread::ThreadTask+19
002F14D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C7DB729  00000000  GetModuleFileNameA+1BA

Call stack:
Address   Frame     Function      SourceFile
7C93E514  00000000  KiFastSystemCallRet+0
7C7D2455  00000000  Sleep+F
008BBC20  00000000  ACE_Based::Thread::Sleep+30
008C1DC0  00000000  SqlDelayThread::run+20
008BBA09  00000000  ACE_Based::Thread::ThreadTask+19
002F14D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C7DB729  00000000  GetModuleFileNameA+1BA

Call stack:
Address   Frame     Function      SourceFile
7C93E514  00000000  KiFastSystemCallRet+0
0A2FF288  00000000  0000:00000000 
FF50D845  FFFFFFFF  0000:00000000 

Call stack:
Address   Frame     Function      SourceFile
7C93E514  00000000  KiFastSystemCallRet+0
7C842A51  00000000  GetConsoleInputWaitHandle+318
7C842B98  00000000  ReadConsoleA+3B
7C7D18B7  00000000  ReadFile+A5
78588ED9  00000000  _wsopen_s+228
7858935D  00000000  _read+C0
7854EFD2  00000000  _filbuf+7D
7854E671  00000000  fgets+109
00410788  00000000  CliRunnable::run+B8
008BBA09  00000000  ACE_Based::Thread::ThreadTask+19
002F14D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C7DB729  00000000  GetModuleFileNameA+1BA

Call stack:
Address   Frame     Function      SourceFile
7C93E514  00000000  KiFastSystemCallRet+0
7C7D2455  00000000  Sleep+F
008BBC20  00000000  ACE_Based::Thread::Sleep+30
0042C3EB  00000000  RARunnable::run+22B
008BBA09  00000000  ACE_Based::Thread::ThreadTask+19
002F14D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C7DB729  00000000  GetModuleFileNameA+1BA

Call stack:
Address   Frame     Function      SourceFile
7C93E514  00000000  KiFastSystemCallRet+0
7C7D2455  00000000  Sleep+F
008BBC20  00000000  ACE_Based::Thread::Sleep+30
0042BFCB  00000000  FreezeDetectorRunnable::run+7B
008BBA09  00000000  ACE_Based::Thread::ThreadTask+19
002F14D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74
78543433  00000000  _endthreadex+44
785434C7  00000000  _endthreadex+D8
7C7DB729  00000000  GetModuleFileNameA+1BA

Call stack:
Address   Frame     Function      SourceFile
7C93E514  00000000  KiFastSystemCallRet+0
71985FA7  00000000  0001:00004FA7 E:\\WINDOWS\\system32\\MSWSOCK.dll
719E314F  00000000  select+A7
002B4AE5  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
7C93E514  00000000  KiFastSystemCallRet+0
71985FA7  00000000  0001:00004FA7 E:\\WINDOWS\\system32\\MSWSOCK.dll
719E314F  00000000  select+A7
002B4AE5  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
7FC03D01  00000000  0000:00000000 

00899028  00000000  WorldSession::HandlePlayerLogin+178
   Local  <user defined> 'this'
   Local  <user defined> 'holder'
   Local  <user defined> 'data'
   Local  <user defined> 'resultGuild'
punting on symbol playerGuid
   Local  <user defined> 'pCurrChar'
   Local  <user defined> 'IP_str'

00898EA0  00000000  CharacterHandler::HandlePlayerLoginCallback+80
   Local  <user defined> 'this'
   Local  <user defined> '__formal'
   Local  <user defined> 'holder'
   Local  <user defined> 'session'

0089D2DD  00000000  MaNGOS::_IQueryCallback<MaNGOS::_Callback<CharacterHandler,QueryResult *,SqlQueryHolder *,void,void> >::Execute+2D
   Local  <user defined> 'this'

008BDFE8  00000000  SqlResultQueue::Update+28
   Local  <user defined> 'this'
   Local  <user defined> 'callback'

00615815  00000000  World::UpdateResultQueue+15
   Local  <user defined> 'this'

00613DD2  00000000  World::Update+7A2
punting on symbol i
   Local  <user defined> 'this'
punting on symbol diff
   Local  unsigned int 'autobroadcaston' = 1

0043086E  00000000  WorldRunnable::run+8E
punting on symbol diff
   Local  <user defined> 'this'
punting on symbol realCurrTime
punting on symbol realPrevTime
punting on symbol prevSleepTime

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

002F14D4  00000000  ?invoke@ACE_OS_Thread_Adapter@@UAEKXZ+74

78543433  00000000  _endthreadex+44

785434C7  00000000  _endthreadex+D8

7C7DB729  00000000  GetModuleFileNameA+1BA

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


Link to comment
Share on other sites

From 459161dbba9a350ecdae1f0cc2b12d2ae3f0a3b8 Mon Sep 17 00:00:00 2001
From: beleko <[email protected]>
Date: Mon, 25 Jan 2010 09:25:45 +0100
Subject: [PATCH] {289] Fix Character Create and Crash when you logged in the World ! Thanks lecails for Help

Signed-off-by: beleko <[email protected]>
---
.../character_updates_dual_spec.sql                |    2 +-
src/game/Player.cpp                                |    7 ++++---
src/shared/revision_nr.h                           |    2 +-
3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/sql/evo-X Updates/Dual_Specialization/character_updates_dual_spec.sql b/sql/evo-X Updates/Dual_Specialization/character_updates_dual_spec.sql
index 81cb7ea..b0f167a 100644
--- a/sql/evo-X Updates/Dual_Specialization/character_updates_dual_spec.sql    
+++ b/sql/evo-X Updates/Dual_Specialization/character_updates_dual_spec.sql    
@@ -36,7 +36,7 @@ DELETE FROM `character_spell` WHERE `spell` IN (12505,12522,12523,12524,12525,12

DELETE FROM `character_spell` WHERE `spell` IN (3674,5420,9800,19263,20927,20928,20929,20930,24905,27174,27179,31904,32699,32700,33072,33891,34123,48359,48824,48825,48826,48827,48951,48952,50170,50171,50172,50306,50536,51373,51374,51375,51376,51378,51379,52881,53640,55265,55270,55271,57019,57224,62795,63668,63669,63670,63671,63672,64299,65139);

-ALTER TABLE `characters` ADD `speccount` tinyint(3) unsigned NOT NULL default 1 AFTER `arena_pending_points`;
+ALTER TABLE `characters` ADD `speccount` tinyint(3) unsigned NOT NULL default 1 AFTER `power7`;
ALTER TABLE `characters` ADD `activespec` tinyint(3) unsigned NOT NULL default 0 AFTER `speccount`;

ALTER TABLE `character_action` RENAME `character_action_old`;
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index b556156..c82c968 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -14800,7 +14800,7 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder )
    //"resettalents_time, trans_x, trans_y, trans_z, trans_o, transguid, extra_flags, stable_slots, at_login, zone, online, death_expire_time, taxi_path, dungeon_difficulty,"
    // 40           41                42                43                    44          45          46              47           48               49              50
    //"arenaPoints, totalHonorPoints, todayHonorPoints, yesterdayHonorPoints, totalKills, todayKills, yesterdayKills, chosenTitle, knownCurrencies, watchedFaction, drunk,"
-    // 51      52      53      54      55      56      57      58
+    // 51      52      53      54      55      56      57      58      59      60
    //"health, power1, power2, power3, power4, power5, power6, power7, speccount, activespec FROM characters WHERE guid = '%u'", GUID_LOPART(m_guid));
    QueryResult *result = holder->GetResult(PLAYER_LOGIN_QUERY_LOADFROM);

@@ -15218,7 +15218,7 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder )

    m_specsCount = fields[41].GetUInt32();
    m_activeSpec = fields[42].GetUInt32();
-    delete result;
+    /*delete result;*/

    // sanity check
    if (m_specsCount > MAX_TALENT_SPECS || m_activeSpec > MAX_TALENT_SPEC ||
@@ -16496,7 +16496,8 @@ void Player::SaveToDB()

    for(uint32 i = 0; i < MAX_POWERS; ++i)
        ss << "," << GetPower(Powers(i));
-
+        
+    ss << ", ";
    ss << uint32(m_specsCount);
    ss << ", ";
    ss << uint32(m_activeSpec);

and

From 855ed8a15e109d12bdde331fe28553760903ee5f Mon Sep 17 00:00:00 2001
From: beleko <[email protected]>
Date: Mon, 25 Jan 2010 12:49:30 +0100
Subject: [PATCH] [291] More DualSpec Updates Thanks ganjoula

Signed-off-by: beleko <[email protected]>
---
src/game/Player.cpp      |    4 ++--
src/shared/revision_nr.h |    2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index c82c968..34b8ccc 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -15216,8 +15216,8 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder )
    // Mail
    _LoadMail();

-    m_specsCount = fields[41].GetUInt32();
-    m_activeSpec = fields[42].GetUInt32();
+    m_specsCount = fields[59].GetUInt32();
+    m_activeSpec = fields[60].GetUInt32();
    /*delete result;*/

Link to comment
Share on other sites

From 459161dbba9a350ecdae1f0cc2b12d2ae3f0a3b8 Mon Sep 17 00:00:00 2001
From: beleko <[email protected]>
Date: Mon, 25 Jan 2010 09:25:45 +0100
Subject: [PATCH] {289] Fix Character Create and Crash when you logged in the World ! Thanks lecails for Help

Signed-off-by: beleko <[email protected]>
---
.../character_updates_dual_spec.sql                |    2 +-
src/game/Player.cpp                                |    7 ++++---
src/shared/revision_nr.h                           |    2 +-
3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/sql/evo-X Updates/Dual_Specialization/character_updates_dual_spec.sql b/sql/evo-X Updates/Dual_Specialization/character_updates_dual_spec.sql
index 81cb7ea..b0f167a 100644
--- a/sql/evo-X Updates/Dual_Specialization/character_updates_dual_spec.sql    
+++ b/sql/evo-X Updates/Dual_Specialization/character_updates_dual_spec.sql    
@@ -36,7 +36,7 @@ DELETE FROM `character_spell` WHERE `spell` IN (12505,12522,12523,12524,12525,12

DELETE FROM `character_spell` WHERE `spell` IN (3674,5420,9800,19263,20927,20928,20929,20930,24905,27174,27179,31904,32699,32700,33072,33891,34123,48359,48824,48825,48826,48827,48951,48952,50170,50171,50172,50306,50536,51373,51374,51375,51376,51378,51379,52881,53640,55265,55270,55271,57019,57224,62795,63668,63669,63670,63671,63672,64299,65139);

-ALTER TABLE `characters` ADD `speccount` tinyint(3) unsigned NOT NULL default 1 AFTER `arena_pending_points`;
+ALTER TABLE `characters` ADD `speccount` tinyint(3) unsigned NOT NULL default 1 AFTER `power7`;
ALTER TABLE `characters` ADD `activespec` tinyint(3) unsigned NOT NULL default 0 AFTER `speccount`;

ALTER TABLE `character_action` RENAME `character_action_old`;
diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index b556156..c82c968 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -14800,7 +14800,7 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder )
    //"resettalents_time, trans_x, trans_y, trans_z, trans_o, transguid, extra_flags, stable_slots, at_login, zone, online, death_expire_time, taxi_path, dungeon_difficulty,"
    // 40           41                42                43                    44          45          46              47           48               49              50
    //"arenaPoints, totalHonorPoints, todayHonorPoints, yesterdayHonorPoints, totalKills, todayKills, yesterdayKills, chosenTitle, knownCurrencies, watchedFaction, drunk,"
-    // 51      52      53      54      55      56      57      58
+    // 51      52      53      54      55      56      57      58      59      60
    //"health, power1, power2, power3, power4, power5, power6, power7, speccount, activespec FROM characters WHERE guid = '%u'", GUID_LOPART(m_guid));
    QueryResult *result = holder->GetResult(PLAYER_LOGIN_QUERY_LOADFROM);

@@ -15218,7 +15218,7 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder )

    m_specsCount = fields[41].GetUInt32();
    m_activeSpec = fields[42].GetUInt32();
-    delete result;
+    /*delete result;*/

    // sanity check
    if (m_specsCount > MAX_TALENT_SPECS || m_activeSpec > MAX_TALENT_SPEC ||
@@ -16496,7 +16496,8 @@ void Player::SaveToDB()

    for(uint32 i = 0; i < MAX_POWERS; ++i)
        ss << "," << GetPower(Powers(i));
-
+        
+    ss << ", ";
    ss << uint32(m_specsCount);
    ss << ", ";
    ss << uint32(m_activeSpec);

and

From 855ed8a15e109d12bdde331fe28553760903ee5f Mon Sep 17 00:00:00 2001
From: beleko <[email protected]>
Date: Mon, 25 Jan 2010 12:49:30 +0100
Subject: [PATCH] [291] More DualSpec Updates Thanks ganjoula

Signed-off-by: beleko <[email protected]>
---
src/game/Player.cpp      |    4 ++--
src/shared/revision_nr.h |    2 +-
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/game/Player.cpp b/src/game/Player.cpp
index c82c968..34b8ccc 100644
--- a/src/game/Player.cpp
+++ b/src/game/Player.cpp
@@ -15216,8 +15216,8 @@ bool Player::LoadFromDB( uint32 guid, SqlQueryHolder *holder )
    // Mail
    _LoadMail();

-    m_specsCount = fields[41].GetUInt32();
-    m_activeSpec = fields[42].GetUInt32();
+    m_specsCount = fields[59].GetUInt32();
+    m_activeSpec = fields[60].GetUInt32();
    /*delete result;*/

thx! yeah! fix! but another problem.. check dual talent topic

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