Krappa322 / arcdps_healing_stats

An addon for ArcDPS that shows personal healing stats
MIT License
61 stars 7 forks source link

Game gets halted for access violation when using this addon in combination with Gw2Launcher #27

Closed UmBottesWillen closed 1 year ago

UmBottesWillen commented 1 year ago

I've detailed the issue in full on the issue tracker of Gw2Launcher, but to sum it up, after setting up Gw2Launcher, my game got suspended for a memory access violation when moving windows or changing settings in ArcDPS. Through process of elimination it seems like this addon is responsible for the access violation, as the issue no longer occurred when it was not installed.

My setup is as follows:

Edit: following is the ArcDPS read of all installed plugins. arcdps log

Edit 2: Using a Just-in-Time debugger confirms that the exception was triggered by the healing stats addon (translated): Thread 0x170 has ended with code 0 (0x0). Exception error at 0x00007FF9178ABF3D (arcdps_healing_stats.dll) in Gw2-64.exe: Severe program termination requested

Krappa322 commented 1 year ago

Hi!

Thanks for reporting

Can you provide me with the arcdps crash log (addons/arcdps/arcdps_lastcrash.log)? Sadly I cannot do anything with the address referenced without knowing the base address for the healing stats addon when it crashed (which is written in the log).

Alternatively, you could get the base address of the module from the debugger

Krappa322 commented 1 year ago

If you let me know what debugger you are using I can help you further on how to collect exactly what I'm looking for

UmBottesWillen commented 1 year ago

Hi, there is no crash log, since Windows killed the process as soon as it tried to call an invalid address. I've been using Visual Studio 2019 Community edition for the JIT debugging.

Krappa322 commented 1 year ago

I think the easiest is probably if you download the pdb: https://kappa322.com/arcdps_healing_stats/2.5rc1/arcdps_healing_stats.pdb

Put that next to the arcdps healing stats dll then take a screenshot of what you see in the "Call Stack" window in Visual Studio

Krappa322 commented 1 year ago

image Something like this

UmBottesWillen commented 1 year ago

Here's the call stack I got. I'll be off for today, if my help is still needed after this, I'll be back tomorrow. call_stack

UmBottesWillen commented 1 year ago

Since I figured the call stack won't be of too much use, I've created memory dumps of the processes in the hopes they'll be more useful.

Thanks to githubs wonderful file size limitation, I had to zip them, split them and then add the trailing `.zip`, so you'll have to remove the last four characters from each file name. The PW is your github name.
Krappa322 commented 1 year ago

Hi, thank you for being helpful :)

However memory dumps are really not something you want to put on the internet. I've edited your comment and removed the links. The memory in question might contain things such as your gw2 password

Krappa322 commented 1 year ago

I can however see that you are actually running multiple instances of healing stats - you have 2.5rc1 installed in bin64 and 2.6rc1 installed in the gw2 root folder

I'll try doing that myself and see if I can reproduce the crash :)

Krappa322 commented 1 year ago

You have similar duplicate instances of all your addons - you might want to have a look at that ;)

Krappa322 commented 1 year ago

Yup that does it, I can reproduce the crash. That should be all I need from you, thank you very much for the report and the help (it's really nice working with someone who knows how to use a debugger!). In the meanwhile you should be able to mitigate the crash by only running one instance of the addon

Arcdps prevents loading the same addon multiple times which is likely why you haven't seen more issues. This looks like it's some bug on my part when the second instance of the addon is only partially loaded

Krappa322 commented 1 year ago

This was determined to be caused by a bug in arcdps