Wow hangs on login in versions newer than 1.8.1
Closed this issue ยท 5 comments
Versions newer than 1.8.1 contain what appears to be an infinite loop in the professions module that cause WoW to literally hang at login until the script times out.
2x Exlist/Modules/Professions.lua:498: script ran too long
[string "@Exlist/Modules/Professions.lua"]:518: in function <Exlist/Modules/Professions.lua:506>
[string "@Exlist/Modules/Professions.lua"]:608: in function <Exlist/Modules/Professions.lua:596>
[string "=[C]"]: in function `xpcall'
[string "@Exlist/Exlist.lua"]:1562: in function `OnEvent'
[string "@Exlist/Exlist.lua"]:1586: in function `SendFakeEvent'
[string "@Exlist/Exlist.lua"]:1451: in function <Exlist/Exlist.lua:1449>
[string "@Exlist/Exlist.lua"]:1537: in function `OnEvent'
[string "@Exlist/Exlist.lua"]:1586: in function `SendFakeEvent'
[string "@Exlist/Exlist.lua"]:1546: in function <Exlist/Exlist.lua:1545>
Locals:
profId = 6
profName = "Alchemy"
icon = 4620669
currentSkill = 57
maxSkill = 100
_ = 1
_ = 178
skillId = 171
data = <table> {
maxSkill = 100
name = "Alchemy"
skill = 57
icon = 4620669
weeklies = <table> {
}
}
(for state) = <table> {
1 = <table> {
}
2 = <table> {
}
3 = <table> {
}
4 = <table> {
}
5 = <table> {
}
}
(for control) = 1
_ = 1
weekly = <table> {
type = "darkmoon"
points = 3
questId = 29506
name = "Darkmoon Faire"
}
professionWeeklies = <table> {
773 = <table> {
}
171 = <table> {
}
164 = <table> {
}
202 = <table> {
}
165 = <table> {
}
393 = <table> {
}
186 = <table> {
}
182 = <table> {
}
333 = <table> {
}
197 = <table> {
}
755 = <table> {
}
}
WEEKLY_TYPE = <table> {
DARKMOON = "darkmoon"
ITEM = "item"
QUEST = "quest"
}
2x Exlist/Exlist.lua:1563: script ran too long
[string "@Exlist/Exlist.lua"]:1563: in function `OnEvent'
[string "@Exlist/Exlist.lua"]:1586: in function `SendFakeEvent'
[string "@Exlist/Exlist.lua"]:1451: in function <Exlist/Exlist.lua:1449>
[string "@Exlist/Exlist.lua"]:1537: in function `OnEvent'
[string "@Exlist/Exlist.lua"]:1586: in function `SendFakeEvent'
[string "@Exlist/Exlist.lua"]:1546: in function <Exlist/Exlist.lua:1545>
Locals:
self = nil
event = "PLAYER_ENTERING_WORLD"
(for state) = <table> {
1 = <table> {
}
2 = <table> {
}
3 = <table> {
}
4 = <table> {
}
5 = <table> {
}
6 = <table> {
}
7 = <table> {
}
8 = <table> {
}
}
(for control) = 8
i = 8
data = <table> {
key = "professions-df"
name = "Professions"
}
started = 1353678271.001000
(*temporary) = false
(*temporary) = nil
(*temporary) = false
(*temporary) = <table> {
}
(*temporary) = "script ran too long"
db = <table> {
global = <table> {
}
Draenor = <table> {
}
}
config_db = <table> {
settings = <table> {
}
accountSync = <table> {
}
resetTime = 1725422399
resetDailyTime = 1725335999
}
Exlist = <table> {
Expansions = <table> {
}
Strings = <table> {
}
OKMark = "Addons/Exlist/Media/Icons/ok-icon"
tooltipData = <table> {
}
ConfigDB = <table> {
}
DEFAULT_BACKDROP = <table> {
}
accountSync = <table> {
}
Fonts = <table> {
}
Colors = <table> {
}
iconPaths = <table> {
}
ShortenedMPlus = <table> {
}
timers = <table> {
}
DB = <table> {
}
activeTooltips = <table> {
}
constants = <table> {
}
debugMode = false
L = <table> {
}
debugString = "|cffc73000[Exlist Debug]|r"
QuestTitleFromID = <table> {
}
ModuleData = <table> {
}
CancelMark = "Addons/Exlist/Media/Icons/cancel-icon"
}
C_Timer = <table> {
}
delay = false
running = true
delayedEvents = <table> {
UPDATE_PENDING_MAIL = 1
MYTHIC_PLUS_CURRENT_AFFIX_UPDATE = 1
BAG_UPDATE = 1
EJ_DIFFICULTY_UPDATE = 1
WEEKLY_REWARDS_UPDATE = 1
UPDATE_INSTANCE_INFO = 1
PLAYER_ENTERING_WORLD = 1
PLAYER_TALENT_UPDATE = 1
CURRENCY_DISPLAY_UPDATE = 1
CHALLENGE_MODE_MAPS_UPDATE = 1
TIME_PLAYED_MSG = 1
UPDATE_FACTION = 1
}
settings = <table> {
allowedModules = <table> {
}
worldQuests = <table> {
}
extraInfoToggles = <table> {
}
tooltipScale = 1
shortenInfo = false
iconAlpha = 1
reorder = true
showQuestsInExtra = false
announceReset = false
allowedCharacters = <table> {
}
wqRules = <table> {
}
iconScale = 0.800000
minLevelToTrack = 60
showTotalsTooltip = true
showIcon = true
backdrop = <table> {
}
showExtraInfoTooltip = true
minimapTable = <table> {
}
worldbosses = <table> {
}
showMinimapIcon = false
orderByIlvl = false
tooltipHeight = 600
horizontalMode = true
reputation = <table> {
}
unsortedFolder = <table> {
}
currencies = <table> {
}
azeriteWeekly = true
characterOrder = <table> {
}
lockIcon = false
Font = "PT_Sans_Narrow"
showCurrentRealm = false
fonts = <table> {
}
quests = <table> {
}
delay = 0.200000
hideEmptyCurrency = false
}
Tested with all other addons disabled and it still happens.
Notes:
- Characters below level 70 do not exhibit this problem
- Disabling the Professions module also fixes the issue
Hey @kayti-wow,
Thanks for the report. Will be pushing fix for this relatively shortly.
Looks like it's a missing increment of i in this function:
local function isDFup()
local i = 1
local date = C_DateAndTime.GetCurrentCalendarTime();
repeat
local holidayInfo = C_Calendar.GetHolidayInfo(0, date.monthDay, i)
if (holidayInfo and holidayInfo.texture == 235448) then
return true
end
until holidayInfo == nil
return false
end
This should fix it:
local function isDFup()
local i = 1
local date = C_DateAndTime.GetCurrentCalendarTime();
repeat
local holidayInfo = C_Calendar.GetHolidayInfo(0, date.monthDay, i)
if (holidayInfo and holidayInfo.texture == 235448) then
return true
end
i = i + 1
until holidayInfo == nil
return false
end
@kayti-wow, thanks, but I already pushed temp fix. GetHolidayInfo
did not work the way I thought it does, so will need to rework whole Darkmoon Faire check anyway. And yeah had forgot to to iterrate