Errors Not sure where to go from here. Crashes via 2 plugins
Reply
Not sure where to go from here. Crashes via 2 plugins
I've gone through the basics of troubleshooting. Break out the mq.ini file, remove plugins and sort through what ones crash and what ones don't. At this point, I'm unsure if the mq2melee plugin is crashing based on the reasons I've read here in other posts. It was all working fine until march first naught but 2 days prior.

Here's the information I've managed to glean.

Mq2melee crashes the clients when it's loaded prior to login or from the command window after login.

Mq2Hud crashes the clients when loaded with my hud file found here but doesn't crash anything while that custom hud isn't loaded.

I have used two packages from the downloads section. KMRA and classic for ROF2.

I haven't talked to the server admin yet, but I don't see anything from his discord about updating anything that would possibly affect anything. Certainly not within 24 hours from when these problems started.

If anyone has any idea, I'm all over trying anything to fix this, aside from formatting.

Edit: Downloaded a fresh rof2 client, loaded it all up and ran mq on character select. one character was able to connect, the rest were physically there, but stuck in a load loop. Windows task manager said the clients were not responding, which doesn't mean a lot considering windows, but figured I'd mention it.
Tue Mar 03, 2020 6:05 pm
Want to try and capture a crash dump and send it to me for analysis

http://mqemulator.net/forum2/viewtopic.php?t=1607
Wed Mar 04, 2020 8:06 am
Project Lead
Sent it all. Weirdly enough, a single client fully loaded before mq2 is launched doesn't crash. Attempting to figure out what the limits are of doing that. could be limited to a single client or something else.

EDIT: Seems after loading up all the clients and then launching mq2. None of the clients crash upon loading mq2melee or mq2hud. This is, ofcourse, after I pulled out a fresh client and fresh mq2 classic build. The clients still get stuck in a load loop crash if mq2 is loaded before the characters are fully loaded in.
Wed Mar 04, 2020 9:00 am
So when I load the debug file up it typically shows a list of addresses, like breadcrumbs that trace through the function calls that lead to the crash. I can take those addresses, and if they are in an MQ library I can actually see the line of code it crashed on. Or, if its in an eq library, I can decompile that library and at least see the line of assembly it crashed on.

Sometimes when it crashes that list of addresses is collapsed into a single address, all the breadcrumbs have been lost so we just have the exit point only. That's the case with the dump you ended up with. The address is in eqgame.exe and the address is inside of MiniDumpWriteDump, which is the chunk of code that writes the debug dump file.

Someone wiser than me probably knows why that happens, but basically its supposed to collect the data of where it crashed and then output it with the dump code, instead its showing the dump code IS the location where it crashed--not helpful.

I tried to recreate the crash and couldnt get it to occur. In the past, with custom servers we've often gotten crashes that get traced back to the custom data. Some plugin is expecting an ability or a spell to exist when it doesn't; everything collapses inelegantly. With custom servers thats my immediate suspicion, especially when I can't recreate it.

Can you try it with a clean mq2hud ini file? Sort of the way you widdled down to figure out which plugin caused it (adding and removing components), maybe you could see which line in the hud is causing it.

If it turns out its this (for example):
LBnotready=3,620,530,0,255,255,${If[!${Me.AltAbilityReady[Life Burn]},${Me.AltAbilityTimer[Life Burn].TimeHMS},]}

Id be curious if you could get it to crash without even having mq2hud loaded by simply doing an echo of one of those values:
/echo ${Me.AltAbilityReady[Life Burn]}

I'm guessing based off your description that you were using a build from here for awhile, and without changing anything (no downloading a new build, no new custom spell file) it just broke all of a sudden? Did you move to a new zone, or add some new ability/spell to your characters/ini files?
Fri Mar 06, 2020 10:47 am
Project Lead
Wouldn't mind taking a second or third shot at a debug.dmp file if you get it to crash in a slightly different way too. Like maybe if you get it to crash after logging in.
Fri Mar 06, 2020 10:49 am
Project Lead
Initially this started a month or so before the major crashes with a cleric and shaman character. After setting them to not use the hud file, they worked fine. No other changes happened aside from that.

I did some whittling on the hud file for a bit. I removed everything except the elements section. It would still crash once mq2hud loaded.
I did try to bare bones it with a downloaded build form here without anything added. It would still crash on loading mq2hud and mq2melee (for whatever reason). Didn't ever get to test them together, mq2melee would boot me to character select then start a load loop then crash, mq2hud would just CtD.

My gut tells me that crashing in the same place must have done something that the new mq2 build picked up and replicated. Not sure if that's even possible, but I found the work around below because of that.

