AH Bug with multiple people buying 1 item

#1 - Oct. 17, 2019, 7:29 a.m.
Blizzard Post

To setup this experience, I had to enlist the help of a friend Fuukigi and received the error below.

Use case: Multiple people should be able to buy an item from the auction house at multiple price points without refreshing the list. For the second, etc, person on the list, the UI should correctly communicate the updated price in a pop up before the purchase is made.

Test cases: At least 3 accounts are required. 1 account to list the auctions with multiple price break points. 2 or more accounts to purchase the items from the AH without refreshing the listing by search and selecting an item then buying in order.

First, there were 3 listings for simple wood.

5x 1g1s
5x 75g1s
4182x 99g1s

We performed the following highly choreographed operation (Fuu has 2 PTR accounts, I have 1).

Fuu’s 2nd account listed the 1g1s x 5 and 75g1s x5 (so Fuu’s main account and my main account can buy them – you can’t buy your own auctions).

We both searched simple wood and saw all 3 auctions.

Fuu bought 5 simple wood. This transaction went through successfully and she received 5 simple wood.

I did not refresh my screen and still had the 1g1s, 75g1s, and 99g1s auctions up in the list.

I proceeded to try to buy 5 simple wood (knowing the 1g1s simple wood were already purchased). I took screenshots but can’t post them here so I will go through the errors textually.

When I attempted to purchase, I got a new pop up that stated “Price updated to the cheapest available.” It listed the item as Simple Wood x5, the total price as 5g 5s (obviously, this wasn’t updated). I was presented with two prompts, BUY NOW or CANCEL.

Wanting to see how I could break the AH, I pressed BUY NOW.

I received the following error “Internal Auction Error”. In addition, both the BUY NOW and CANCEL were greyed out.

I did not purchase anything and when I closed the AH UI I got the error below.

Ideal resolution:
Ideally, the resolution to this is to allow the user to specify both the quantity and maximum price and the AH takes that information and buys up to my maximum quantity or maximum price.

Current AH:
5 simple wood 1g 1s
5 simple wood 75g 1s

User X buys 2 simple wood at a maximum price of 10g. User X receives 2 simple wood and pays 2g 1s.

Current AH:
3 simple wood 1g 1s
5 simple wood 75g 1s

Displayed AH to User Y:
5 simple wood 1g 1s
5 simple wood 75g 1s
User Y attempts to buy 5 simple wood at a maximum price of 10g.
3 simple wood are purchased for a total price of 3g 3s. An informational message appears that states “Simple Wood x2 was not purchased because the item exceeded your maximum unit price. Please refresh the AH to see current pricing.”

This should allow the highest concurrency of the AH.

Lua error:

Message: …lizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:240: Division by zero
Time: Thu Oct 17 03:20:49 2019
Count: 1
Stack: …lizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:240: Division by zero
…lizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:240: in function CalculateScrollExtentsAtScale' ...lizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:236: in functionCalculateScrollExtents’
…lizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:222: in function SetCanvasSize' ...lizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:421: in functionOnCanvasSizeChanged’
…lizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:407: in function SetMapID' ...ace\AddOns\Blizzard_MapCanvas\Blizzard_MapCanvas.lua:33: in functionSetMapID’
…rface\AddOns\Blizzard_WorldMap\Blizzard_WorldMap.lua:235: in function <…rface\AddOns\Blizzard_WorldMap\Blizzard_WorldMap.lua:233>
[C]: in function Show' Interface\FrameXML\UIParent.lua:2667: in functionSetUIPanel’
Interface\FrameXML\UIParent.lua:2498: in function ShowUIPanel' Interface\FrameXML\UIParent.lua:2380: in function <Interface\FrameXML\UIParent.lua:2376> [C]: in functionSetAttribute’
Interface\FrameXML\UIParent.lua:3233: in function ShowUIPanel' Interface\FrameXML\QuestLogOwnerMixin.lua:103: in functionSetDisplayState’
Interface\FrameXML\QuestLogOwnerMixin.lua:51: in function HandleUserActionToggleQuestLog' ...rface\AddOns\Blizzard_WorldMap\Blizzard_WorldMap.lua:420: in functionToggleQuestLog’
[string “TOGGLEQUESTLOG”]:1: in function <[string “TOGGLEQUESTLOG”]:1>

Locals: self = {
0 =
MarkCanvasDirty = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:384
GetMinZoomViewRect = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:547
GetNormalizedHorizontalScroll = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:703
SetPanTarget = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:580
DenormalizeVerticalSize = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:728
IsAtMaxZoom = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:647
AccumulateMouseDeltas = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:248
ScalingMode = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:293
GetMap = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:659
IsZoomingIn = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:639
ZoomOut = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:601
ShouldZoomInstantly = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:539
SetScalingMode = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:289
targetScale = 0
GetNormalizedCursorPosition = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:753
TryPanOrZoomOnClick = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:87
shouldPanOnClick = false
SetZoomTarget = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:585
normalizedPanXLerpAmount = 0.150000
NormalizeUIPosition = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:748
OnMouseUp = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:105
MarkAreaTriggersDirty = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:376
CalculateViewRect = defined @Interface\AddOns\Blizzard_MapCanvas\MapCanvas_ScrollContainerMixin.lua:551

Forum Avatar
Quality Assurance
#4 - Nov. 5, 2019, 5:46 p.m.
Blizzard Post

Hello Zarrek and thank you for your report! We are actively looking into the issue and were curious if you are still able to get this to happen?

Forum Avatar
Quality Assurance
#12 - Nov. 12, 2019, 12:55 a.m.
Blizzard Post

Thank you Zarrek and Fuukigi!!! We have implemented a fix for the issue thanks to the detailed information you provided us.