celguar / mangosbot-bots

Bot AI Core from ike3 for cmangos/mangos classic/tbc/wotlk
https://github.com/cmangos/playerbots
85 stars 42 forks source link

[WotLK] Client crash in Alterac Valley #338

Open Karth-Xyver opened 6 months ago

Karth-Xyver commented 6 months ago

I didn't manage to track down the reason for this yet, and I am not yet sure if this is a CMaNGOS issue or a PlayerBot issue, so for now I'm posting this here.

Sometimes, in Alterac Valley, the WotLK client crashes with this error:

ERROR #132 (0x85100084) Fatal Exception
Program:    C:\World of Warcraft\Wow.exe
Exception:  0xC0000005 (ACCESS_VIOLATION) at 0023:00530475

The instruction at "0x00530475" referenced memory at "0x00000000".
The memory could not be "read".

WoWBuild: 12340
Realm: MaNGOS [127.0.0.1:8085]
Local Zone: Iceblood Graveyard, Alterac Valley
Local Player: Norael, 0000000000002712, (-550.787,-383.995,50.2694)

If I start an Alterac Valley with an Horde character, then go to Iceblood Graveyard (.go xyz -550.787,-383.995,50.2694) and wait there for around half an hour (I disabled the kick out of BG on AFK to test this), it will crash the client eventually.

It does not always happen, maybe one time out of three battlegrounds, and it seems to happen near the end (had one at 100 reinforcements left and one at 8 left) which makes this hell to try to reproduce.

Also, when this happens, relogging and writing something to chat will crash the client again with the exact same error. BUT if you wait around five minutes and log back in, it won't crash anymore. It might be caused by the session timing out and being destroyed which also clears whatever causes the client to crash?

I'm sorry I can't offer more details for now.

celguar commented 6 months ago

Hello, couple things 1) What happens if you don't go to graveyard, don't wait for half an hour and dont disable kick from BG? 2) If you get such error, you can try temp fix:

# 1) play 2) get crash 3) login back 4) dont say or move 5) esc - logout 6) leave char selection to login pass screen 7) login

Karth-Xyver commented 6 months ago

Thanks for the temp fix, I will try that the next time!

So yeah, it crashed in the middle area too. Reinforcements were around 350, so the battleground was halfway through. I just parked the character nearby while the bots killed each other.

I reverted my changes for this test, but made it so the server would automatically log packets for my account so I could get a packet log from the crash.

This is the full log (It's like 20 minutes of 40vs40 AV so it's very long, just uploading it in case it can be helpful somehow. I crashed, relogged, crashed again by writing in chat, got kicked out of server right after relogging, then logged back without crashing, in this exact order. I hope it makes sense): World_parsed.zip

And this is the section of the packet log where it crashed after I logged back in and wrote in chat. I feel like this could be helpful to find out why it crashes the client, but I couldn't find anything wrong or strange... https://gist.github.com/Karth-Xyver/ba78280020d4ad512abcaaf453c8aad8

celguar commented 6 months ago

Yeah is a tough one. Could be anything really. In 2021-2023 we had an ever lasting crash in any BG or raid that was caused by shadow priest in shadowform drinking potions. We only figured it out after someone noticed shadow priests cause it...

Karth-Xyver commented 6 months ago

Do you perhaps remember how it was fixed? Didn't find anything about that in commit messages. It could be something similar... at this point I'm throwing random things at it and see if anything sticks. I don't get crashes on other battlegrounds but that could be because they don't last as long as a 40vs40 AV...