Page 1 of 2

Crash on Zone

Posted: Sat Apr 03, 2004 5:18 pm
by tonio
Tried setting up the debugger like Lax said... never could get a dissasembly window, and never got green arrows pointing at source code lines... and yes, mq2 was compiled on this computer...

Did get the following lines in debug:
First-chance exception at 0x01aa2e9c (MQ2Map.dll) in eqgame.exe: 0xC0000005: Access violation reading location 0x2a510aec.
First-chance exception at 0x004c5317 in eqgame.exe: 0xC0000005: Access violation reading location 0x00000000.
Hope that helps.

Posted: Sun Apr 04, 2004 5:43 am
by jaq
I also saw some CTD issues while zoning.

Only happend when using MQ2chat as opposed to MQ2chatwnd

If i get a chance tommorow, I'll try and debug to provide more info.

Posted: Fri Apr 09, 2004 9:50 pm
by ChrisCim
Same thing happened with me, I loaded mq2map and debugged and came up with the same output as the orginal poster. Unloaded mq2map and it worked fine, only crashed with MQ2 loaded before starting EQ and while zoning.

Posted: Fri Apr 09, 2004 10:40 pm
by Lax
grats for not giving us what we need or asking how to do it with x debugger

Posted: Sun Apr 11, 2004 7:30 pm
by ChrisCim

Code: Select all

First-chance exception at 0x01aa2e9c (MQ2Map.dll) in eqgame.exe: 0xC0000005: Access violation reading location 0x2a510aec. 
First-chance exception at 0x004c5317 in eqgame.exe: 0xC0000005: Access violation reading location 0x00000000. 

This isn't what you wanted? That is what turned up in output window when I debugged using VC6. I may be new to this, but I am trying my best to learn everything I can about it.

Posted: Sun Apr 11, 2004 7:35 pm
by dont_know_at_all
What's the very first topic in this (MQ2::Bug Reports) forum?

Posted: Sun Apr 11, 2004 7:46 pm
by ChrisCim
Hey don't yell at me I was just quoting the guy 8)

Also, the insturctions are for Visual Studio.NET which I am not using, so I did the best I could using a different program.

Posted: Mon Apr 12, 2004 3:25 am
by Lax
You have visual studio 6, which VS.NET is based on.. You managed to attach the debugger, it's not very difficult to find the stack frame, etc. What are you stuck on?

We still need each piece of info from the list in order to help you.

Posted: Tue Apr 13, 2004 4:08 am
by Flea
I am also using Visual Studio 6.

Ran the debugger.

Found a similar string to the one above, only it concerned MQ2Main.dll, however not the point of this post.

Now, I ran the Dissasembler (Alt+8), it automatically closes upon crash, not revealing any information.

I open "Call Stack", window opens containing the text:

Code: Select all

(call stack unavailable while child is running)
I am no pro using this program, if anyone would like to provide assistance on how I can further attain information on what is causing the crash through the debugger, I would be happy to post my findings. I just am not sure what to do to make the debugger work for me, heh.

Posted: Tue Apr 13, 2004 6:11 am
by Lax
(call stack unavailable while child is running)
That would imply EQ didnt crash, it was still going.

To make it stop on every "Access Violation" instead of possibly continuing...
(VC6): After you've attached to the eqgame.exe process go Debug->Exceptions. The 4th one down should be "C0000005 Access Violation" and it probably says "Stop if not handled". Select it, and then in the "Action" box right above the list click "Stop Always" and then hit the "Change" button. Hit OK.

Posted: Tue Apr 13, 2004 6:23 am
by Lax
I updated the post with information for VS6
http://macroquest2.com/phpBB2/viewtopic.php?t=5786

