Bagnon

Bagnon

122M Downloads

Bug in Retail 10.1.7

GeoRam2016 opened this issue ยท 12 comments

commented

2x BagBrother/core/features/caching.lua:93: attempt to compare number with nil
[string "@BagBrother/core/features/caching.lua"]:93: in function ?' [string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:109: in function <...Ons/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:109> [string "=[C]"]: ? [string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:19: in function <...Ons/Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:15> [string "@Ace3/CallbackHandler-1.0-8/CallbackHandler-1.0.lua"]:54: in function Fire'
[string "@Ace3/AceEvent-3.0-4/AceEvent-3.0.lua"]:120: in function <Ace3/AceEvent-3.0/AceEvent-3.0.lua:119>

Locals:
self =

{
SendSignal = defined @BagBrother/libs/WildAddon-1.0/WildAddon-1.0.lua:82
ParseItem = defined @BagBrother/core/features/caching.lua:187
RegisterMessage = defined @Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:80
UnregisterMessage = defined @Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:143
SaveBag = defined @BagBrother/core/features/caching.lua:158
PLAYER_EQUIPMENT_CHANGED = defined @BagBrother/core/features/caching.lua:80
SaveEquip = defined @BagBrother/core/features/caching.lua:183
player =
{
}
SendMessage = defined @Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:49
GUILDBANKBAGSLOTS_CHANGED = defined @BagBrother/core/features/caching.lua:132
UnregisterAllEvents = defined @Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:164
UnregisterSignal = defined @BagBrother/libs/WildAddon-1.0/WildAddon-1.0.lua:78
VAULT_CLOSE = defined @BagBrother/core/features/caching.lua:119
PLAYER_MONEY = defined @BagBrother/core/features/caching.lua:88
BANK_CLOSE = defined @BagBrother/core/features/caching.lua:107
RegisterEvent = defined @Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:80
UnregisterAllMessages = defined @Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:164
CURRENCY_TRACKED_CHANGED = defined @BagBrother/core/features/caching.lua:96
NewModule = defined @BagBrother/libs/WildAddon-1.0/WildAddon-1.0.lua:68
PLAYER_LEVEL_UP = defined @BagBrother/core/features/caching.lua:84
OnEnable = defined @BagBrother/core/features/caching.lua:20
BAG_UPDATE = defined @BagBrother/core/features/caching.lua:74
RegisterSignal = defined @BagBrother/libs/WildAddon-1.0/WildAddon-1.0.lua:74
CURRENCY_DISPLAY_UPDATE = defined @BagBrother/core/features/caching.lua:92
GUILD_ROSTER_UPDATE = defined @BagBrother/core/features/caching.lua:128
UnregisterEvent = defined @Ace3/CallbackHandler-1.0/CallbackHandler-1.0.lua:143
Tag = "BAGNON_"
}
_ = "CURRENCY_DISPLAY_UPDATE"
id = nil
quantity = nil
(*temporary) =
{
2088 = 1
2245 = 1
1585 = 7838
1586 = 2
515 = 13
824 = 114
1155 = 75
tracked =
{
}
1560 = 200
1220 = 170
2533 = 8
2087 = 1
2021 = 3
1716 = 6
1721 = 4
2032 = 7350
2002 = 1
2003 = 312
1755 = 102
81 = 2
1166 = 355
}
(*temporary) = nil
(*temporary) = "attempt to compare number with nil"

commented

This bug also appears in WotLK Classic (3.4.2)

