Kiatra / ChocolateBar

ChocolateBar is a World of Warcraft addons to display plugins in a bar on top or bottom of your screen
https://www.wowace.com/projects/chocolatebar
18 stars 9 forks source link

[Bug Report] There are two Mainline.toc files (ChocolateBar_Mainline.toc and ChocolateBar-Mainline.toc) #30

Closed fraerie closed 1 year ago

fraerie commented 1 year ago

What game version did the bug occur in?

Retail

Troubleshooting

Describe the bug.

LUA errors as listed below on log in

Steps to reproduce.

Log into WoW 10.0.1 with ChocolateBar v3.10

Expected behavior.

Not get a bunch of errors on log in

Note - the Unregister error has been persistent since 10.0.5, has been previously tested with no other addons loaded (except Bugsack to capture the issues)

I have manually updated Ace3.0 which appears to be the problematic library across all other installed addons and the issue persists.

Errors

2x Interface\FrameXML\Bindings.xml:1 ChocolateBar/modules/CB_PlayedTime_Options.lua:1 (null)

2x ChocolateBar/modules/CB_PlayedTime_Options.lua:1 (null)

2x ChocolateBar/modules/CB_PlayedTime.lua:106: attempt to call method 'RegisterOptions' (a nil value)
[string "@ChocolateBar/modules/CB_PlayedTime.lua"]:106: in function <ChocolateBar/modules/CB_PlayedTime.lua:98>

Locals:
(*temporary) = nil
(*temporary) = <table> {
}
(*temporary) = <table> {
 Rumer-Saurfang = <table> {
 }
 Noxaura-Saurfang = <table> {
 }
 Felinae-Aman'Thul = <table> {
 }
 Felesmala-Aman'Thul = <table> {
 }
 Emteen-Aman'Thul = <table> {
 }
 Feles-Aman'Thul = <table> {
 }
 Zahara-Aman'Thul = <table> {
 }
 Evelina-Aman'Thul = <table> {
 }
 Wantondamage-Saurfang = <table> {
 }
 Silence-Aman'Thul = <table> {
 }
 Madisynn-Aman'Thul = <table> {
 }
 Kanika-Aman'Thul = <table> {
 }
 Kinbaku-Aman'Thul = <table> {
 }
 Felesbene-Aman'Thul = <table> {
 }
 Jadestream-Aman'Thul = <table> {
 }
}
(*temporary) = "attempt to call method 'RegisterOptions' (a nil value)"
db = <table> {
 Rumer-Saurfang = <table> {
 }
 Noxaura-Saurfang = <table> {
 }
 Felinae-Aman'Thul = <table> {
 }
 Felesmala-Aman'Thul = <table> {
 }
 Emteen-Aman'Thul = <table> {
 }
 Feles-Aman'Thul = <table> {
 }
 Zahara-Aman'Thul = <table> {
 }
 Evelina-Aman'Thul = <table> {
 }
 Wantondamage-Saurfang = <table> {
 }
 Silence-Aman'Thul = <table> {
 }
 Madisynn-Aman'Thul = <table> {
 }
 Kanika-Aman'Thul = <table> {
 }
 Kinbaku-Aman'Thul = <table> {
 }
 Felesbene-Aman'Thul = <table> {
 }
 Jadestream-Aman'Thul = <table> {
 }
}
RequestTimePlayed = <function> defined @ChocolateBar/modules/CB_PlayedTime.lua:11
acetimer = <table> {
 embeds = <table> {
 }
 ScheduleRepeatingTimer = <function> defined @Ailo/Libs/AceTimer-3.0/AceTimer-3.0.lua:129
 CancelAllTimers = <function> defined @Ailo/Libs/AceTimer-3.0/AceTimer-3.0.lua:160
 OnEmbedDisable = <function> defined @Ailo/Libs/AceTimer-3.0/AceTimer-3.0.lua:272
 CancelTimer = <function> defined @Ailo/Libs/AceTimer-3.0/AceTimer-3.0.lua:147
 Embed = <function> defined @Ailo/Libs/AceTimer-3.0/AceTimer-3.0.lua:260
 TimeLeft = <function> defined @Ailo/Libs/AceTimer-3.0/AceTimer-3.0.lua:172
 ScheduleTimer = <function> defined @Ailo/Libs/AceTimer-3.0/AceTimer-3.0.lua:94
 activeTimers = <table> {
 }
}
updateText = <function> defined @ChocolateBar/modules/CB_PlayedTime.lua:88
dataobj = <table> {
}
frame2 = Frame {
 0 = <userdata>
}

