Issue Details (XML | Word | Printable)

Key: ADV-302
Type: Bug Bug
Status: Closed Closed
Resolution: Fixed
Priority: Blocker Blocker
Assignee: Ed Barton (RockSlice)
Reporter: William (Kandoko)
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
AuctioneerAdvanced

Core buys private.CurAuction{} table will not clear on occasion. This causes the buy queue to halt.

Created: 26/Aug/08 01:24 AM   Updated: 17/Sep/08 09:16 PM
Component/s: API, Scan
Affects Version/s: 5.0.0
Fix Version/s: None


 Description  « Hide
**Jotting down notes for myself so I remember tomorrow
While tracking down why SearchUI would occasionally cease to function. After queuing a selection of buys, searchUI would cease prompting me, even though not all the items had been searched for.
I found that the private.BuyRequests table to have the items queued, and new entries were being added but none processed.

it seems the onUpdate lines were preventing that from running
if (not private.CurAuction["link"]) and (#private.BuyRequests > 0) then
     lib.PushSearch()
end
private.CurAuction["link"] would always exists so no new scan was pushed.

it seems the issue lies in function lib.FinishedSearch(query) there is no fallback for what happens if the finished scan does not match up exactly with the private.CurAuction["link"]

function lib.FinishedSearch(query)
   if private.CurAuction["link"] then
                local _, _, rarity, _, minlevel, _, _, _, equiploc = GetItemInfo(private.CurAuction["link"])
               if minlevel == 0 then
                              minlevel = nil
               end
               if equiploc == "" then
                              equiploc = nil
               end
               if (rarity == query.quality) and (minlevel == query.minUseLevel) and (equiploc == query.invType)
               and (private.CurAuction["itemname"] == query.name) then
                              print("AucAdv: Auction for "..private.CurAuction["link"].." no longer exists")
                              private.CurAuction = {}
               end
       end
end

 All   Comments   Change History   Transitions   FishEye   Crucible      Sort Order: Ascending order - Click to sort in descending order
William (Kandoko) added a comment - 26/Aug/08 03:20 PM
Ok, I added a else print statement to function lib.FinishedSearch(query) when it errored query.quality was nil once that happened all further query's failed leaving .private.CurAuction["link"] and the buy queue full.

Ed Barton (RockSlice) added a comment - 26/Aug/08 05:36 PM
should be fixed in r3423