Auctionator

Auctionator

136M Downloads

Ongoing Data Corruption

tflo opened this issue · 8 comments

commented

Description

I’m experiencing regular corruptions of the SavedVariables file. ‘Regular’ means: roughly every week or 2 weeks, sometimes more frequently.

After this had happened a couple of times I put a background script in place that creates a copy of the Auctionator SavedVariables file on every file write and alerts me of unusual file size changes (typically when a corrupted SV file is replaced by a fresh one on toon logout).
So, no data loss, however I would prefer not to have to do this ;)

This is a typical example for a corrupted file:

Screen Shot 2022-05-27 at 20 42 10

…and the error output when this happened:

> BugSack output, click me
2x ...F\Account\464088657#1\SavedVariables\Auctionator-9.2.17.lua:856841: attempt to call global 'nan' (a nil value)
[string "@WTF\Account\464088657#1\SavedVariables\Auctionator-9.2.17.lua"]:856841: in main chunk

Locals:
(*temporary) = <table> {
 Draenor = <table> {
 }
 Kazzak = <table> {
 }
 __dbversion = 6
}
(*temporary) = "AzjolNerub"
(*temporary) = <table> {
 76078 = <table> {
 }
 33867 = <table> {
 }
 10023 = <table> {
 }
 36078 = <table> {
 }
 166815 = <table> {
 }
 p:1151 = <table> {
 }
 36235 = <table> {
 }
 187727 = <table> {
 }
 55300 = <table> {
 }
 114812 = <table> {
 }
 176799 = <table> {
 }
 14047 = <table> {
 }
 161966 = <table> {
 }
 184100 = <table> {
 }
 106749 = <table> {
 }
 15408 = <table> {
 }
 36464 = <table> {
 }
 71023 = <table> {
 }
 75078 = <table> {
 }
 190726 = <table> {
 }
 24867 = <table> {
 }
 11023 = <table> {
 }
 168662 = <table> {
 }
 187915 = <table> {
 }
 18661 = <table> {
 }
 g:173243:262 = <table> {
 }
 118877 = <table> {
 }
 p:2585 = <table> {
 }
 36300 = <table> {
 }
 115464 = <table> {
 }
 25047 = <table> {
 }
 25078 = <table> {
 }
 159609 = <table> {
 }
 12408 = <table> {
 }
 13464 = <table> {
 }
 10009 = <table> {
 }
 128843 = <table> {
 }
 47645 = <table> {
 }
 109219 = <table> {
 }
 93464 = <table> {
 }
 172438 = <table> {
 }
 188948 = <table> {
 }
 10235 = <table> {
 }
 14123 = <table> {
 }
 24123 = <table> {
 }
 33408 = <table> {
 }
 94047 = <table> {
 }
 14464 = <table> {
 }
 159845 = <table> {
 }
 164515 = <table> {
 }
 31235 = <table> {
 }
 116677 = <table> {
 }
 78300 = <table> {
 }
 18300 = <table> {
 }
 15123 = <table> {
 }
 25123 = <table> {
 }
 116260 = <table> {
 }
 75123 = <table> {
 }
 106321 = <table> {
 }
 25661 = <table> {
 }
 52078 = <table> {
 }
 13000 = <table> {
 }
 82078 = <table> {
 }
 55661 = <table> {
 }
 62078 = <table> {
 }
 g:172252:262 = <table> {
 }
 116614 = <table> {
 }
 38867 = <table> {
 }
 14661 = <table> {
 }
 98867 = <table> {
 }
 153664 = <table> {
 }
 37743 = <table> {
 }
 74661 = <table> {
 }
 31216 = <table> {
 }
 166804 = <table> {
 }
 143754 = <table> {
 }
 174327 = <table> {
 }
 165518 = <table> {
 }
 g:172314:225 = <table> {
 }
 g:171418:291 = <table> {
 }
 27661 = <table> {
 }
 47626 = <table> {
 }
 82023 = <table> {
 }
 12023 = <table> {
 }
 121151 = <table> {
 }
 31867 = <table> {
 }
 142266 = <table> {
 }
 116804 = <table> {
 }
 24078 = <table> {
 }
 60216 = <table> {
 }
 40216 = <table> {
 }
 10216 = <table> {
 }
 14235 = <table> {
 }
 128877 = <table> {
 }
 36519 = <table> {
 }
 p:1345 = <table> {
 }
 164327 = <table> {
 }
 159813 = <table> {
 }
 158867 = <table> {
 }
 g:173248:225 = <table> {
 }
 169132 = <table> {
 }
 159167 = <table> {
 }
 13023 = <table> {
 }
 p:1966 = <table> {
 }
 p:2438 = <table> {
 }
 76661 = <table> {
 }
 83078 = <table> {
 }
 25235 = <table> {
 }
 82000 = <table> {
 }
 g:186358:239 = <table> {
 }
 179369 = <table> {
 }
 67047 = <table> {
 }
 173074 = <table> {
 }
 p:1245 = <table> {
 }
 p:2704 = <table> {
 }
 112164 = <table> {
 }
 46009 = <table> {
 }
 36009 = <table> {
 }
 16009 = <table> {
 }
 87429 = <table> {
 }
 170314 = <table> {
 }
 24834 = <table> {
 }
 109126 = <table> {
 }
 14834 = <table> {
 }
 121189 = <table> {
 }
 172250 = <table> {
 }
 20661 = <table> {
 }
 109132 = <table> {
 }
 15009 = <table> {
 }
 25009 = <table> {
 }
 24822 = <table> {
 }
 174789 = <table> {
 }
 44822 = <table> {
 }
 74822 = <table> {
 }
 29504 = <table> {
 }
 49504 = <table> {
 }
 g:171415:262 = <table> {
 }
 24743 = <table> {
 }
 14743 = <table> {
 }
 14429 = <table> {
 }
 43661 = <table> {
 }
 159477 = <table> {
 }
 112498 = <table> {
 }
 173129 = <table> {
 }
 55429 = <table> {
 }
 190953 = <table> {
 }
 15743 = <table> {
 }
 32661 = <table> {
 }
 25429 = <table> {
 }
 15429 = <table> {
 }
 55743 = <table> {
 }
 36429 = <table> {
 }
 60388 = <table> {
 }
 152638 = <table> {
 }
 87504 = <table> {
 }
 10388 = <table> {
 }
 12009 = <table> {
 }
 59464 = <table> {
 }
 152494 = <table> {
 }
 12429 = <table> {
 }
 21953 = <table> {
 }
 71953 = <table> {
 }
 36743 = <table> {
 }
 154812 = <table> {
 }
 36123 = <table> {
 }
 20867 = <table> {
 }
 38834 = <table> {
 }
 76504 = <table> {
 }
 p:834 = <table> {
 }
 93429 = <table> {
 }
 36504 = <table> {
 }
 172350 = <table> {
 }
 162010 = <table> {
 }
 175549 = <table> {
 }
 p:1766 = <

Any idea where these -nan(ind) artifacts come from?

In the file from the screenshot I found 3 instances, in the corrupted file from today I found 1.

I only recently started to look closer at the corrupted files, so it is not sure that the corruption always has been like this.

Other enabled add-ons:

I’m running different add-on sets (banker, AH toon, normal toon, etc.) and I saw the corruption happening with at least two different add-on sets (AH toon and Normal toon resting), probably more. See attachment for lists.

Auctionator version

Currently 9.2.17

But I saw this first happening around December/January, not entirely sure.

I’m playing on a Mac, in case this could matter.


Attached you find:

  • Two corrupted files (the screenshot one and from today)
  • Two typical add-on sets while this happened

Auctionator issue upload.zip

commented

I've pushed a fix that should prevent this from happening again (available in the latest alpha). It will go out in the next normal release once its been tested in alpha.

Auctionator-9.2.17-3-gccf20cb.zip

For some reason a Blizzard API for auctions found would have been returning 0 available when its meant to always more than 0, breaking the minimum price calculation.

commented

It might be a Mac specific api bug, I just don't know.

Any details?

commented

Weird I was the only one experiencing this…

Thank you.

commented

It might be a Mac specific api bug, I just don't know.

commented

It might be a Mac specific api bug, I just don't know.

dare to explain?

commented

Thanks for closing.

commented

Not really. The bad value could only have come from one place, and that caused an accidental division by 0 because an API that shouldn't ever return 0 did.

commented

Thank you.