DeadlyBossMods / DBM-Dungeons

This mod will add support for 5 man Dungeons and World Events, spanning Classic all the way to Dragonflight, to Deadly Boss Mods (DBM).
https://www.curseforge.com/wow/addons/deadly-boss-mods-dbm-dungeons
Other
19 stars 11 forks source link

Game lockup and Lua error in Atal Dazar M+ trash: "Script ran too long" #158

Closed brittyazel closed 8 months ago

brittyazel commented 8 months ago

I was running an Atal Dazar M+ 18 key and during trash my game locked up for 2 seconds before returning to normal with this Lua error showing. This is the one and only time I've seen this error, so it's likely very transient, and I have no idea how to replicate it again.

This was when using DBM 10.2.13.

1x DBM-Core/DBM-Core.lua:6276: script ran too long
[string "@DBM-Core/DBM-Core.lua"]:6276: in function `PlaySoundFile'
[string "@DBM-Core/DBM-Core.lua"]:9824: in function `Play'
[string "@DBM-Party-BfA/AtalDazar/AtalDazarTrash.lua"]:169: in function `handler'
[string "@DBM-Core/DBM-Core.lua"]:1103: in function <DBM-Core/DBM-Core.lua:1090>
[string "=(tail call)"]: ?
[string "@DBM-Core/DBM-Core.lua"]:1103: in function <DBM-Core/DBM-Core.lua:1090>

Locals:
self = <table> {
 SelectGossip = <function> defined @DBM-Core/DBM-Core.lua:2923
 GetUnitIdFromCID = <function> defined @DBM-Core/DBM-Core.lua:2814
 CHAT_MSG_ADDON_LOGGED = <function> defined @DBM-Core/DBM-Core.lua:4737
 IsRetail = <function> defined @DBM-Core/DBM-Core.lua:7383
 StopLogging = <function> defined @DBM-Core/DBM-Core.lua:5995
 FindScenarioIDs = <function> defined @DBM-Core/DBM-Core.lua:6997
 GetNumGuildPlayersInZone = <function> defined @DBM-Core/DBM-Core.lua:2555
 VibrateController = <function> defined @DBM-Core/DBM-Core.lua:6963
 FindDungeonMapIDs = <function> defined @DBM-Core/DBM-Core.lua:6989
 GetUnitIdFromGUID = <function> defined @DBM-Core/DBM-Core.lua:2636
 CopyProfile = <function> defined @DBM-Core/DBM-Core.lua:2023
 CHAT_MSG_MONSTER_EMOTE = <function> defined @DBM-Core/DBM-Core.lua:5092
 CHAT_MSG_WHISPER = <function> defined @DBM-Core/DBM-Core.lua:6723
 SendPVPTimers = <function> defined @DBM-Core/DBM-Core.lua:6524
 DeleteProfile = <function> defined @DBM-Core/DBM-Core.lua:2040
 DungeonMusic = <table> {
 }
 ShowUpdateReminder = <function> defined @DBM-Core/modules/UpdateReminder.lua:76
 GetRaidRoster = <function> defined @DBM-Core/DBM-Core.lua:2591
 PLAYER_REGEN_DISABLED = <function> defined @DBM-Core/DBM-Core.lua:4854
 FireEvent = <function> defined @DBM-Core/DBM-Core.lua:1931
 CreateModLocalization = <function> defined @DBM-Core/modules/objects/Localization.lua:89
 SCENARIO_COMPLETED = <function> defined @DBM-Core/DBM-Core.lua:3596
 IsEnabled = <function> defined @DBM-Core/DBM-Core.lua:6809
 GetMyPlayerInfo = <function> defined @DBM-Core/DBM-Core.lua:2659
 BuildVoiceCountdownCache = <function> defined @DBM-Core/DBM-Core.lua:10257
 ADDON_LOADED = <function> defined @DBM-Core/DBM-Core.lua:1599
 SortByRangedRoster = <function> defined @DBM-Core/DBM-Core.lua:7898
 IconNumToTexture = <function> defined @DBM-Core/DBM-Core.lua:6978
 lastAntiSpamFLASH = 1114631.844000
 ReceiveVariableInfo = <function> defined @DBM-Core/DBM-Core.lua:6474
 BattleMusic = <table> {
 }
 registeredUnitEvents = <table> {
 }
 INSTANCE_GROUP_SIZE_CHANGED = <function> defined @DBM-Core/DBM-Core.lua:2526
 VoiceVersions = <table> {
 }
 AddDefeatSound = <function> defined @DBM-Core/modules/Sounds.lua:117
 Voices = <table> {
 }
 SortByMeleeRoster = <function> defined @DBM-Core/DBM-Core.lua:7874
 AddOns = <table> {
 }
 GetBossUnitId = <function> defined @DBM-Core/DBM-Core.lua:2796
 Options = <table> {
 }
 AddDefaultOptions = <function> defined @DBM-Core/DBM-Core.lua:2946
 UPDATE_MOUSEOVER_UNIT = <function> defined @DBM-Core/DBM-Core.lua:3949
 ZONE_CHANGED_NEW_AREA = <function> defined @DBM-Core/DBM-Core.lua:3796
 GetModLocalization = <function> defined @DBM-Core/modules/objects/Localization.lua:106
 FilterRaidBossEmote = <function> defined @DBM-Core/DBM-Core.lua:1434
 RequestTimers = <function> defined @DBM-Core/DBM-Core.lua:6421
 CINEMATIC_START = <function> defined @DBM-Core/DBM-Core.lua:7032
 GetMusic = <function> defined @DBM-Core/modules/Sounds.lua:236
 Music = <table> {
 }
 SortByGroup = <function> defined @DBM-Core/DBM-Core.lua:7823
 GetBattleMusic = <function> defined @DBM-Core/modules/Sounds.lua:203
 UPDATE_BATTLEFIELD_STATUS = <function> defined @DBM-Core/DBM-Core.lua:3574
 RAID_BOSS_WHISPER = <function> defined @DBM-Core/DBM-Core.lua:5114
 CheckNearby = <function> defined @D
MysticalOS commented 8 months ago

This unfortunately is just a blizzard problem. their script ran too long code is just really bad because the way they handle a script running too long, is by running one that takes even longer and locks game up and completely breaks addon in question.

As for actual issue here, its when the blizzard function PlaySoundFIle "takes too long" because it has trouble reading media from disk in 250ms or less, which can mean anything from slow disk read speed to antivirus or backup tasks or windows update was running in background at time it happened, slowing down file access. Something caused slow disk access in that moment. If it's an infrequent issue I'd just ignore it. if it's a frequent issue I'd investigate what's causing lower disk read performance and try to optimize that.