Azerothcore-wotlk: [Core] No crash-reports being produced on crash

Created on 14 Oct 2019  路  20Comments  路  Source: azerothcore/azerothcore-wotlk

SMALL DESCRIPTION:

There are no .dmp and .txt files generated in the /Crashes/ folder anymore when the server crashes, this issue started sometime during the past 6 months.

STEPS TO REPRODUCE THE PROBLEM:
  1. Open instance_molten_core.cpp
  2. On line 57, inside the "OnPlayerEnter" function, add the code:
    Player* crash = NULL;
    crash->SetAcceptWhispers(true);
  3. Build and run the server, in-game do ".gm on", ".tele moltencore", and then walk inside Molten Core, causing the server to crash.
  4. Look in the /Crashes/ folder and see if any .dmp or .txt files were generated for the crash.
EXTRA NOTES:

So this issue started for me a couple of months ago when I rebased my project on latest AC at the time, though I didn't notice it until recently. I tried installing a complete fresh AC on latest revision and I experience the exact same issue there. I do have an older project thought that is based on an almost 1 year old version of AC, and that project works just fine in generating crash-reports. So something happened in AC recently that caused crash-reports to not be generated.

It might be that this is config-related, and that somehow I need to enable this one my end. If that's the case I appreciate any help anyone can provide in pointing out how I enable it. I did ask about it on Discord and received no responses so I figured I'd report it here instead.

BRANCH(ES):

master

AC HASH/COMMIT:

003e8fa4598bcbbc28367b752c1183fed84a72f8

OPERATING SYSTEM:

Windows 10, latest updates.

MODULES:

None, able to reproduce on completely fresh AC.

OTHER CUSTOMIZATIONS:

None, able to reproduce on completely fresh AC.

Most helpful comment

Okay, I found a reason. I'll create a PR tomorrow.

Revision: AzerothCore rev. 6abed3a88baa+ 2019-10-18 06:46:25 +0000 (master branch) (Win64, RelWithDebInfo)
Date 19:10:2019. Time 3:17 
//=====================================================
*** Hardware ***
Processor: AMD Ryzen 5 3550H with Radeon Vega Mobile Gfx  
Number Of Processors: 8
Physical Memory: 6223524 KB (Available: 1067576 KB)
Commit Charge Limit: 18282148 KB

*** Operation System ***
Windows 10 Home Edition (Version 10.0, Build 18362)

//=====================================================
Exception code: C0000005 ACCESS_VIOLATION
Fault address:  00007FF73FB5D6D1 01:00000000007CC6D1 D:\Core\Azeroth_Clean\worldserver.exe

Registers:
RAX:0000000000000000
RBX:0000000000000002
RCX:0000000000000000
RDX:000000000000000A
RSI:000000005DAA1DB9
RDI:000001F055F0E2C8
R8: 000001F07B6855D0
R9: 000001F04DE0C670
R10:0000008F358FF690
R11:0000000000000000
R12:000001F04E1D7E50
R13:000001F0255F6570
R14:000001F01A33E420
R15:0000000000000001
CS:RIP:0033:00007FF73FB5D6D1
SS:RSP:002B:00000000358FF670  RBP:358FF739
DS:002B  ES:002B  FS:0053  GS:002B
Flags:00010202

