Ottermandias / AutoVisor

Apache License 2.0
14 stars 7 forks source link

a niche problem -- crashes client #3

Open trailsideNils opened 3 years ago

trailsideNils commented 3 years ago

While sitting on a chair/bench, using a macro to swap classes that includes an emote from the mogstation:

An unexpected error has occurred. Exiting FINAL FANTASY XIV. 2021-07-14_13:11 KERNELBASE.dll +34ED9 clr.dll +1 BF0B1 clr.dll +1F9DOD clr.dll +1F9DB3 clr.dll +1F9DCO clr.dll +6466D1 clr.dll +39ECFO mscorlib.ni.dll +59D884

I've only been able to get this to happen when sitting in a chair and use any of my combat gearswap macros. /snap /gs change 10 /micon GNB classjob

The hand/land macros have not had any issues--even though their sit poses are mapped. I tried using /wave in place of snap, but it wouldn't crash at all. When I swapped it for /eureka, it did crash. Sometimes the game client hard-crashes, sometimes it throws that error message (without crashing the client, but if I okay the error message the client kills itself), but sometimes it just works correctly w/ no issues. It's only ever hard-crashed when I'm in Limsa, could have something to do with the amount of models. Maybe a memory issue or a problem with the client that's only triggered by the simultaneous emote + /cpose?

It's also very repeatable. https://i.imgur.com/TViV2Q2.png

Ottermandias commented 3 years ago

Can you show me your AutoVisor settings, too?

trailsideNils commented 3 years ago

https://i.imgur.com/9n2Ms6J.png If I use the macros too fast, that will also crash the client.

Ottermandias commented 3 years ago

Could reproduce and was a pretty weird crash, I assume due to simultaneous access to certain memory regions by multiple threads, because your current state was wrongly interpreted due to the active emote. I found a way to change the check for the current state independently of current emote (another byte in a very different location) and now your stand/sit/groundsit/doze state should be interpreted correctly even when doing other emotes, this seems to have fixed the crashes for me.