Kiatra / BlizzMove

World of Warcraft add-on to make the default windows movable via drag & drop.
23 stars 9 forks source link

[Bug Report] v3.5.24 introduces a conflict with AceHook #118

Closed tflo closed 7 months ago

tflo commented 7 months ago

What game version did the bug occur in?

Retail

Troubleshooting

Describe the bug.

Does not occur with v3.5.23.

Note that the addon mentioned in the error log (Accountant_Classic) is irrelevant, as it is just the provider of the AceHook library (alphabetically first in the loading order).

Steps to reproduce.

Right after login/reload.

I had to tick the "I have tried to reproduce the bug with no other addons loaded" because it is required to post the ticket(!). But actually this is a conflict with another addon (AceHook), so this does not apply.

Expected behavior.

Should not conflict.

Errors

1x .../Accountant_Classic/Libs/AceHook-3.0-9/AceHook-3.0.lua:180: Attempting to rehook already active hook GetBagsShown.
[string "=[C]"]: ?
[string "@Accountant_Classic/Libs/AceHook-3.0-9/AceHook-3.0.lua"]:180: in function <.../Accountant_Classic/Libs/AceHook-3.0/AceHook-3.0.lua:118>
[string "@Accountant_Classic/Libs/AceHook-3.0-9/AceHook-3.0.lua"]:340: in function `SecureHook'
[string "@BlizzMove/BlizzMove.lua"]:1314: in function `?'
[string "@Accountant_Classic/Libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:109: in function <...sic/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:109>
[string "=[C]"]: ?
[string "@Accountant_Classic/Libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:19: in function <...sic/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:15>
[string "@Accountant_Classic/Libs/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:54: in function `Fire'
[string "@Accountant_Classic/Libs/AceEvent-3.0-4/AceEvent-3.0.lua"]:120: in function <...ccountant_Classic/Libs/AceEvent-3.0/AceEvent-3.0.lua:119>

Locals:
(*temporary) = "Attempting to rehook already active hook GetBagsShown."
Numynum commented 7 months ago

and this does not happen with no other addons enabled, or with an older blizzmove version?

tflo commented 7 months ago

As said, does not occur with v3.5.23. I did not test with older versions before that, but I've never seen the error before, IIRC, and I'm using BM for quite a few years.

If I reload with a minimal addon set (or with only BM and BugSack), the error does not occur. But I guess this is due to the absence of AceHook…

tflo commented 7 months ago

I have to correct myself: If I load only with BM and BugSack and Accountant_Classic (to provide the Ace lib), the error does not occur. So something more must be involved…

Numynum commented 7 months ago

And this is classic yes? (since you selected retail 🙂) we'll take a look

tflo commented 7 months ago

No, this is Retail. I don't play Classic.

tflo commented 7 months ago

Accountant_Classic is a Retail addon, despite the name.

tflo commented 7 months ago

I now reloaded with BM, BugSack, and BattlePetCount as the AceHook lib provider, and I get the error again. Reproducible.

tflo commented 7 months ago

And the AceHook versions are the same:

-- @release $Id: AceHook-3.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $

Weird…

tflo commented 7 months ago

I installed now Ace3-Release-r1320 separately, and the error does not occur.

tflo commented 7 months ago

I just verified again with BM v3.5.23 (because I couldn't believe it), but the error does definitely not occur, even with one of my regular addon sets.

tflo commented 7 months ago

I hope that bug reports by other people will provide a better clue what is going on here, but – for the moment – rolling back to 3.5.23 seems a reasonable thing for me.

Numynum commented 7 months ago

I'll have time to take a look later today probably, but if BM + BattlePetCount is reproduceable on my end, it should be easy enough to debug and fix 👍 (it's not caused by AceHook, but some other quirk, but I'll have to double-check what exactly is happening)

tflo commented 7 months ago

if BM + BattlePetCount is reproduceable

It seems to be reproducible, yes. It's BattlePetCountNG.

tflo commented 7 months ago

More precisely:

BM 3.5.24 alone: No error BM 3.5.24 + Accountant_Classic: No error BM 3.5.24 + BattlePetCountNG: Error with BattlePetCountNG's AceHook as source BM 3.5.24 + Accountant_Classic + BattlePetCountNG: Error with Accountant_Classic's AceHook as source BM 3.5.23 + whatever: No error

raysmith59 commented 7 months ago

I've had this error with 3 addons so far: Better Wardrobe and Transmog, BigDebuffs and now BlizzMove, as I disable them more keep showing up... I don't use BattlePetCountNG so something else is contributing to this for me at least. I'm continuing to test on my end, will follow up.

Here's the error I got in case it's useful:

1x ...ceBlizzMove/Libs/AceHook-3.0-9/AceHook-3.0.lua:180: Attempting to rehook already active hook GetBagsShown.

[string "@BlizzMove/Libs/AceHook-3.0-9/AceHook-3.0.lua"]:180: in function <...ceBlizzMove/Libs/AceHook-3.0/AceHook-3.0.lua:118> [string "@BlizzMove/Libs/AceHook-3.0-9/AceHook-3.0.lua"]:340: in function SecureHook' [string "@BlizzMove/BlizzMove.lua"]:1314: in function?' [string "@AllTheThings/lib/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:109: in function <...ings/lib/CallbackHandler-1.0/CallbackHandler-1.0.lua:109>

[string "@AllTheThings/lib/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:19: in function <...ings/lib/CallbackHandler-1.0/CallbackHandler-1.0.lua:15> [string "@AllTheThings/lib/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:54: in function `Fire' [string "@DataStore/libs/AceEvent-3.0-4/AceEvent-3.0.lua"]:120: in function <DataStore/libs/AceEvent-3.0/AceEvent-3.0.lua:119>

Locals: (*temporary) = "Attempting to rehook already active hook GetBagsShown."

raysmith59 commented 7 months ago

Disabling BlizzMove fixed the errors in the other two add-ons I mentioned above. Seeing if I can figure out the conflict but I have a lot of add-ons, no promises...

tflo commented 7 months ago

@raysmith59, for you it's also only with Blizz Move 3.5.24, or with the previous version (3.5.23) too?

Numynum commented 7 months ago

just go with the previous version of blizzmove for now, and it should be fine

raysmith59 commented 7 months ago

Just 3.5.24, 3.5.23 has no error.

raysmith59 commented 7 months ago

Unfortunately couldn't figure out the specific conflict, tested BlizzMove with batches of other add-ons and didn't get the error so I figure it has to be a 3+ addon conflict... will keep testing for a bit.

Numynum commented 7 months ago

v3.5.25 should be available on CF soon, and fixes the problem

for anyone curious, the issues are caused when an addon using AceEvent, is loaded before BlizzMove, and registers the ADDON_LOADED event this causes our code to run twice, and AceHook to complain that it's already done its job

thanks for the debugging on your ends

raysmith59 commented 7 months ago

Glad to hear it, I had at least a 4-way addon conflict causing my issue and I hadn't figured out the specific combo yet.

tflo commented 7 months ago

Oh, that was fast. Thanks 😃

raysmith59 commented 7 months ago

Confirmed that 3.5.25 works for me.