Will not load since latest master updates
radicaled06 opened this issue ยท 10 comments
Since the master updates roughly 3 hours ago, carbonite is completely broken and will not load at all. #
Error Code:
Date: 2017-08-18 21:21:54
ID: 1
Error occured in: Global
Count: 1
Message: ..\AddOns\Carbonite\Carbonite.lua line 878:
Usage: RegisterEvent("eventname", "methodname"): 'methodname' - method 'CHANNEL_ROSTER_UPDATE' not found on self.
Debug:
[C]: ?
[C]: ?
...ags\libs\CallbackHandler-1.0\CallbackHandler-1.0.lua:138: RegisterEvent()
Carbonite\Carbonite.lua:878: InitEvents()
Carbonite\Carbonite.lua:778: SetupEverything()
Carbonite\Carbonite.lua:1246: NXOnUpdate()
[string ":OnUpdate"]:1:
[string ":OnUpdate"]:1
Update:
Through some trial and error it does seem to be a conflict with my WeakAuras addon. I'm not sure how to fix this?
Line 845 in d91f6bf
It's not a conflict with anything, the error is clear as day. Addon is trying to register the event CHANNEL_ROSTER_UPDATE
with the function Com.OnChannel_roster_update
which doesn't exist, so naturally, AceEvent tries to fall back to finding a function called CHANNEL_ROSTER_UPDATE
which also doesn't exist.
TLDR it's a valid error the authors need to resolve instead of upgrading and then downgrading their ace libraries over and over again.
@IrcDirk You re-upgraded the libraries, you didn't fix the source of the error which I highlighted. If you don't require the event anymore, that line can simply be removed.
It's fixed now, surprised an entirely missing function took 4-5 years to finally produce an error in the code
As for ace libraries.. we shouldn't ever be using alpha code in a public/stable release, no matter what other addons decide to do so.
Well that's strange, after I first posted I did some trial and error and disabled my other addons one-by-one until I found the issue. After disabling WA it worked perfectly fine.
Thanks for the fix, though!
@mikepauer It's actually really simple. AceEvent embeds the function "RegisterEvent" in your addon. However, for whatever unknown reason, you guys create your own version of "RegisterEvent" here:
Line 2766 in 590a02a
This overwrites the AceEvent version, and prevents the error from showing up.
The reason addons with newer versions of AceEvent (such as WeakAuras) revealed this is as follows: When the newer AceEvent loads, it loops through all the addons that embed it, and overwrites the "RegisterEvent" function with the AceEvent one.
Before AceEvent update:
You embed AceEvent.
You overwrite AceEvent's "RegisterEvent" so the error never shows.
After AceEvent update:
You embed AceEvent.
You overwrite AceEvent's "RegisterEvent"
An upgrade happens, and overwrites your version of "RegisterEvent" back to AceEvent's version of it, allowing errors to show once again.
You should probably investigate why you have a function called RegisterEvent when you are embedding AceEvent.
The use if RegisterEvent in said fashion goes back before Carbonite used any Ace libs and is exactly as used during MoP release. Was not changed when the addon was moded with the release of WoD.
So either we could change to AceEvent or stay and drop AceEvent from libs..
Either drop AceEvent and handle events yourself or remove your own RegisterEvent function.
Otherwise this issue will happen again next time there's an AceEvent update.