XLoot

82 - Loot frame glitches on gathering world objects

What steps will reproduce the problem?
1. Install Xloot and Xloot frame only, default settings (problem occurs with other modules enabled or disabled)
2. Enable Blizzard auto-loot (not sure if that's relevant or not)
3. Go mining, herbing or gather other world objects (ie yellow cogwheel)
4. Intermittently the loot frame will fail to appear on a gather

What is the expected output? What do you see instead?
Intermittently the loot frame will fail to appear on a gather. The cast bar for the gather shows up, and I get XP for gathering the node, my character remains kneeling in the "looting" position, but the loot frame never appears with the contents. The problem is rare, but once it occurs, it will reliably continue to happen on repeated attempts to gather the same or different nodes. Once it gets into that state, the only way I've found to "unstick" it is either /reloadui or go kill a mob and loot it, which appears to restore the loot frame to normal operations.

Things that do not "unstick" it: waiting 15 minutes, changing zone, changing gathering node, toggling auto loot, killing mobs without looting them

It's possible there is some server issue at play here, but the fact that it gets into a persistently stuck state suggests it's a local addon problem.

What version of the product are you using?
z8-release

Do you have an error log of what happened?
There are no errors, but if there's some xloot state I should snapshot next time it happens, I can do that.

User When Change
Xuerian Oct 27, 2014 at 10:48 UTC Changed status from New to Declined
oscarucb Feb 07, 2013 at 05:02 UTC Create

You must login to post a comment. Don't have an account? Register to get one!

  • Avatar of Xuerian Xuerian Oct 27, 2014 at 10:48 UTC - 0 likes

    Marking this as declined for now, since there's no generic "Cannot reproduce, closing" status.

  • Avatar of Xuerian Xuerian Jun 22, 2013 at 22:30 UTC - 0 likes

    @oscarucb: Go

    You might just want to go ahead and do that.

    I'm sorry it's occurring, but I have no idea what it is nor have I actually played the game for a couple years now to experience and debug it myself.

    I really appreciate your help trying to fix it, and hope it was useful aside from that bug.

  • Avatar of oscarucb oscarucb Jun 22, 2013 at 22:27 UTC - 0 likes

    This bug just cheated me out of an entire "loot grab" scenario run. I'm seriously considering uninstalling XLoot now.

  • Avatar of Xuerian Xuerian Apr 08, 2013 at 21:16 UTC - 0 likes

    @oscarucb: Go

    Well, that's called in "LOOT_OPENED", so unless it has the ability to pull events out of the ether that would never happen.

    Alternately, you can just closeloot(true) or (false), or whatever.

  • Avatar of oscarucb oscarucb Apr 08, 2013 at 19:34 UTC - 0 likes

    @Xuerian: Go

    Well, yeah - once it's "stuck" it seems there's not much to be done. The question is whether the addon is doing something incorrectly earlier that somehow causes the client to enter this borked state. I have no idea how to test that.

    I notice the addon is deregistering events on FrameXML frames, perhaps that breaks something important?

    This may be completely unrelated, but I notice in particular that FrameXML sometimes calls CloseLoot() with a non-nil argument, although Xloot never does:

                    if ( not self:IsShown()) then
    function LootFrame_OnEvent(self, event, ...)
            if ( event == "LOOT_OPENED" ) then
                    local autoLoot = ...;
    
                    self.page = 1;
                    LootFrame_Show(self);
                    if ( not self:IsShown()) then
                            CloseLoot(autoLoot == 0);       -- The parameter tells code that we were unable to open the UI
                    end
    

    I don't understand the condition under which it would be "unable to open the UI", but that line is presumably there to handle some obscure case, and perhaps that's the situation I'm encountering?

  • Avatar of Xuerian Xuerian Apr 08, 2013 at 16:05 UTC - 0 likes

    @oscarucb: Go

    If CloseLoot() doesn't do anything, and LOOT_OPENED never happens, what can I do? =\

  • Avatar of oscarucb oscarucb Apr 08, 2013 at 06:11 UTC - 0 likes

    Had it happen today with an archaeology fragment.

    Interestingly it seems (according to /etrace) the LOOT_OPENED event is not being delivered when I click on the item, even though the character bends over into loot position, and subsequent movement sends LOOT_CLOSED. Explicitly calling addon:LOOT_OPENED(), XLootFrame:Update() and CloseLoot() did not show the frame or unstick it.

  • Avatar of Xuerian Xuerian Apr 03, 2013 at 02:56 UTC - 0 likes

    @oscarucb: Go

    Relevant areas would be in Frame.lua

    - 883, XLootFrame:Update() This should be getting called each time loot opens - 1002, 1016, addon:LOOT_CLOSED() and :LOOT_OPENED() Obvious, easy places to print.

    As far as it getting stuck open, I would suggest seeing if /script CloseLoot() will fix it.

    If that's the case, look around the end of XLootFrame:Update() near ln 980 to see if that condition isn't matching or if something odd is happening.

  • Avatar of oscarucb oscarucb Apr 03, 2013 at 00:05 UTC - 0 likes

    reloadui is one of the few things that does unstick it, but that's often inconvenient (eg if you're in combat or otherwise under a time-crunch). In any case it's not a reasonable answer to a software bug which frequently breaks something as fundamental as looting.

    I was hoping for some tips on what I can do to help diagnose the problem next time it happens, eg internal variables to print, etc. that will help us figure this out.

  • Avatar of Xuerian Xuerian Apr 02, 2013 at 19:36 UTC - 0 likes

    I haven't had any other reports of it, and I don't actually play the game any more, so I really don't know what to tell you. If /reload doesn't "unstick" it, there's a bigger issue at play.

    Which isn't to say it's invalid or doesn't need fixed, but still.

    Last edited Apr 02, 2013 by Xuerian

Facts

Last updated
Oct 27, 2014
Reported
Feb 07, 2013
Status
Declined - We decided not to take action on this ticket.
Type
Defect - A shortcoming, fault, or imperfection
Priority
Medium - Normal priority.
Votes
0

Reported by

Possible assignees