dandruff / xCT

A light weight scrolling combat text implementation.
53 stars 22 forks source link

Loot Message lua error when getting caged pets #26

Closed ckaotik closed 11 years ago

ckaotik commented 11 years ago

I just caged a pet from my pet journal and encountered this error:

[11:27:38] Interface\AddOns\xCT+\modules\combattext.lua:798: attempt to compare number with nil
Interface\AddOns\Auctionator\AtrErrorInspector.lua:106: in function <Interface\AddOns\Auctionator\AtrErrorInspector.lua:51>
[C]: ?
Interface\AddOns\xCT+\modules\combattext.lua:798: in function `?'
Interface\AddOns\xCT+\modules\combattext.lua:222: in function <Interface\AddOns\xCT+\modules\combattext.lua:207>
Cimplex commented 11 years ago

hey ckaotik,

I am not sure what you mean by caging a pet from the journal (I haven't been playing 5.1 a lot :)

Let me know if you can reproduce this error. In order to fix it, I might need the value of "msg" on line 776:

["CHAT_MSG_LOOT"] = function(msg)

If you can reproduce it, add this code after that line (add @ 777):

local filtered = msg:gsub("|", "||") 
print("Loot Message:", filtered)

Or, if the error message included locals, those would be helpful too!

Thanks for the report, I'll be looking into it myself too.

ckaotik commented 11 years ago

Well, by "caging" I mean right-clicking a pet in the pet journal and selecting the option to put it in a cage (which can be traded or sold on the auction house).

Either way, I haven't been able to reproduce this bug ... maybe it was just a random fluke, who knows. If it happens again I'll let you know!

Cimplex commented 11 years ago

It does appear that it had something to do with Auctionator (not that Auctionator caused it, but you may want to try it at an Auction House).

You could also try disabling xCT+, and play around with caging. See if you get messages in your chat frame like: "You received pet: [Little Bug]"

If you do, there is something different about those messages that may have caused xCT+ to crash.

ckaotik commented 11 years ago

Just had the error again ... I tried caging a pet from the journal but wasn't allowed to (by Blizzard; apparently it didn't have full health). I then healed up all my pets and tried caging again - with success. After that, I noticed the lua error so no pinpointing it yet :(

I get the feeling this might be connected to an issue I noticed as well: Sometimes, when I loot an item that's to be shown in the loot log (mostly happens with rare/blue items), it doesn't show up. But once I loot another item shortly after, that one shows up and so does the item that's been missed before. Maybe that way sometimes xCT notices "Oh right, I got a rare caged pet, better show i... Wow wait! No can do!" and throws a lua error? I suppose it's this comparison that fails: item.quality >= GetLootQuality() (combat text.lua, line 798)

On a side note: I'm using tekErr for logging, but I do agree, info on locals would help. Often. What others do this (w/o installing AuctioneerSuite)?

Update: Just got it repeatable, however I didn't dare /reload so ... just adding screenshots of what I could get my hands on. Will try again after a reload, and give you more dumps if it still works :) Bildschirmfoto 2012-12-22 um 14 05 30 Bildschirmfoto 2012-12-22 um 14 05 41