Call stack:
Address   Frame     Function      SourceFile
00007FF73FB5D6D1  0000008F358FF690  instance_molten_core::instance_molten_core_InstanceMapScript::OnPlayerEnter+61  D:\Git\azerothcore-wotlk\src\server\scripts\EasternKingdoms\BlackrockMountain\MoltenCore\instance_molten_core.cpp line 58
00007FF73F4BEA6B  0000008F358FF790  InstanceMap::AddPlayerToMap+46B  D:\Git\azerothcore-wotlk\src\server\game\Maps\Map.cpp line 2720
00007FF73F83A639  0000008F358FF890  WorldSession::HandleMoveWorldportAckOpcode+2E9  D:\Git\azerothcore-wotlk\src\server\game\Handlers\MovementHandler.cpp line 94
00007FF73F4D67BD  0000008F358FF9C0  WorldSession::Update+38D  D:\Git\azerothcore-wotlk\src\server\game\Server\WorldSession.cpp line 339
00007FF73F4451E6  0000008F358FFA70  World::UpdateSessions+326  D:\Git\azerothcore-wotlk\src\server\game\World\World.cpp line 2636
00007FF73F4440D1  0000008F358FFB00  World::Update+2D1  D:\Git\azerothcore-wotlk\src\server\game\World\World.cpp line 2170
00007FF73F425B00  0000008F358FFBC0  WorldRunnable::run+120  D:\Git\azerothcore-wotlk\src\server\worldserver\WorldThread\WorldRunnable.cpp line 49
00007FF73F99F6FF  0000008F358FFBF0  std::thread::_Invoke<std::tuple<void (__cdecl*)(void *),void *>,0,1>+F  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\thread line 40
00007FFBD2750E72  0000008F358FFC20  _beginthreadex+142
00007FFBD3987BD4  0000008F358FFC50  BaseThreadInitThunk+14
00007FFBD4B0CED1  0000008F358FFCD0  RtlUserThreadStart+21

All 20 comments

```Exception code: C0000005 ACCESS_VIOLATION
Fault address: 00007FF69E205526 01:00000000000B4526 F:azbuildworldserver.exe

Registers:
RAX:00007FF69F065280
RBX:000000000000002D
RCX:000002A26ED95D50
RDX:000002A229EF7C90
RSI:0000000000000199
RDI:0000000000000000
R8: 000002A256724190
R9: 000002A229D53EB0
R10:000000B0A55FF450
R11:0000000000000000
R12:000002A22AFD3318
R13:000002A229EF7C90
R14:000002A22BA99F90
R15:0000000000000001
CS:RIP:0033:00007FF69E205526
SS:RSP:002B:00000000A55FF430 RBP:2C27C570
DS:002B ES:002B FS:0053 GS:002B
Flags:00010206

Call stack:
Address Frame Function SourceFile
00007FF69E205526 000000B0A55FF450 instance_molten_core::instance_molten_core_InstanceMapScript::OnPlayerEnter+6 f:azsrcserverscriptseasternkingdomsblackrockmountainmoltencoreinstance_molten_core.cpp line 54
00007FF69E2BF54C 000000B0A55FF530 InstanceMap::AddPlayerToMap+41C f:azsrcservergamemapsmap.cpp line 2718
00007FF69E7680CF 000000B0A55FF5F0 WorldSession::HandleMoveWorldportAckOpcode+2DF f:azsrcservergamehandlersmovementhandler.cpp line 93
00007FF69E49AC5B 000000B0A55FF700 WorldSession::Update+4BB f:azsrcservergameserverworldsession.cpp line 284
00007FF69E2366E8 000000B0A55FF7C0 World::UpdateSessions+2A8 f:azsrcservergameworldworld.cpp line 2741
00007FF69E235D20 000000B0A55FF820 World::Update+2D0 f:azsrcservergameworldworld.cpp line 2274
00007FF69E20FC1D 000000B0A55FF870 WorldRunnable::run+9D f:azsrcserverworldserverworldthreadworldrunnable.cpp line 45
00007FF69E86CC1F 000000B0A55FF8A0 ACE_Based::Thread::ThreadTask+F f:azsrcserversharedthreadingthreading.cpp line 177
00007FFB5C614E7A 000000B0A55FF8E0 ACE_OS_Thread_Adapter::invoke+7A f:azdepaceliteaceos_thread_adapter.cpp line 101
00007FFBBAA0D9F2 000000B0A55FF910 _o_strncat_s+72
00007FFBBBF57BD4 000000B0A55FF940 BaseThreadInitThunk+14
00007FFBBDACCE71 000000B0A55FF9C0 RtlUserThreadStart+21```