The build I've been using is probably at least 3 years old, and over time I added more and more to the ini files depending on the server I played on. Messing with down and holy flags in mq2melee and adding things like the gift of mana proc to mq2hud. Nothing since I started on this server however. I used the same mq2hud file on 4 or 5 other servers without having an issue, but I did run a necromancer on most of those so that could be an issue.

I found a work around (kinda) by loading the clients up and moving them somewhere, then loading mq2 which didn't crash even with the old hud file. I haven't been brave enough to log out yet, but I'll be doing just that here shortly as I'm gearing up for a short term move. I'll see if I can recreate the crash a few different ways including calling that echo.

Weirdly enough, that hud file I posted to pastebin isn't complete. It seems to have cut off all the character data at the bottom, maybe I missed that on the copy over, not sure. Don't know if that would cause the problem, it's pretty long but it's the same thing over and over.
Fri Mar 06, 2020 4:17 pm
Try turning the zone hud off, i have found certain characters can crash but don't if turned off, you can turn off on individual chars, but as it looks like you don't use custom zone huds, so just turn off the global setting and see it it helps

May not work, but worth a try
Fri Mar 06, 2020 5:04 pm
Turning off the zone hud is good advice, honestly everyone should do it. Unfortunately it was one of the first things I did. In order to do it properly, I had to edit the ini and each character's entry had to be turned off as well as the global entry. The pastebin hud text is how it was when the crashes started and has since changed. Didn't seem to help much, but I never really bothered with zone entries for huds, didn't see a point to the feature.

Thanks for chiming in, hopefully we can figure out wtf is going on and fix it so people in the future can fix theirs..XD

EDIT:
I have encountered the issue again, making a copy of the files to send again. This time I'm going to load the same build of mq2 and clients one at a time and see what's going on. More than likely it'll still point to something with the hud file like last time, I was using the old hud file trying to make it crash. This time I'm removing all of the non-essential items from the hud file and we'll see how it goes.

Followup: no crashes yet hud file reduced to just elements and clients are playing nice. Echoed that lifeburn on each client and it just returns a null value (obviously cause no necros) but no crash.
One more thing about the crashes, it starts with the loss of connectivity. One client will lose connection, then pop back to it being fine, then the others will start doing it as well until eventually all crash to character select.
Sat Mar 07, 2020 5:17 am
Looks like that new debug.dmp is kind of the same story, showing the crash is in the debug code. I'm guessing from looking at the debug.dmp that the dump was from a crash that occured during logging into EQ, at char select. Can you try to collect a debug.dmp from once you're already in the game. Can you login, get all the way into the game, and then load your custom HUD to trigger a crash, and see if it spits out a debug.dmp?

There's just so little to go on unfortunately. Did you have any lucky trying to narrow it down to the specific piece of your custom hud that was causing the crash?

The only breadcrumb I see is in the debug.txt, it looks like it was in the process of loading the character select UI. Does your client have any tweaks to it, specifically the UI, or do you have a custom UI?
Sun Mar 08, 2020 10:16 am
Project Lead
The client is pretty much bare bones. Aside from the server resource files, nothing is changed. After I removed the class sections of the hud file crashes haven't happened. So whatever the issue is, it's probably in that section. When I have time I'll load up the old hud file and see if I can get another crash going.

Over the course of the last 24 hours, it hasn't crashed aside from losing connection cause the wifi here sucks.
Sun Mar 08, 2020 4:53 pm
Is the part you removed in here somewhere?


Macro
More +
[MQ2HUD]
Last=Elements
SkipParse=5
CheckINI=10
UpdateInBackground=off
ClassHUD=on
ZoneHUD=on
UseFontSize=off

[SK]

Soul Carapace=3,520,530,255,255,255,Soul Carapace:
Soul Carapaceready=3,620,530,0,255,0,${If[${Me.CombatAbilityReady[Soul Carapace]},Ready,]}
Soul Carapacenotready=3,620,530,0,255,255,${If[!${Me.CombatAbilityReady[Soul Carapace]},${Me.CombatAbilityTimer[Soul Carapace].TimeHMS},]}

UAD=3,520,542,255,255,255,Unholy Aura:
UADready=3,620,542,0,255,0,${If[${Me.CombatAbilityReady[Unholy Aura Discipline]},Ready,]}
UADnotready=3,620,542,0,255,255,${If[!${Me.CombatAbilityReady[Unholy Aura Discipline]},${Me.CombatAbilityTimer[Unholy Aura Discipline].TimeHMS},]}

LC=3,520,554,255,255,255,Leech Curse:
LCready=3,620,554,0,255,0,${If[${Me.CombatAbilityReady[LeechCurse Discipline]},Ready,]}
LCnotready=3,620,554,0,255,255,${If[!${Me.CombatAbilityReady[LeechCurse Discipline]},${Me.CombatAbilityTimer[LeechCurse Discipline].TimeHMS},]}



