Crash on Zone

A forum for reporting bugs NOT related to custom plugins.

Moderator: MacroQuest Developers

tonio
a ghoul
a ghoul
Posts: 117
Joined: Fri Apr 02, 2004 12:57 am
Contact:

Crash on Zone

Post by tonio » Sat Apr 03, 2004 5:18 pm

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.
Tonio

jaq
a ghoul
a ghoul
Posts: 148
Joined: Fri Mar 12, 2004 8:29 am

Post by jaq » Sun Apr 04, 2004 5:43 am

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.

ChrisCim
a lesser mummy
a lesser mummy
Posts: 77
Joined: Sun Feb 29, 2004 2:45 am

Post by ChrisCim » Fri Apr 09, 2004 9:50 pm

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.

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Fri Apr 09, 2004 10:40 pm

grats for not giving us what we need or asking how to do it with x debugger
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

ChrisCim
a lesser mummy
a lesser mummy
Posts: 77
Joined: Sun Feb 29, 2004 2:45 am

Post by ChrisCim » Sun Apr 11, 2004 7:30 pm

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.

User avatar
dont_know_at_all
Developer
Developer
Posts: 5450
Joined: Sun Dec 01, 2002 4:15 am
Location: Florida, USA
Contact:

Post by dont_know_at_all » Sun Apr 11, 2004 7:35 pm

What's the very first topic in this (MQ2::Bug Reports) forum?

ChrisCim
a lesser mummy
a lesser mummy
Posts: 77
Joined: Sun Feb 29, 2004 2:45 am

Post by ChrisCim » Sun Apr 11, 2004 7:46 pm

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.

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Mon Apr 12, 2004 3:25 am

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.
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

Flea
a lesser mummy
a lesser mummy
Posts: 55
Joined: Fri Dec 26, 2003 4:56 am

Post by Flea » Tue Apr 13, 2004 4:08 am

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.

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Tue Apr 13, 2004 6:11 am

(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.
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Tue Apr 13, 2004 6:23 am

I updated the post with information for VS6
http://macroquest2.com/phpBB2/viewtopic.php?t=5786
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

ChrisCim
a lesser mummy
a lesser mummy
Posts: 77
Joined: Sun Feb 29, 2004 2:45 am

Post by ChrisCim » Tue Apr 13, 2004 1:16 pm

(and for you retarded monkeys, VISUAL C++ 6.0 IS IN THIS CATEGORY
haha - Thanks :D

weapon
a ghoul
a ghoul
Posts: 101
Joined: Tue Oct 01, 2002 7:20 pm

Post by weapon » Tue Apr 13, 2004 10:37 pm

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
Last edited by weapon on Wed Apr 14, 2004 12:03 am, edited 4 times in total.

Lax
We're not worthy!
We're not worthy!
Posts: 3524
Joined: Thu Oct 17, 2002 1:01 pm
Location: ISBoxer
Contact:

Post by Lax » Tue Apr 13, 2004 10:39 pm

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)
Lax Lacks
Master of MQ2 Disaster
Purveyor of premium, EULA-safe MMORPG Multiboxing Software
* Multiboxing with ISBoxer: Quick Start Video
* EQPlayNice, WinEQ 2.0

User avatar
Imperfect
Macro Author
Macro Author
Posts: 319
Joined: Fri Jun 14, 2002 1:52 am

Post by Imperfect » Thu Apr 15, 2004 6:11 am

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
Last edited by Imperfect on Thu Apr 15, 2004 5:01 pm, edited 1 time in total.