3x BagBrother/core/features/caching.lua:93: attempt to compare number with nil
[string "@BagBrother/core/features/caching.lua"]:93: 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:
self = <table> {
 SendSignal = <function> defined @BagBrother/libs/WildAddon-1.0/WildAddon-1.0.lua:82
 ParseItem = <function> defined @BagBrother/core/features/caching.lua:187
 RegisterMessage = <function> defined @Accountant_Classic/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:80
 UnregisterMessage = <function> defined @Accountant_Classic/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:143
 SaveBag = <function> defined @BagBrother/core/features/caching.lua:158
 PLAYER_EQUIPMENT_CHANGED = <function> defined @BagBrother/core/features/caching.lua:80
 SaveEquip = <function> defined @BagBrother/core/features/caching.lua:183
 player = <table> {
 }
 SendMessage = <function> defined @Accountant_Classic/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:49
 GUILDBANKBAGSLOTS_CHANGED = <function> defined @BagBrother/core/features/caching.lua:132
 UnregisterAllEvents = <function> defined @Accountant_Classic/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:164
 UnregisterSignal = <function> defined @BagBrother/libs/WildAddon-1.0/WildAddon-1.0.lua:78
 VAULT_CLOSE = <function> defined @BagBrother/core/features/caching.lua:119
 PLAYER_MONEY = <function> defined @BagBrother/core/features/caching.lua:88
 BANK_CLOSE = <function> defined @BagBrother/core/features/caching.lua:107
 RegisterEvent = <function> defined @Accountant_Classic/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:80
 UnregisterAllMessages = <function> defined @Accountant_Classic/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:164
 CURRENCY_TRACKED_CHANGED = <function> defined @BagBrother/core/features/caching.lua:96
 NewModule = <function> defined @BagBrother/libs/WildAddon-1.0/WildAddon-1.0.lua:68
 PLAYER_LEVEL_UP = <function> defined @BagBrother/core/features/caching.lua:84
 OnEnable = <function> defined @BagBrother/core/features/caching.lua:20
 BAG_UPDATE = <function> defined @BagBrother/core/features/caching.lua:74
 RegisterSignal = <function> defined @BagBrother/libs/WildAddon-1.0/WildAddon-1.0.lua:74
 CURRENCY_DISPLAY_UPDATE = <function> defined @BagBrother/core/features/caching.lua:92
 GUILD_ROSTER_UPDATE = <function> defined @BagBrother/core/features/caching.lua:128
 UnregisterEvent = <function> defined @Accountant_Classic/Libs/CallbackHandler-1.0/CallbackHandler-1.0.lua:143
 Tag = "BAGNON_"
}
_ = "CURRENCY_DISPLAY_UPDATE"
id = nil
quantity = nil
(*temporary) = <table> {
 1901 = 636
 81 = 38
 tracked = <table> {
 }
}
(*temporary) = nil
(*temporary) = "attempt to compare number with nil"
commented

I believe the fix is to change BagBrother/core/features/caching.lua:93 to:

	self.player.currency[id] = quantity and quantity > 0 or nil
commented

Same for me.

1x BagBrother/core/features/caching.lua:93: attempt to compare number with nil
[string "@BagBrother/core/features/caching.lua"]:93: 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:
self =

{
SendSignal = defined @BagBrother/libs/WildAddon-1.0/WildAddon-1.0.lua:82
ParseItem = defined @BagBrother/core/features/caching.lua:187
RegisterMessage = defined @AllTheThings/lib/CallbackHandler-1.0/CallbackHandler-1.0.lua:80
UnregisterMessage = defined @AllTheThings/lib/CallbackHandler-1.0/CallbackHandler-1.0.lua:143
SaveBag = defined @BagBrother/core/features/caching.lua:158
PLAYER_EQUIPMENT_CHANGED = defined @BagBrother/core/features/caching.lua:80
SaveEquip = defined @BagBrother/core/features/caching.lua:183
player =
{
}
SendMessage = defined @AllTheThings/lib/CallbackHandler-1.0/CallbackHandler-1.0.lua:49
GUILDBANKBAGSLOTS_CHANGED = defined @BagBrother/core/features/caching.lua:132
UnregisterAllEvents = defined @AllTheThings/lib/CallbackHandler-1.0/CallbackHandler-1.0.lua:164
UnregisterSignal = defined @BagBrother/libs/WildAddon-1.0/WildAddon-1.0.lua:78
VAULT_CLOSE = defined @BagBrother/core/features/caching.lua:119
PLAYER_MONEY = defined @BagBrother/core/features/caching.lua:88
BANK_CLOSE = defined @BagBrother/core/features/caching.lua:107
RegisterEvent = defined @AllTheThings/lib/CallbackHandler-1.0/CallbackHandler-1.0.lua:80
UnregisterAllMessages = defined @AllTheThings/lib/CallbackHandler-1.0/CallbackHandler-1.0.lua:164
CURRENCY_TRACKED_CHANGED = defined @BagBrother/core/features/caching.lua:96
NewModule = defined @BagBrother/libs/WildAddon-1.0/WildAddon-1.0.lua:68
PLAYER_LEVEL_UP = defined @BagBrother/core/features/caching.lua:84
OnEnable = defined @BagBrother/core/features/caching.lua:20
BAG_UPDATE = defined @BagBrother/core/features/caching.lua:74
RegisterSignal = defined @BagBrother/libs/WildAddon-1.0/WildAddon-1.0.lua:74
CURRENCY_DISPLAY_UPDATE = defined @BagBrother/core/features/caching.lua:92
GUILD_ROSTER_UPDATE = defined @BagBrother/core/features/caching.lua:128
UnregisterEvent = defined @AllTheThings/lib/CallbackHandler-1.0/CallbackHandler-1.0.lua:143
Tag = "BAGNON_"
}
_ = "CURRENCY_DISPLAY_UPDATE"
id = nil
quantity = nil
(*temporary) =
{
829 = 10
1508 = 1367
2032 = 200
1540 = 31
1810 = 116
401 = 19
1906 = 200
1541 = 6
1716 = 600
2002 = 20
1828 = 14205
2402 = 13
2003 = 4800
823 = 28628
1813 = 4195
2118 = 25278
1226 = 2572
2087 = 20
1560 = 42309
1719 = 1865
1767 = 865
1275 = 65
1704 = 19
1101 = 27935
1149 = 1
777 = 19197
1816 = 3936
1721 = 547
2023 = 8
1166 = 2775
738 = 335
1754 = 11
1580 = 5
1977 = 38
1501 = 1
1533 = 788
1803 = 8875
1819 = 85
1883 = 10
2026 = 1
1534 = 5
1931 = 477
1820 = 100
1979 = 134
1535 = 19
2409 = 989
1710 = 71
2594 = 966
2533 = 2
1885 = 137
2245 = 164
1155 = 2000
1171 = 40
1822 = 79
2122 = 17
2088 = 30
1755 = 76960
824 = 6107
416 = 25
828 = 31
1172 = 86
1904 = 31
1585 = 17476
1728 = 230
2021 = 25
2009 = 872
2030 = 2
1889 = 9
1808 = 3
tracked =
{
}
1586 = 4
1342 = 125
1220 = 1880
821 = 27
394 = 15
}
(*temporary) = nil
(*temporary) = "attempt to compare number with nil"