[Warrior]

Ramp=3,520,530,255,255,255,Rampage:
Rampready=3,620,530,0,255,0,${If[${Me.AltAbilityReady[Rampage]},Ready,]}
Rampnotready=3,620,530,0,255,255,${If[!${Me.AltAbilityReady[Rampage]},${Me.AltAbilityTimer[Rampage].TimeHMS},]}


Defensive=3,520,554,255,255,255,Defensive:
Defensiveready=3,620,554,0,255,0,${If[${Me.CombatAbilityReady[Defensive State]},Ready,]}
Defensivenotready=3,620,554,0,255,255,${If[!${Me.CombatAbilityReady[Defensive State]},${Me.CombatAbilityTimer[Defensive State].TimeHMS},]}

Defensive2=3,520,554,255,255,255,Defensive:
Defensive2ready=3,620,554,0,255,0,${If[${Me.CombatAbilityReady[Stonewall Discipline]},Ready,]}
Defensive2notready=3,620,554,0,255,255,${If[!${Me.CombatAbilityReady[Stonewall Discipline]},${Me.CombatAbilityTimer[Evasive Discipline].TimeHMS},]}

AreaTaunt=3,520,578,255,255,255,Furious:
AreaTauntready=3,620,578,0,255,0,${If[${Me.CombatAbilityReady[Furious Discipline]},Ready,]}
AreaTauntnotready=3,620,578,0,255,255,${If[!${Me.CombatAbilityReady[Furious Discipline]},${Me.CombatAbilityTimer[Furious Discipline].TimeHMS},]}


[Monk]



DF=3,520,530,255,255,255,Destructive Force:
DFready=3,620,530,0,255,0,${If[${Me.AltAbilityReady[Destructive Force]},Ready,]}
DFnotready=3,620,530,0,255,255,${If[!${Me.AltAbilityReady[Destructive Force]},${Me.AltAbilityTimer[Destructive Force].TimeHMS},]}




[Necro]


CS1=3,700,510,255,255,255,  ~~~~~ CASTING ~~~~~
CS2=3,700,522,255,255,255,Cast Effect: ${If[${Cast.Effect.ID},${Cast.Effect.Name},NONE]}
CS3=3,700,534,255,255,255,Cast Timing: ${Cast.Timing}
CS4=3,700,546,255,255,255,Cast Ready : ${Cast.Ready}
CS5=3,700,558,255,255,255,Cast Status: ${Cast.Status}
CS6=3,700,570,255,255,255,Cast Result: ${Cast.Result}
CS7=3,700,582,255,255,255,Cast Stored: ${If[${Cast.Stored.ID},${Cast.Stored.Name},NONE]}

LB=3,520,530,255,255,255,Life Burn:
LBready=3,620,530,0,255,0,${If[${Me.AltAbilityReady[Life Burn]},Ready,]}
LBnotready=3,620,530,0,255,255,${If[!${Me.AltAbilityReady[Life Burn]},${Me.AltAbilityTimer[Life Burn].TimeHMS},]}

MC=3,520,542,255,255,255,Mend Companion:
MCready=3,620,542,0,255,0,${If[${Me.AltAbilityReady[Replenish Companion]},Ready,]}
MCnotready=3,620,542,0,255,255,${If[!${Me.AltAbilityReady[Replenish Companion]},${Me.AltAbilityTimer[Replenish Companion].TimeHMS},]}

SOD=3,520,554,255,255,255,Swarm of Decay:
SODready=3,620,554,0,255,0,${If[${Me.AltAbilityReady[Swarm of Decay]},Ready,]}
SODnotready=3,620,554,0,255,255,${If[!${Me.AltAbilityReady[Swarm of Decay]},${Me.AltAbilityTimer[Swarm of Decay].TimeHMS},]}

wtd=3,520,566,255,255,255,Wake the Dead:
wtdready=3,620,566,0,255,0,${If[${Me.AltAbilityReady[Wake the Dead]},Ready,]}
wtdnotready=3,620,566,0,255,255,${If[!${Me.AltAbilityReady[Wake the Dead]},${Me.AltAbilityTimer[Wake the Dead].TimeHMS},]}

[Caster]

