ItsBexy / CrossUp

9 stars 2 forks source link

[Bug] Client crashes and unable to disable plugin #15

Closed 8bitnacho closed 1 year ago

8bitnacho commented 2 years ago

Hey, so first off this is the plugin of my dreams. Unfortunately I have been experiencing a lot of client crashes since installing it. I even tried to disable the plugin but I am getting persistent errors that the plugin couldn't be unloaded. Screenshot 2022-05-30 060845

ItsBexy commented 2 years ago

Thanks for letting me know! I also received a Feedback message via Dalamud that might have been you? If so, I think I know what's up.

Judging by the stack trace that was sent, I'm thinking the plugin was attempting to run one of its color functions at a time when the Cross Hotbar did not exist (such as while logged out). Because I hadn't sufficiently null-checked in that function, trying to recolor the nonexistent UI nodes was resulting in an error. The plugin always runs those color functions on disposal (so as to restore the colors to normal when the plugin is uninstalled), so if they fail there, disposal would also fail, which in turn meant the plugin couldn't properly load or unload from that point onward.

As it happens, I've pushed a new version (0.3.0.0) this morning, with a LOT of refactoring and reorganization under the hood, and among other things, those rewritten functions now include proper checks. Once that version shows up on Dalamud, let me know if you can successfully update to it, and whether the issue persists once you do.

(Or, if you'd like to grab the new version ASAP, you can add https://raw.githubusercontent.com/ItsBexy/BexyPlugins/main/pluginmaster.json to your Custom Repositories in the Experimental Settings tab)

ItsBexy commented 2 years ago

I've implemented further fixes and contingencies for this issue in 0.3.1.0-- more checks, more exception handling, and so forth. I believe there are also some incoming changes to Dalamud which are meant to help with failed uninstallations for plugins in general.

For my own part, I put the new version through its paces by rapidly installing/uninstalling it in various situations, and it always seemed to pass that trial by fire, but definitely let me know if you're still bumping into trouble.

8bitnacho commented 2 years ago

Thanks for letting me know! I also received a Feedback message via Dalamud that might have been you? If so, I think I know what's up.

Judging by the stack trace that was sent, I'm thinking the plugin was attempting to run one of its color functions at a time when the Cross Hotbar did not exist (such as while logged out). Because I hadn't sufficiently null-checked in that function, trying to recolor the nonexistent UI nodes was resulting in an error. The plugin always runs those color functions on disposal (so as to restore the colors to normal when the plugin is uninstalled), so if they fail there, disposal would also fail, which in turn meant the plugin couldn't properly load or unload from that point onward.

As it happens, I've pushed a new version (0.3.0.0) this morning, with a LOT of refactoring and reorganization under the hood, and among other things, those rewritten functions now include proper checks. Once that version shows up on Dalamud, let me know if you can successfully update to it, and whether the issue persists once you do.

(Or, if you'd like to grab the new version ASAP, you can add https://raw.githubusercontent.com/ItsBexy/BexyPlugins/main/pluginmaster.json to your Custom Repositories in the Experimental Settings tab)

I completely forgot to reply to this. Yeah, that was me who submitted the report through Dalamud as well. I haven't played FFXIV for a week or so due to my gaming group's current V Rising addiction, but I'll give it another shot whenever Dalamud recovers from the 6.15 update.

Thanks for keeping me posted on this. This is a great plugin and really helps me out a lot.

nativepapaya commented 2 years ago

Hello!

I am also having issue with the plugin. It seems to install fine but it crashes as soon as I press any crossbar hotkeys. I also cannot open the configuration menu.