commented

I believe the fix is to change BagBrother/core/features/caching.lua:93 to:

	self.player.currency[id] = quantity and quantity > 0 or nil

Nope :/ still get lua errors when you use ur hearthstone etc

commented

I believe the fix is to change BagBrother/core/features/caching.lua:93 to:

	self.player.currency[id] = quantity and quantity > 0 or nil

Nope :/ still get lua errors when you use ur hearthstone etc

Thank. I was just about to try it.

commented

Different error on the same line... I fixed it with:

function Cacher:CURRENCY_DISPLAY_UPDATE(_, id, quantity)
	if id then
		self.player.currency[id] = quantity and quantity > 0 or nil
	end
end

Not sure it this is logically the correct fix but it at least eliminates the error.

commented

This is just a big mess since the update. Fix one error more popup.

commented

Different error on the same line... I fixed it with:

function Cacher:CURRENCY_DISPLAY_UPDATE(_, id, quantity)
	if id then
		self.player.currency[id] = quantity and quantity > 0 or nil
	end
end

Not sure it this is logically the correct fix but it at least eliminates the error.

You can actually change this to just adding

if id then
	self.player.currency[id] = quantity > 0 and quantity or nil
end

and it works fine. I'm guessing from the logs the id = nil is the start of the issue, so your check prevents the comparison to occur on a nil array index.

commented

The original error was the "attempt to compare number with nil" which I fixed with changing the order. This then led to the indexing error (don't have exact text) because id was nil which I fixed with the if statement. I believe both fixes are necessary to prevent errors from line 93.

commented

The original error was the "attempt to compare number with nil" which I fixed with changing the order. This then led to the indexing error (don't have exact text) because id was nil which I fixed with the if statement. I believe both fixes are necessary to prevent errors from line 93.

I tried both suggestions and neither one resolved the errors. I fixed the problem by reverting to version 10.1.4 now zero errors.

commented

Different error on the same line... I fixed it with:

function Cacher:CURRENCY_DISPLAY_UPDATE(_, id, quantity)
	if id then
		self.player.currency[id] = quantity and quantity > 0 or nil
	end
end

Not sure it this is logically the correct fix but it at least eliminates the error.

Thx work fine

commented

the same error on retail.. :( I had to return to previous version 10.1.7. It works without errors. It seems like we must wait while author will fix all errors...