Grail

3M Downloads

Error portaling from Stormwind to Northrend on Saturday night during 15th anniversary holiday

emmetotter opened this issue ยท 1 comments

commented

This may be the result of the 15th Anniversary Holiday event not following assumptions but it appears that the elapsedMinutes variable is uninitialized when used at line 3960.
The error specifically occurred when portaling from Stormwind to Northrend Dalaran at 11:05pm Eastern time on Saturday November 9. It occurred on other occassions when portaling or zoning into an instance during the 15th anniversary holiday.
I've updated my local Grail.lua with a elapsedMinutes ~=nil check in the if statement on that line and this fixed the issue.

Message: Interface\AddOns\Grail\Grail.lua:3960: attempt to compare number with nil
Time: Sat Nov 9 22:51:36 2019
Count: 1
Stack: Interface\AddOns\Grail\Grail.lua:3960: attempt to compare number with nil
Interface\AddOns\Grail\Grail.lua:3960: in function CelebratingHoliday' Interface\AddOns\Grail\Grail.lua:7604: in function <Interface\AddOns\Grail\Grail.lua:7563> (tail call): ? Interface\AddOns\Grail\Grail.lua:9994: in function StatusCode'
Interface\AddOns\Grail\Grail.lua:4092: in function ClassificationOfQuestCode' Interface\AddOns\Wholly\Wholly.lua:1420: in function _ClassifyQuestsInMap'
Interface\AddOns\Wholly\Wholly.lua:1871: in function _ForcePanelMapArea' Interface\AddOns\Wholly\Wholly.lua:4395: in function UpdateQuestCaches'
Interface\AddOns\Wholly\Wholly.lua:949: in function ?' Interface\AddOns\Wholly\Wholly.lua:2515: in function _OnEvent'
Interface\AddOns\Wholly\Wholly.lua:4411: in function <Interface\AddOns\Wholly\Wholly.lua:4411>

Locals: self =

{
QuestBreadcrumbsFor = defined @interface\AddOns\Grail\Grail.lua:8809
bitMaskClassPriest = 256
IsBugged = defined @interface\AddOns\Grail\Grail.lua:6813
bitMaskGenderMale = 8192
_RecordArtifactLevels = defined @interface\AddOns\Grail\Grail.lua:9407
bitMaskCompleted = 1
_PrepareWorldQuestSelfNewNPCs = defined @interface\AddOns\Grail\Grail.lua:3306
QuestLocationsAccept = defined @interface\AddOns\Grail\Grail.lua:8967
IsAvailable = defined @interface\AddOns\Grail\Grail.lua:6795
NO_SKILL = -1
_HandleEventGarrisonBuildingActivated = defined @interface\AddOns\Grail\Grail.lua:6500
bitMaskClassAll = 268443644
_HandleEventLootClosed = defined @interface\AddOns\Grail\Grail.lua:6528
bitMaskQuestLegendary = 4096
_RemoveDelayedNotification = defined @interface\AddOns\Grail\Grail.lua:4948
reputationFriends =
{
}
questsLoremaster =
{
}
NPC_TYPE_BY = "BY"
NPC_TYPE_DROP = "DROP"
_PostDelayedNotification = defined @interface\AddOns\Grail\Grail.lua:8186
_MarkQuestType = defined @interface\AddOns\Grail\Grail.lua:5317
receivedCalendarUpdateEventList = true
bitMaskClassDeathKnight = 4
QuestNPCPrerequisiteTurnins = defined @interface\AddOns\Grail\Grail.lua:9138
_ProcessServerBackup = defined @interface\AddOns\Grail\Grail.lua:8498
bitMaskQuestVariableLevel = 4278190080
MeetsRequirementGroup = defined @interface\AddOns\Grail\Grail.lua:7783
_EvaluateCodeAsPrerequisite = defined @interface\AddOns\Grail\Grail.lua:5831
bitMaskInLog = 16
bitMaskQuestWeekly = 4
bitMaskHolidayNoble = 256
MeetsRequirementProfession = defined @interface\AddOns\Grail\Grail.lua:7868
DoesNPCExist = defined @interface\AddOns\Grail\Grail.lua:5796
npcNames =
{
}
_AllEvaluateTrueS = defined @interface\AddOns\Grail\Grail.lua:3599
bitMaskQuestFailureWithAncestor = 67043200
verifyTable =
{
}
_NPCToUse = defined @interface\AddOns\Grail\Grail.lua:8051
garrisonBuildingLevelMapping =
{
}
bitMaskClassHunter = 16
_LoadContinentData = defined @interface\AddOns\Grail\Grail.lua:3134
bitMaskQuestRaid = 128
_LocationStructure = defined @interface\AddOns\Grail\Grail.lua:7350
_HandleEventAchievementEarned = defined @interface\AddOns\Grail\Grail.lua:6495
checksReputationRewardsOnAcceptance = true
classToMapAreaMapping =
{
}
completingQuestTitle = "The Defias Kingpin"
verifyTableCount = 0
playerGenderBitMask = 16384
_ReputationExceeds = defined @interface\AddOns\Grail\Grail.lua:9595
bitMaskRaceUnused9 = 4096
zonesForLootingTreasure =
{
}
bitMaskQuestMonthly = 8
mapAreaBaseClass = 200000
exists73 = true
LearnObjectName = defined @interface\AddOns\Grail\Grail.lua:7276
_ContainsAliasNPC = defined @interface\AddOns\Grail\Grail.lua:5538
classToBitMa

commented

It turns out that I made an error during refactoring by not computing elapsedMinutes as that was done in _CelebratingHolidayDayEventProcessor and I missed that it is needed in this section of code. Luckily it only comes up if it Saturday and you need to check the status of quests in Dalaran in Crystalsong. The irony of course is the two quests that need this computation are no longer in game. For the next release of Grail I have updated the quests availability, plus corrected the code.