[Bug Report] v3.5.24 introduces a conflict with AceHook
tflo opened this issue · 24 comments
What game version did the bug occur in?
Retail
Troubleshooting
- I have verified that BlizzMove is up to date.
- I have tried to reproduce the bug with no other addons loaded.
- I have verified that the issue hasn't yet been reported.
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."
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 "=[C]"]: ?
[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 "=[C]"]: ?
[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."
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...
@raysmith59, for you it's also only with Blizz Move 3.5.24, or with the previous version (3.5.23) too?
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
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.
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.
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…
and this does not happen with no other addons enabled, or with an older blizzmove version?
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…
I now reloaded with BM, BugSack, and BattlePetCount as the AceHook lib provider, and I get the error again. Reproducible.
And the AceHook versions are the same:
-- @release $Id: AceHook-3.0.lua 1284 2022-09-25 09:15:30Z nevcairiel $
Weird…
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)
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.
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.
if BM + BattlePetCount is reproduceable
It seems to be reproducible, yes. It's BattlePetCountNG.
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