Posted: Tue Apr 13, 2004 1:16 pm
by ChrisCim
(and for you retarded monkeys, VISUAL C++ 6.0 IS IN THIS CATEGORY
haha - Thanks :D

Posted: Tue Apr 13, 2004 10:37 pm
by weapon
This is where im crashing..

Code: Select all

MQ2MAIN! 0153e7ad()

Code: Select all

 EAX = 00000001 EBX = 07258280 ECX = 00000000 EDX = 00007360 ESI = 00000000 EDI = 001381E2 EIP = 0153E7AD ESP = 001381A4
 EBP = 001399E4 EFL = 00010246 CS = 001B DS = 0023 ES = 0023 SS = 0023 FS = 003B GS = 0000 OV=0 UP=0 EI=1 PL=0 ZR=1 AC=0 PE=1
 CY=0

 0000002C = ????????

 ST0 = -8.04067153930664062e+0001 ST1 = -8.13935012817382812e+0001 ST2 = +3.59999954700469971e-0001
 ST3 = -5.24589657783508301e-0001 ST4 = +0.00000000000000000e+0000 ST5 = +0.00000000000000000e+0000
 ST6 = +0.00000000000000000e+0000 ST7 = +0.00000000000000000e+0000 CTRL = 0C7F STAT = 0127 TAGS = FFFF EIP = 005A3C93
 CS = 001B DS = 0023 EDO = 0013DA38

Posted: Tue Apr 13, 2004 10:39 pm
by Lax
Sorry, that doesnt help.
We need the source line and call stack (at LEAST the call stack) if it's in MQ2, which it is... I cant do much with that ;(

Go down the list of items in the "how to report crash bugs" and get as many of them as possible for me please... instead of the disassembly (which is only useful inside EQ) and the address (which is only useful inside EQ)

Posted: Thu Apr 15, 2004 6:11 am
by Imperfect
This might be a little more along the lines of what Lax is looking for. Well that and I am hitting this bug also with latest :)

What I did to get this for people who are not using VS was to.
1. ntsd -oGgpn eqgame.exe
2. ctrl+c
3. .sympath c:\program files\macroquest2 (note this just happens to be where I put my MQ and symbols at)
EDIT: 3 and a half. oh yeah forgot to put type g and hit enter so the program starts again :)
4. when it crashes type .lines
5. and then kb

Code: Select all

[MQ2]MQ2Map::OnAddSpawn(load)
Access violation - code c0000005 (first chance)
eax=00733834 ebx=00000001 ecx=00000001 edx=00000001 esi=00000000 edi=0b27f318
eip=0303d6bf esp=0012e4dc ebp=0012e610 iopl=0         nv up ei pl nz na po nc
cs=001b  ss=0023  ds=0023  es=0023  fs=003b  gs=0000             efl=00010206
*** WARNING: Unable to verify checksum for C:\Program Files\Macroquest2\MQ2Main.dll MQ2Main!ConColor+f:
0303d6bf 8a96ec010000     mov     dl,[esi+0x1ec]          ds:0023:000001ec=??
0:000> .lines
Line number information will be loaded
0:000> kb
*** WARNING: Unable to verify checksum for .\Macroquest2\MQ2Main.dll
*** WARNING: Unable to verify checksum for .\Macroquest2\mq2map.dll
ChildEBP RetAddr  Args to Child
0012e598 019d17d5 00000000 019d216c 0b27f318 MQ2Main!ConColor+0xf [.\mq2main\mq2utilities.cpp @ 912]
0012e5a0 019d216c 0b27f318 019d410e 00000001 mq2map!IsOptionEnabled+0x25 [.\mq2map\mq2map.h @ 94]
0012e5a8 019d410e 00000001 0b27f318 0b27f318 mq2map!GetSpawnColor+0x4c [.\mq2map\mq2mapapi.cpp @ 709]
0012e5c0 019d12eb 0b27f318 00000000 00f3e9c0 mq2map!AddSpawn+0x7e [.\mq2map\mq2mapapi.cpp @ 145]
0012e5d0 03039c31 0b27f318 00000000 01bc0048 mq2map!OnAddSpawn+0x2b [.\mq2map\mq2map.cpp @ 278]
0012e5e0 0303a895 0b27f318 00000000 01bc0048 MQ2Main!PluginsAddSpawn+0x31 [.\mq2main\mq2pluginhandler.cpp @ 427]
0012e610 0303ab0b 0b27f318 0b27f318 004aba2c MQ2Main!EQPlayerHook__EQPlayer_ExtraDetour+0x15 [.\mq2main\mq2spawns.cpp @ 125]
0012e61c 004aba2c 00000000 00000000 00000001 MQ2Main!EQPlayerHook__EQPlayer_Detour+0x2b [.\mq2main\mq2spawns.cpp @ 144]
*** WARNING: Unable to verify checksum for c:\program files\everquest\eqgame.exe
*** ERROR: Module load completed but symbols could not be loaded for .\everquest\eqgame.exe
WARNING: Stack unwind information not available. Following frames may be wrong.
0012e6e4 004ad256 001a0266 00400000 00733768 eqgame+0xaba2c
00733768 00000000 00000000 00000000 00000000 eqgame+0xad256