825x ChocolateBar/Bar.lua:97: attempt to call method 'Unregister' (a nil value)
[string "@ChocolateBar/Bar.lua"]:97: in function `UpdateJostle'
[string "@ChocolateBar/Bar.lua"]:90: in function `UpdateAutoHide'
[string "@ChocolateBar/Core.lua"]:505: in function `UpdateBars'
[string "@ChocolateBar/Core.lua"]:160: in function <ChocolateBar/Core.lua:156>
[string "=[C]"]: ?
[string "@ArkInventory/Externals/Ace3/AceAddon/AceAddon-3.0-13.lua"]:66: in function <...rkInventory/Externals/Ace3/AceAddon/AceAddon-3.0.lua:61>
[string "@ArkInventory/Externals/Ace3/AceAddon/AceAddon-3.0-13.lua"]:523: in function `EnableAddon'
[string "@ArkInventory/Externals/Ace3/AceAddon/AceAddon-3.0-13.lua"]:626: in function <...rkInventory/Externals/Ace3/AceAddon/AceAddon-3.0.lua:611>
[string "=[C]"]: in function `LoadAddOn'
[string "@ArkInventory/Core/ArkInventory.lua"]:11532: in function `LoadAddOn'
[string "@ArkInventory/Core/ArkInventory.lua"]:11548: in function `BlizzardAPIHook'
[string "@ArkInventory/Core/ArkInventory.lua"]:3169: in function <ArkInventory/Core/ArkInventory.lua:3135>
...
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:100: in function `SetUpMajorFactionList'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:93: in function `RefreshMajorFactionList'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:88: in function `RefreshOverlay'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:80: in function <...sionLandingPage/Blizzard_DragonflightLandingPage.lua:76>
[string "=[C]"]: ?
[string "=[C]"]: ?
[string "=[C]"]: in function `CreateFrame'
[string "@Blizzard_ExpansionLandingPage/Blizzard_DragonflightLandingPage.lua"]:49: in function `CreateOverlay'
[string "@Blizzard_ExpansionLandingPage/Blizzard_ExpansionLandingPage.lua"]:63: in function `RefreshExpansionOverlay'
[string "@Blizzard_ExpansionLandingPage/Blizzard_ExpansionLandingPage.lua"]:35: in function <...pansionLandingPage/Blizzard_ExpansionLandingPage.lua:33>

2x ...ddOns/ChocolateBar/modules/CB_PlayedTime_Options.lua:5: bad argument #1 to 'GetAddOnMetadata' (Invalid AddOn name CB_PlayedTime. - Usage: local value = C_AddOns.GetAddOnMetadata(name, variable))
[string "=[C]"]: in function `GetAddOnMetadata'
[string "@ChocolateBar/modules/CB_PlayedTime_Options.lua"]:5: in main chunk

Locals:
(*temporary) = "CB_PlayedTime"
(*temporary) = "X-Curse-Packaged-Version"
(*temporary) = "Invalid AddOn name CB_PlayedTime. - Usage: local value = C_AddOns.GetAddOnMetadata(name, variable)"
fraerie commented 1 year ago

I am still getting the unregister/jostle issue I've been having since 10.0.5, even with the new Ace 3.0 release and a fresh install of Chocolate Bar and having blown away the saved variables file for CB and reconfiguring it from scratch.

fraerie commented 1 year ago

There are two Mainline.toc files

  1. ChocolateBar_Mainline.toc
  2. ChocolateBar-Mainline.toc

In order to stop the CB_playedtime error I had to comment out the modules in the second file. I noticed that it also didn't have the jostle2 module listed, whereas the first toc file did. When I added the jostle2 module to the list it stopped throwing the jostle error that's been bugging me since 10.0.5

WPettersson commented 1 year ago

I don't see those two Mainline.toc files, only one (the one with the underscore), and it does have both jostle and jostle2 listed. Is it possible that ChocolateBar-Mainline.toc is left over from some earlier version or something?

WPettersson commented 1 year ago

As a separate note, I found a different workaround to get ChocolateBar "running". I removed line 4, instead inserting the following. WoW changed the GetAddOnMetadata function to fail if the addon is not found in 10.1, so this just catches that.

local ok, version = pcall(GetAddOnMetadata, "CB_PlayedTime","X-Curse-Packaged-Version")
if not ok then
  version = ""
end
Kiatra commented 1 year ago

@WPettersson see #29

Kiatra commented 1 year ago

@fraerie how do you install ChocolateBar? Are you using an package manager app?

fraerie commented 1 year ago

@fraerie how do you install ChocolateBar? Are you using an package manager app?

most recently I have downloaded it directly from this github repository and a zip file - I am not using a package manager, normally I grab it from Curse

Kiatra commented 1 year ago

If you got a ChocolateBar_Mainline.toc and ChocolateBar-Mainline.toc you may not have deleted the folder before updating.

Its best to delete the whole folder before updating in case something has changed via the packaging script. Your config data is not in that folder anyway. Apparently the script changed to create a ChocolateBar_Mainline.toc instead of a ChocolateBar-Mainline.toc some time ago.

The one from GitHub has only one toc file and no interface version in it. It should will work fine except showing as incompatible in the addon list. Its the dev version that I am using for all game versions.

The version from Curse, has several toc files one for each release to show as compatible in the game.