Errors Potential bug when targeting with a range [RoF2]
Reply
Potential bug when targeting with a range [RoF2]
My macros will occasionally crash, and I think it has to do with using /target with a range.

I'm playing on PEQ, and there's a rule there that you can't use /target across the zone, so I added an MQ2 alias: /target=/target radius 200. The crashes are intermittent (it maybe happens once per half hour on one of my casters). I haven't tried reproducing the issue without any plugins loaded or without my macros loaded, so I'm not 100% sure that the target is the issue, but I don't remember it crashing before I added that alias in, and after I went back to target without the radius, I haven't had any crashes.

I'm using the most recent PEQ RoF2 MQ2 compile (from March 11).

I attached a debugger and got the debug output a couple of times. Pasted below in case it's helpful.

Let me know if there's anything I can help with. It's not a huge issue for me anymore, but I thought I would post here in case there's a bug that's affecting other folks.

Thanks!

Macro
More +


First-chance exception at 0x22006469 in eqgame.exe: 0xC0000005: Access violation executing location 0x22006469.
>       22006469()      Unknown
        [Frames below may be incorrect and/or missing] 
        ntdll.dll!_NtDelayExecution@8()        Unknown
        KernelBase.dll!75461182()       Unknown
        ntdll.dll!_NtQueryInformationProcess@20()      Unknown
        KernelBase.dll!7547e3a8()       Unknown
        d3d9.dll!6e94d687()     Unknown
        d3d9.dll!6e94dff2()     Unknown
        d3d9.dll!6e96823d()     Unknown
        ntdll.dll!_NtSetInformationFile@20()   Unknown
        KernelBase.dll!75486e7b()       Unknown
        KernelBase.dll!75472afb()       Unknown
        ntdll.dll!_NtQueryVolumeInformationFile@20()   Unknown
        KernelBase.dll!7546f095()       Unknown
        eqgame.exe!012bee7d()   Unknown
        eqgame.exe!012c43e7()   Unknown
        eqgame.exe!012ad705()   Unknown
        eqgame.exe!00fcb4d4()   Unknown

22006469  add         byte ptr [eax],al  
2200646B  add         byte ptr [eax],al  
2200646D  add         byte ptr [eax],al  
2200646F  add         byte ptr [edi+17C0369Fh],dh  
22006475  test        dword ptr [edx+43h],edx  
22006478  add         byte ptr [eax],al  
2200647A  add         byte ptr [eax],al  
2200647C  add         byte ptr [eax],al  
2200647E  add         byte ptr [eax-4Dh],al  
22006481  cmp         dword ptr [ebp+edi*4],esi  
22006488  add         byte ptr [eax],al  
2200648A  add         byte ptr [edx+66h],66h  


---


[MQ2]WriteChatColor(There are no spawns matching: (0-110) any Radius:200.00 ID:1115)
First-chance exception at 0x22006469 in eqgame.exe: 0xC0000005: Access violation executing location 0x22006469.



>       22006469()      Unknown
        [Frames below may be incorrect and/or missing] 
        MQ2ChatWnd.dll!04d8607c()       Unknown
        MQ2ChatWnd.dll!04d84873()       Unknown
        eqgame.exe!00f0a6c9()   Unknown
        eqgame.exe!00f0e784()   Unknown
        ntdll.dll!_NtQueryInformationProcess@20()      Unknown
        KernelBase.dll!7547e3a8()       Unknown
        KernelBase.dll!7547e476()       Unknown
        d3d9.dll!6e94d687()     Unknown
        d3d9.dll!6e94dff2()     Unknown
        d3d9.dll!6e96823d()     Unknown
        ntdll.dll!_NtSetInformationFile@20()   Unknown
        KernelBase.dll!75486e7b()       Unknown
        KernelBase.dll!75486ea4()       Unknown
        ntdll.dll!_NtQueryVolumeInformationFile@20()   Unknown
        KernelBase.dll!7546f095()       Unknown
        eqgame.exe!012bf348()   Unknown
        eqgame.exe!012bf316()   Unknown
        eqgame.exe!012c43e7()   Unknown
        eqgame.exe!012ad705()   Unknown
        eqgame.exe!00fcb4d4()   Unknown

mq2chatwnd top disass:
04D8606E  push        eax  
04D8606F  call        04D86805  
04D86074  mov         dword ptr [esi],eax  
04D86076  pop         ecx  
04D86077  call        04D8D3F5  
04D8607C  ret  
04D8607D  mov         edi,edi  
04D8607F  push        ebp  
04D86080  mov         ebp,esp  
04D86082  cmp         dword ptr [ebp+8],0  
04D86086  je          04D8609F  
04D86088  push        dword ptr [ebp+1Ch]  
04D8608B  push        dword ptr [ebp+18h]  

bottom disass:
04D8485F  jmp         04D84867  
04D84861  mov         eax,dword ptr ds:[04DAD3ACh]  
04D84866  push        eax  
04D84867  call        dword ptr ds:[4DA6230h]  
04D8486D  call        dword ptr ds:[4DA6174h]  
04D84873  test        al,al  
04D84875  je          04D8488A  
04D84877  mov         ecx,dword ptr ds:[4DADBBCh]  
04D8487D  pop         edi  
04D8487E  pop         esi  
04D8487F  pop         ebp  
04D84880  pop         ebx  

[/syntax]
Mon Jun 01, 2015 10:05 pm
Thanks for the thorough report, next time I have rof2 loaded I'll spam it with some /targets and see if I can get the problem.
Wed Jun 03, 2015 4:30 pm
Project Lead
Thanks!

Some additional detail about when it happens:

* It usually takes about a half hour of regular playing with a 6 box for someone to crash
* Usually, it's one of my casters who crashes. My casters do a /target id some_mob_id when nuking.
* Sometimes, all three casters will crash at the same time, which makes me think it might have to do with some global state. Sometimes, it's only one that crashes, though.
* My looters also sometimes crash. I think that they usually crash at the same time. My looters do a /target corpse radius 100.
Wed Jun 03, 2015 9:39 pm
I vaguely recall some issue with targeting corpses. When your casters crash is it possibly because they went to cast a spell on a mob as it died, resulting in them targeting a corpse?
Thu Jun 04, 2015 9:22 am
Project Lead
That might trigger the issue sometimes, but I don't think that's the whole issue.

If I recall correctly, the casters often crash in the middle of a fight. At least, when I look at the last frame of their screen that properly animated before everything froze, the targeted mob is often partway dead.
Fri Jun 05, 2015 11:43 pm
Errors Potential bug when targeting with a range [RoF2]
Reply