CS1=3,700,510,255,255,255,  ~~~~~ CASTING ~~~~~
CS2=3,700,522,255,255,255,Cast Effect: ${If[${Cast.Effect.ID},${Cast.Effect.Name},NONE]}
CS3=3,700,534,255,255,255,Cast Timing: ${Cast.Timing}
CS4=3,700,546,255,255,255,Cast Ready : ${Cast.Ready}
CS5=3,700,558,255,255,255,Cast Status: ${Cast.Status}
CS6=3,700,570,255,255,255,Cast Result: ${Cast.Result}
CS7=3,700,582,255,255,255,Cast Stored: ${If[${Cast.Stored.ID},${Cast.Stored.Name},NONE]}

[Elements]
TargetInfo1=3,380,80,255,255,255,Target ID: ${Target.ID} | Name: ${Target.Name} | Lvl: ${Target.Level} | Race: ${Target.Race} | Class: ${Target.Class} | Type: ${Target.Type} | ${If[${Target.GuildStatus.NotEqual["NULL"]},(-${Target.GuildStatus}-,]} ${If[${Target.Guild.NotEqual["NULL"]},(${Target.Guild}) |,]}
     TargetInfo2=3,380,170,255,255,255,Target Direction: ${Target.HeadingTo} | Target Distance: ${Target.Distance} | Target RunSpeed: ${Target.Speed} | Target Loc: ${Target.Y}, ${Target.X}, ${Target.Z}

Time=3,220,214,0,255,0,Time: ${Time}

giftofmana=3,520,510,0,255,0,${If[${Me.Song["Gift of Mana"].ID}&&(${MacroQuest.Running}/100)%2,gift of mana active,]}

CursorItemName=7,-15,-15,255,255,255,${If[${Cursor.ID},${Cursor},]}

NS=3,220,38,255,0,0,~~~~ Named Spawns ~~~~
        Spawn5=3,220,56,255,255,0,#1    ${If[${NearestSpawn[1,npc #].Name.NotEqual["NULL"]},${NearestSpawn[1,npc #].Level},]} - ${If[${NearestSpawn[1,npc #].Name.NotEqual["NULL"]},${NearestSpawn[1,npc #].Name},]}
        Spawn6=3,220,68,255,255,0,#2    ${If[${NearestSpawn[2,npc #].Name.NotEqual["NULL"]},${NearestSpawn[2,npc #].Level},]} - ${If[${NearestSpawn[2,npc #].Name.NotEqual["NULL"]},${NearestSpawn[2,npc #].Name},]}
        Spawn7=3,220,80,255,255,0,#3    ${If[${NearestSpawn[3,npc #].Name.NotEqual["NULL"]},${NearestSpawn[3,npc #].Level},]} - ${If[${NearestSpawn[3,npc #].Name.NotEqual["NULL"]},${NearestSpawn[3,npc #].Name},]}

AS=3,220,104,255,0,0,~~~~ Closest Mobs ~~~~
        Spawn1=3,220,116,255,255,0,${If[${NearestSpawn[1,npc named].Name.NotEqual["NULL"]},${NearestSpawn[1,npc named].Level} - ${NearestSpawn[1,npc named].Name},]}
        Spawn2=3,220,128,255,255,0,${If[${NearestSpawn[2,npc named].Name.NotEqual["NULL"]},${NearestSpawn[2,npc named].Level} - ${NearestSpawn[2,npc named].Name},]}
        Spawn3=3,220,140,255,255,0,${If[${NearestSpawn[3,npc named].Name.NotEqual["NULL"]},${NearestSpawn[3,npc named].Level} - ${NearestSpawn[3,npc named].Name},]}
        Spawn4=3,220,152,255,255,0,${If[${NearestSpawn[4,npc named].Name.NotEqual["NULL"]},${NearestSpawn[4,npc named].Level} - ${NearestSpawn[4,npc named].Name},]}
Tue Mar 10, 2020 5:02 pm
Project Lead
No, that part needs to stay in for it to all work afaik. Here is the current hud file I'm working with. I haven't been able to get it to crash over the last few days after I changed the hud file out. Running out of ideas on how to crash it other than the loading loop that happens.
Wed Mar 11, 2020 7:17 am
I suppose that’s good that it’s stable hehe. Can you post the removed part that was causing the crash?
Wed Mar 11, 2020 11:18 am
Project Lead
Sorry took me a bit to find some time, finally getting out of a hotel and moving back into my condo after 15 months of people being shot outside the hotel door and the like. Turns out the company assigned to run the property by the HOA let folks into my condo without notifying me and they F U C K E D it all up. /sigh

Anyway, here's the part of the hud file that was causing issues, I think. By no means am I sure this is ACTUALLY the issue, but yeah best I could figure.
Sat Mar 14, 2020 6:21 pm
That sucks. I don’t have many things that get to me, but that would do it.
Mon Mar 16, 2020 7:04 am
Project Lead
Errors Not sure where to go from here. Crashes via 2 plugins
Reply