Syling Tracker

Syling Tracker

28.6k Downloads

Lua-Error: "script ran too long"

Digawen opened this issue ยท 5 comments

commented

At irregular intervals I got a Lua error, which also caused my game to freeze for 1-2 seconds. (no FPS drop)

At the end of the M+ my game hung up completely.

I also tried it in a 2nd M+, same result, but it seemed that the problem would only occur as soon as the first boss was defeated.

At first I also thought it was due to a Weakaura.
(https://wago.io/M+Timer)

But even after deleting and restarting WoW before the 2nd M+, there were still errors.

Version of SylingTracker: 2.0.0
Version of Scorpio: v197

Lua-Error:

180x Scorpio/Modules/Core.lua:78: script ran too long
[string "@Scorpio/Modules/Core.lua"]:78: in function <Scorpio/Modules/Core.lua:73>
[string "=(tail call)"]: ?

Locals:
map =

{
= defined @SylingTracker/SylingModule.lua:105
}
(for generator) = defined =[C]:-1
(for state) =
{
= defined @SylingTracker/SylingModule.lua:105
}
(for control) =
{
OnActive = defined @SylingTracker/Contents/Keystone/Keystone.lua:35
_ActiveOnEvents =
{
}
DebugTools =
GetMapUIInfo = defined =[C]:-1
GetInstanceTextureFileID = defined Argument_Validate_006:3
GetActiveKeystoneInfo = defined =[C]:-1
GetAffixInfo = defined =[C]:-1
RegisterObservableContent = defined Argument_Validate_00aa:3
UPDATE_INSTANCE_INFO = defined @SylingTracker/Contents/Keystone/Keystone.lua:113
GetTime = defined =[C]:-1
UpdateDungeonTexture = defined @SylingTracker/Contents/Keystone/Keystone.lua:67
BecomeActiveOn = defined @SylingTracker/Contents/Keystone/Keystone.lua:31
GetInstanceInfo = defined =[C]:-1
API =
_ActiveOnHandler = defined @SylingTracker/Contents/Keystone/Keystone.lua:31
ipairs = defined =[C]:-1
WORLD_STATE_TIMER_STOP = defined @SylingTracker/Contents/Keystone/Keystone.lua:156
LE_WORLD_ELAPSED_TIMER_TYPE_CHALLENGE_MODE = 2
_Syling__Active = true
C_ChallengeMode =
{
}
Utils =
CHALLENGE_MODE_START = defined @SylingTracker/Contents/Keystone/Keystone.lua:139
GetCriteriaInfo = defined =[C]:-1
KEYSTONE_CONTENT_SUBJECT =
{
}
__PLOOP_ENV_BSENV =
{
}
C_Scenario =
{
}
GetInfo = defined =[C]:-1
GetWorldElapsedTime = defined =[C]:-1
CHALLENGE_MODE_DEATH_COUNT_UPDATED = defined @SylingTracker/Contents/Keystone/Keystone.lua:162
select = defined =[C]:-1
_ActivatingEventArgs =
{
}
_ActiveByEvent = "CHALLENGE_MODE_START"
ActiveOnEvents =
GetActiveChallengeMapID = defined =[C]:-1
SystemEvent =
WORLD_STATE_TIMER_START = defined @SylingTracker/Contents/Keystone/Keystone.lua:146
SylingTracker_ENEMY_PULL_COUNT_CHANGED = defined @SylingTracker/Contents/Keystone/Keystone.lua:169
KeystoneContentSubject =
KEYSTONE_UPDATE = defined @SylingTracker/Contents/Keystone/Keystone.lua:133
GetStepInfo = defined =[C]:-1
__PLOOP_ENV_OWNNS =
UpdateObjectives = defined @SylingTracker/Contents/Keystone/Keystone.lua:41
UpdateKeystoneInfo = defined @SylingTracker/Contents/Keystone/Keystone.lua:78
}
obj =
{
OnActive = defined @SylingTracker/Contents/Keystone/Keystone.lua:35
_ActiveOnEvents =
{
}
DebugTools =
GetMapUIInfo = defined =[C]:-1
GetInstanceTextureFileID = defined Argument_Validate_006:3
GetActiveKeystoneInfo = defined =[C]:-1
GetAffixInfo = defined =[C]:-1
RegisterObservableContent = defined Argument_Validate_00aa:3
UPDATE_INSTANCE_INFO = defined @SylingTracker/Contents/Keystone/Keystone.lua:113
GetTime = defined =[C]:-1
UpdateDungeonTexture = defined @SylingTracker/Contents/Keystone/Keystone.lua:67
BecomeActiveOn = defined @SylingTracker/Contents/Keystone/Keystone.lua:31
GetInstanceInfo = defined =[C]:-1
API =
_ActiveOnHandler = defined @SylingTracker/Contents/Keystone/Keystone.lua:31
ipairs = defined =[C]:-1
WORLD_STATE_TIMER_STOP = defined @SylingTracker/Contents/Keystone/Keystone.lua:156
LE_WORLD_ELAPSED_TIMER_TYPE_CHALLENGE_MODE = 2
_Syling__Active = true
C_ChallengeMod

commented

In the 2.0.2, the distance of quests is no longer updated in the instance, this was previously the case when your character is moving, this refresh every second.

commented

I identified the problem, and its origin, the 2.0.3 should fix the issue. In addition of that, the timers will now be updated every 0.5s (instead of each frame) for reducing the performance cost.

Remain other things i need to check, and plan to do an additional improvement/fix in the next update.

commented

Thank you for your work, with version 2.0.3 there were no problems during the M+ run, but at the end of the instance I had a long freeze that lasted several minutes.

The freeze started exactly when I defeated the final boss.

Including the following Lua error.

26x Scorpio/Modules/Core.lua:78: script ran too long
[string "@Scorpio/Modules/Core.lua"]:78: in function <Scorpio/Modules/Core.lua:73>
[string "=(tail call)"]: ?

Locals:
map =

{
= defined @SylingTracker/SylingModule.lua:105
}
(for generator) = defined =[C]:-1
(for state) =
{
= defined @SylingTracker/SylingModule.lua:105
}
(for control) =
{
OnActive = defined @SylingTracker/Contents/Keystone/Keystone.lua:36
_ActiveOnEvents =
{
}
DebugTools =
GetMapUIInfo = defined =[C]:-1
GetInstanceTextureFileID = defined Argument_Validate_006:3
GetActiveKeystoneInfo = defined =[C]:-1
GetAffixInfo = defined =[C]:-1
RegisterObservableContent = defined Argument_Validate_00aa:3
UpdateObjectives = defined @SylingTracker/Contents/Keystone/Keystone.lua:43
GetTime = defined =[C]:-1
UpdateDungeonTexture = defined @SylingTracker/Contents/Keystone/Keystone.lua:69
BecomeActiveOn = defined @SylingTracker/Contents/Keystone/Keystone.lua:32
GetInstanceInfo = defined =[C]:-1
API =
_ActiveOnHandler = defined @SylingTracker/Contents/Keystone/Keystone.lua:32
ipairs = defined =[C]:-1
WORLD_STATE_TIMER_STOP = defined @SylingTracker/Contents/Keystone/Keystone.lua:167
LE_WORLD_ELAPSED_TIMER_TYPE_CHALLENGE_MODE = 2
_Syling__Active = true
GetWorldElapsedTime = defined =[C]:-1
C_ChallengeMode =
{
}
UpdateDeathCounter = defined @SylingTracker/Contents/Keystone/Keystone.lua:106
ActiveOnEvents =
strsub = defined =[C]:-1
CHALLENGE_MODE_START = defined @SylingTracker/Contents/Keystone/Keystone.lua:150
GetCriteriaInfo = defined =[C]:-1
tonumber = defined =[C]:-1
select = defined =[C]:-1
GetDeathCount = defined =[C]:-1
__PLOOP_ENV_BSENV =
{
}
_ActivatingEventArgs =
{
}
C_Scenario =
{
}
GetInfo = defined =[C]:-1
_ActiveByEvent = "CHALLENGE_MODE_START"
CHALLENGE_MODE_DEATH_COUNT_UPDATED = defined @SylingTracker/Contents/Keystone/Keystone.lua:173
KeystoneContentSubject =
GetActiveChallengeMapID = defined =[C]:-1
SylingTracker_ENEMY_PULL_COUNT_CHANGED = defined @SylingTracker/Contents/Keystone/Keystone.lua:182
SystemEvent =
WORLD_STATE_TIMER_START = defined @SylingTracker/Contents/Keystone/Keystone.lua:157
Utils =
KEYSTONE_UPDATE = defined @SylingTracker/Contents/Keystone/Keystone.lua:144
UPDATE_INSTANCE_INFO = defined @SylingTracker/Contents/Keystone/Keystone.lua:120
GetStepInfo = defined =[C]:-1
__PLOOP_ENV_OWNNS =
KEYSTONE_CONTENT_SUBJECT =
{
}
UpdateKeystoneInfo = defined @SylingTracker/Contents/Keystone/Keystone.lua:80
}
obj =
{
OnActive = defined @SylingTracker/Contents/Keystone/Keystone.lua:36
_ActiveOnEvents =
{
}
DebugTools =
GetMapUIInfo = defined =[C]:-1
GetInstanceTextureFileID = defined Argument_Validate_006:3
GetActiveKeystoneInfo = defined =[C]:-1
GetAffixInfo = defined =[C]:-1
RegisterObservableContent = defined Argument_Validate_00aa:3
UpdateObjectives = defined @SylingTracker/Contents/Keystone/Keystone.lua:43
GetTime = defined =[C]:-1
UpdateDungeonTexture = defined @SylingTracker/Contents/Keystone/Keystone.lua:69
BecomeActiveOn = defined @SylingTracker/Contents/Keystone/Keystone.lua:32
GetInstanceInfo = defined =[C]:-1
API =
_ActiveOnHandler = defined @SylingTracker/Contents/Keystone/Keystone.lua:32
ipairs = <fu

commented

I can confirm this. Everything is running great again. Thanks for your work.

commented

With the latest version (2.0.4), i improved my previous fix so no performance issues should be occur now.