Backupiseasy / ThreatPlates

Nameplate addon for World of Warcraft
https://wow.curseforge.com/projects/tidy-plates-threat-plates
37 stars 23 forks source link

TidyPlatesCore.lua script ran too long error appears from time to time #490

Open gleeming opened 9 months ago

gleeming commented 9 months ago

For the past several weeks (maybe even months), I've had LUA errors pop up at seemingly random times. They are not constant, perhaps once an hour. Last night I was in the ATDH raid on trash and had time to copy the error message text. My addons were up-to-date, so this was Threat Plates v11.1.34. Hope this helps track down any issues.


Message: ...s_ThreatPlates/TidyPlatesInternal/TidyPlatesCore.lua:965: script ran too long Time: Fri Dec 8 21:01:23 2023 Count: 1 Stack: ...s_ThreatPlates/TidyPlatesInternal/TidyPlatesCore.lua:965: script ran too long [string "@Interface/AddOns/TidyPlates_ThreatPlates/TidyPlatesInternal/TidyPlatesCore.lua"]:965: in function <...s_ThreatPlates/TidyPlatesInternal/TidyPlatesCore.lua:882> [string "@Interface/AddOns/TidyPlates_ThreatPlates/TidyPlatesInternal/TidyPlatesCore.lua"]:1410: in function `?' [string "@Interface/AddOns/TidyPlates_ThreatPlates/TidyPlatesInternal/TidyPlatesCore.lua"]:1103: in function <...s_ThreatPlates/TidyPlatesInternal/TidyPlatesCore.lua:1102>

Locals: (temporary) = NamePlate9 { OnSizeChanged = defined @Interface/AddOns/Blizzard_NamePlates/Blizzard_NamePlates.lua:614 DBMAuraFrame =

{ } GetPreferredInsets = defined @Interface/AddOns/Blizzard_NamePlates/Blizzard_NamePlates.lua:595 driverFrame = NamePlateDriverFrame { } namePlateUnitToken = "nameplate1" TPFrame = ThreatPlatesFrameNamePlate9 { } UnitFrame = Button { } ApplyOffsets = defined @Interface/AddOns/Blizzard_NamePlates/Blizzard_NamePlates.lua:566 0 = template = "NamePlateUnitFrameTemplate" OnRemoved = defined @Interface/AddOns/Blizzard_NamePlates/Blizzard_NamePlates.lua:553 OnAdded = defined @Interface/AddOns/Blizzard_NamePlates/Blizzard_NamePlates.lua:542 UpdateMe = false GetAdditionalInsetPadding = defined @Interface/AddOns/Blizzard_NamePlates/Blizzard_NamePlates.lua:584 TimeSinceLastUpdate = 0 OnOptionsUpdated = defined @Interface/AddOns/Blizzard_NamePlates/Blizzard_NamePlates.lua:560 } (temporary) = "nameplate1" (temporary) = false (temporary) = StatusBar { SetFormat = defined @Interface/AddOns/TidyPlates_ThreatPlates/TidyPlatesInternal/TidyPlatesStatusbar.lua:276 Border = Frame { } SetAllColors = defined @Interface/AddOns/TidyPlates_ThreatPlates/TidyPlatesInternal/TidyPlatesStatusbar.lua:99 Value = 0 Background = Texture { } InterruptBorder = Frame { } IsChanneling = false IsCasting = true MaxValue = 4 UpdateLayout = defined @Interface/AddOns/TidyPlates_ThreatPlates/TidyPlatesInternal/TidyPlatesStatusbar.lua:311 InterruptOverlay = Texture { } 0 = InterruptShield = Texture { } Spark = Texture { } SetStatusBarBackdrop = defined @Interface/AddOns/TidyPlates_ThreatPlates/TidyPlatesInternal/TidyPlatesStatusbar.lua:297 FlashTime = 0 casttime = FontString { } CastTarget = FontString { } } (temporary) = "Lumbering Slam" (temporary) = "Lumbering Slam" (temporary) = 463566 (temporary) = 270034598 (temporary) = 270038598 (temporary) = false (temporary) = true (temporary) = 429180 (temporary) = nil (temporary) = "Pakonndra" (temporary) = defined =[C]:-1 (temporary) = StatusBar { SetFormat = defined @Interface/AddOns/TidyPlates_ThreatPlates/TidyPlatesInternal/TidyPlatesStatusbar.lua:276 Border = Frame { } SetAllColors = defined @Interface/AddOns/TidyPlates_ThreatPlates/TidyPlatesInternal/TidyPlatesStatusbar.lua:99 Value = 0 Background = Texture { } InterruptBorder = Frame { } IsChanneling = false IsCasting = true MaxValue = 4 UpdateLayout = defined @Interface/AddOns/TidyPlates_ThreatPlates/TidyPlatesInternal/TidyPlatesStatusbar.lua:311 InterruptOverlay = Texture { } 0 = InterruptShield = Texture { } Spark = Texture { } SetStatusBarBackdrop = defined @Interface/AddOns/TidyPlates_ThreatPlates/TidyPlatesInternal/TidyPlatesStatusbar.lua:297 FlashTime = 0 casttime = FontString { } CastTarget = FontString { } } (temporary) = 124.000107 (temporary) = 14.000104 (temporary) = defined =[C]:-1 (temporary) = defined @Interface/SharedXML/Backdrop.lua:182 (*temporary) = Frame { 0 = OnBackdropLoaded = defined @Interface/Share

Backupiseasy commented 9 months ago

Hm, that's a weird error as the function in question is called (primarily) when a cast starts or is updated. I am currently not sure what the error "script ran to long" means, so I need to investigate. But based on my initial research it could mean that TP (or all addsons, not sure) in general takes to much CPU time which could happen in trash pulls more often than in boss pulls, I guess (see, e.g., https://us.forums.blizzard.com/en/wow/t/script-ran-too-long-too-sensitive/1558329).

gleeming commented 9 months ago

Interesting. I have noticed recently that the game stutters a bit more than I remember when there are a lot of heavy graphics changes going on. Those are the (usually inopportune) times when the LUA error then fills a chunk of my screen.

Regarding the script ran too long error, perhaps it isn't specific to the TP addon as DBM will also throw the same. I'll drop my video quality, remove unused addons, etc and see if that improves things.