Mission Report Button Plus

Mission Report Button Plus

24.2k Downloads

"script ran too long" (runaway recursion?)

SpareSimian opened this issue · 4 comments

commented

Today with v0.14.0, clicking the minimap button resulted in the task dump below. This is on an account without Dragonflight but the level 60 character has used the trial so has the DF minimap button.

Date: 2023-06-05 15:12:27
ID: 1
Error occured in: Global
Count: 1
Message: Interface/FrameXML/QuestUtils.lua line 357:
   script ran too long
Debug:
   [string "@Interface/FrameXML/QuestUtils.lua"]:357: QuestUtils_GetQuestName()
   [string "@Interface/AddOns/MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua"]:1865:
      ...onReportButtonPlus/MissionReportButtonPlus_Utils.lua:1859
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   ...
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "=(tail call)"]: ?
   [string "@Interface/AddOns/MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua"]:1930: in main chunk
Locals:
questID = 74906
(*temporary) = nil
(*temporary) = nil
(*temporary) = "script ran too long"

AddOns:
  Swatter, v<%version%> (<%codename%>)
  WowheadLooter, v100100
  AddonFactory, v10.1.001
  AdiBags, vv1.10.17
  AdiBagsBound, vv1.7.2
  Altoholic, v10.1.004
  Auctioneer, v9.1.BETA.5.7 (OneMawTime)
  AuctioneerStatsOverTime, v9.1.BETA.5.7 (OneMawTime)
  AuctioneerUtilDealFinder, v9.1.BETA.5.7 (OneMawTime)
  AuctioneerUtilValuer, v9.1.BETA.5.7 (OneMawTime)
  DataStore, v2023.05.04
  DataStoreAchievements, v2023.05.03
  DataStoreAgenda, v10.1.001
  DataStoreAuctions, v10.1.001
  DataStoreCharacters, v2023.05.03
  DataStoreContainers, v10.1.001
  DataStoreCrafts, v10.1.001
  DataStoreCurrencies, v10.1.001
  DataStoreGarrisons, v10.1.001
  DataStoreInventory, v10.1.001
  DataStoreMails, v2023.05.04
  DataStorePets, v10.1.001
  DataStoreQuests, v10.1.003
  DataStoreReputations, v10.1.001
  DataStoreSpells, v2023.05.03
  DataStoreStats, v10.1.001
  DataStoreTalents, v10.1.001
  Details, v#Details.20230513.11011.151
  DetailsCompare2, v
  DetailsEncounterDetails, v
  DetailsRaidCheck, v
  DetailsStreamer, v
  DetailsTinyThreat, v
  DetailsVanguard, v
  EasyMail, v4.5.4
  Gnobesy, v0.3.1
  HandyNotes, vv1.6.15
  HandyNotesDragonGlyphs, v0.0.8
  HearKitty, v1.10.6
  HidingBar, vv10.0.4-beta1
  KibsItemLevelContinued, v10.0.1.0
  MissingShadowlandsCompanions, v10.1-003
  MissionReportButtonPlus, vv0.14.0
  SlideBar, v<%version%> (<%codename%>)
  Stubby, v9.1.BETA.5.7 (OneMawTime)
  BlizRuntimeLib_enUS v10.1.0.100100 <none>
  (ck=59e)
commented

A couple of minutes later, I reloaded with "/console reloadui" and couldn't reproduce the error. So this might be some kind of race condition. I'll keep you posted.

commented

Hi, thanks for reporting this. I encountered this error already myself as well, that's why I put a note in the "Known Issues" section of the Readme file, but I wasn't able to get the error details before the dialog message appeared. It only happened with my upgraded character, but everything works just fine with all others. So I decided to release it anyway.
Thanks to your error log dump I might be able to fix this. I will look into this as soon as possible.

commented

Hey, I got something similar right after logging in, and then the button was not usable at all until I reloaded.
DF account, character is level 70, logged in at Kyrian sanctuary.

7x .../MissionReportButtonPlus/MissionReportButtonPlus.lua:264: attempt to index field '?' (a nil value)
[string "@MissionReportButtonPlus/MissionReportButtonPlus.lua"]:264: in function <.../MissionReportButtonPlus/MissionReportButtonPlus.lua:74>

Locals:
self = MissionReportButtonPlusEventListenerFrame {
0 =
ShowMinimapButton_User = defined @MissionReportButtonPlus/MissionReportButtonPlus.lua:1454
GarrisonLandingPageDropDown_Initialize = defined @MissionReportButtonPlus/MissionReportButtonPlus.lua:1319
RedoButtonHooks = defined @MissionReportButtonPlus/MissionReportButtonPlus.lua:1489
LoadData = defined @MissionReportButtonPlus/MissionReportButtonPlus.lua:403
GarrisonLandingPageDropDown_OnLoad = defined @MissionReportButtonPlus/MissionReportButtonPlus.lua:1304
ShowMinimapButton = defined @MissionReportButtonPlus/MissionReportButtonPlus.lua:1409
RegisterSlashCommands = defined @MissionReportButtonPlus/MissionReportButtonPlus.lua:1623
SetButtonHooks = defined @MissionReportButtonPlus/MissionReportButtonPlus.lua:1472
OnLoad = defined @MissionReportButtonPlus/MissionReportButtonPlus.lua:283
HideMinimapButton = defined @MissionReportButtonPlus/MissionReportButtonPlus.lua:1445
}
event = "COVENANT_CALLINGS_UPDATED"
callings =

{
1 =
{
}
2 =
{
}
3 =
{
}
}
(*temporary) = nil
(*temporary) = 111
(*temporary) = "Covenant callings received:"
(*temporary) = 3
(*temporary) =
{
USER = -10
info = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:62
DEBUG = 10
debug = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:53
NOTSET = 0
DEVMODE = false
level = -10
INFO = 20
}
(*temporary) = -10
(*temporary) = 10
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = nil
(*temporary) = "attempt to index field '?' (a nil value)"
AddonID = "MissionReportButtonPlus"
_log =
{
USER = -10
info = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:62
DEBUG = 10
debug = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:53
NOTSET = 0
DEVMODE = false
level = -10
INFO = 20
}
MRBP_EventMessagesCounter =
{
}
MRBP_GARRISON_TYPE_INFOS =
{
}
util =
{
GameTooltip_AddObjectiveLine = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:190
printVersion = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:87
GetTimeRemainingColorForSeconds = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:248
achieve =
{
}
tcount = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:117
quest =
{
}
strip_DE_hyphen = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:131
expansion =
{
}
CreateInlineIcon = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:208
GetTimeStringUntilWeeklyReset = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:264
GameTooltip_AddAtlas = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:168
garrison =
{
}
covenant =
{
}
poi =
{
}
threats =
{
}
CreateInlineIcon1 = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:229
CreateInlineIcon2 = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:233
cprintEvent = defined @MissionReportButtonPlus/MissionReportButtonPlus_Utils.lua:106
map

commented

Fixed.
@SpareSimian Thanks to your error log I found the error almost immediately. I released by mistake a function which I had not fully tested. Late hours coding is never a good idea.

@hollo6 I looked into your error as well, but I couldn't reproduce it. I'm not quite sure your error is related to the first one. In some rare occasions Blizzard's event handler in WoW fire before the variables have been loaded. Of course, the above error might have caused some sort of loading delay. Please keep me posted if your error happens again.

Thanks again for reporting the errors. 👍