Not confirm.

@LichKing255 What OS are you using? What revision of AC? Any specific settings you've changed in CMake or in the *.conf files?

@LichKing255 What OS are you using? What revision of AC? Any specific settings you've changed in CMake or in the *.conf files?

Win 10 Enterprise 1903, Last revision AC , i just create folder Crashes . if don't have don't save any crash on some OS must create.

@LichKing255 Alright, thanks for the info! I've tried creating the folder manually but that does not work for me either. Also my older AC project which is able to produce crash-reports creates a /Crashes/ folder for me just fine.

I talked to another dev that is working on the same project as me and he is having the exact same issue as me. It has to be some sort of configuration setting then I feel. If no one has any good ideas for what it might be I'll just have to do some binary-searching using older revisions of AC to figure out which commit that broke my crash reports.

@LichKing255 Alright, thanks for the info! I've tried creating the folder manually but that does not work for me either. Also my older AC project which is able to produce crash-reports creates a /Crashes/ folder for me just fine.

I talked to another dev that is working on the same project as me and he is having the exact same issue as me. It has to be some sort of configuration setting then I feel. If no one has any good ideas for what it might be I'll just have to do some binary-searching using older revisions of AC to figure out which commit that broke my crash reports.

compile with RelWithDbInfo or Debug ? what version of Visual Studio ?

compile with RelWithDbInfo or Debug ? what version of Visual Studio ?

Debug, Microsoft Visual Studio Community 2017 Version 15.7.3

compile with RelWithDbInfo or Debug ? what version of Visual Studio ?

Debug, Microsoft Visual Studio Community 2017 Version 15.7.3

test with RelWithDbInfo

test with RelWithDbInfo

For some reason if I try running the AuthServer with RelWithDebInfo or Release I keep getting "wrong password" when trying to log in to WoW. But running AuthServer in Debug mode and running WorldServer in RelWithDebInfo worked fine for me, and when doing so I'm still not getting any crash-reports.

So I decided to bite the bullet and do some binary-search testing of old revisions to figure out exactly which commit breaks crash-reports.

My testing has concluded that dfd034332e7032677302abe76c4cad4486062125 works perfectly, but 2bd998bd4f75e22f174d928c3fe9558ba748a51a is broken and doesn't generate crash-reports for me.

The likely culprit here seems to be eae9affec99181cec14fa4fd0449bb9f8e02565f. I'm terrible when it comes to Environmental stuff like this, so can someone shed some light as to what might be the cause that breaks crash-reports for me with this commit? Is there some added setting in this commit somewhere that needs to be enabled on my end? @Winfidonarleyan

good job @Malow in spotting the faulty commit, I hope @Winfidonarleyan can help with this

I'm experiencing the same issue. Am working on a module and something in one of the module's WorldDatabase.PQuery is causing a crash. I can't quite figure out what is crashing it, so a working crash report would be really handy.

  • OS: CentOS 7
  • Docker: Yes
  • AzerothCore revision : aa07ebf3d207+ 2019-10-17 08:01:18 +0200 (master branch)
  • command to launch: sudo docker-compose up

I did create a /Crashes/ folder in docker/bin/worldserver/ - same directory as the worldserver executable
worldserver exit code:
azerothcore_ac-worldserver_1 exited with code 139
-- just checked /Crashes/ folder and is empty.

@Malow have you by any chance solved this issue too with the VS upgrade?

I try test today (tomorrow)

@FrancescoBorzi This issue persists even after VS upgrade.

I confirm

I am having this same issue. No crashes folder generated upon replicating the steps @Malow outlined.
I am using Visual Studio Community 2017 Version 15.9.10

Hm, confim

Okay, I found a reason. I'll create a PR tomorrow.

Revision: AzerothCore rev. 6abed3a88baa+ 2019-10-18 06:46:25 +0000 (master branch) (Win64, RelWithDebInfo)
Date 19:10:2019. Time 3:17 
//=====================================================
*** Hardware ***
Processor: AMD Ryzen 5 3550H with Radeon Vega Mobile Gfx  
Number Of Processors: 8
Physical Memory: 6223524 KB (Available: 1067576 KB)
Commit Charge Limit: 18282148 KB

*** Operation System ***
Windows 10 Home Edition (Version 10.0, Build 18362)

//=====================================================
Exception code: C0000005 ACCESS_VIOLATION
Fault address:  00007FF73FB5D6D1 01:00000000007CC6D1 D:\Core\Azeroth_Clean\worldserver.exe

Registers:
RAX:0000000000000000
RBX:0000000000000002
RCX:0000000000000000
RDX:000000000000000A
RSI:000000005DAA1DB9
RDI:000001F055F0E2C8
R8: 000001F07B6855D0
R9: 000001F04DE0C670
R10:0000008F358FF690
R11:0000000000000000
R12:000001F04E1D7E50
R13:000001F0255F6570
R14:000001F01A33E420
R15:0000000000000001
CS:RIP:0033:00007FF73FB5D6D1
SS:RSP:002B:00000000358FF670  RBP:358FF739
DS:002B  ES:002B  FS:0053  GS:002B
Flags:00010202

Call stack:
Address   Frame     Function      SourceFile
00007FF73FB5D6D1  0000008F358FF690  instance_molten_core::instance_molten_core_InstanceMapScript::OnPlayerEnter+61  D:\Git\azerothcore-wotlk\src\server\scripts\EasternKingdoms\BlackrockMountain\MoltenCore\instance_molten_core.cpp line 58
00007FF73F4BEA6B  0000008F358FF790  InstanceMap::AddPlayerToMap+46B  D:\Git\azerothcore-wotlk\src\server\game\Maps\Map.cpp line 2720
00007FF73F83A639  0000008F358FF890  WorldSession::HandleMoveWorldportAckOpcode+2E9  D:\Git\azerothcore-wotlk\src\server\game\Handlers\MovementHandler.cpp line 94
00007FF73F4D67BD  0000008F358FF9C0  WorldSession::Update+38D  D:\Git\azerothcore-wotlk\src\server\game\Server\WorldSession.cpp line 339
00007FF73F4451E6  0000008F358FFA70  World::UpdateSessions+326  D:\Git\azerothcore-wotlk\src\server\game\World\World.cpp line 2636
00007FF73F4440D1  0000008F358FFB00  World::Update+2D1  D:\Git\azerothcore-wotlk\src\server\game\World\World.cpp line 2170
00007FF73F425B00  0000008F358FFBC0  WorldRunnable::run+120  D:\Git\azerothcore-wotlk\src\server\worldserver\WorldThread\WorldRunnable.cpp line 49
00007FF73F99F6FF  0000008F358FFBF0  std::thread::_Invoke<std::tuple<void (__cdecl*)(void *),void *>,0,1>+F  C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.23.28105\include\thread line 40
00007FFBD2750E72  0000008F358FFC20  _beginthreadex+142
00007FFBD3987BD4  0000008F358FFC50  BaseThreadInitThunk+14
00007FFBD4B0CED1  0000008F358FFCD0  RtlUserThreadStart+21

@Malow @rbedfordpro @Zausender @ChrisCGalbraith

please test this PR: https://github.com/azerothcore/azerothcore-wotlk/pull/2365

let us know in the PR page if that works for you, so it can be merged and this bug solved.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

STARRHELD picture STARRHELD  路  4Comments

PivanDepolo picture PivanDepolo  路  3Comments

wowmane picture wowmane  路  3Comments

wowissues picture wowissues  路  3Comments

Franklampardst picture Franklampardst  路  4Comments