Questing Guide add on causing error in Gamepad mode [Crosspost from ESO UI]

Maintenance for the week of February 17:
• PC/Mac: No maintenance – February 17
• PC/Mac: NA and EU megaservers for maintenance – February 19, 4:00AM EST (9:00 UTC) - 12:00PM EST (17:00 UTC)
• Xbox: NA and EU megaservers for patch maintenance – February 19, 4:00AM EST (9:00 UTC) - 12:00PM EST (17:00 UTC)
• PlayStation®: NA and EU megaservers for patch maintenance – February 19, 4:00AM EST (9:00 UTC) - 12:00PM EST (17:00 UTC)
• ESO Store and Account System for maintenance – February 19, 4:00AM EST (9:00 UTC) - 12:00PM EST (17:00 UTC) https://forums.elderscrollsonline.com/en/discussion/673215
TybaltKaine
TybaltKaine
✭✭✭✭✭
@Alianym Hey, just wanted to give you a heads up on the following issue I'm seeing with Questing Guide. When I log in, it throws this error via bug catcher.

assert: Assertion failed!
stack traceback:
[C]: in function 'assert'
/EsoUI/PregameAndIngame/ZO_Options/Gamepad/ZO_Options_Gamepad.lua:697: in function 'ZO_GamepadOptions:RefreshGamepadInfoPanel'
<Locals> self = [table:1]{dirty = T, addListTriggerKeybinds = F, activateOnShow = F, updateCooldownMS = 0, settingsNeedApply = F, currentCategory = -1, isGamepadOptions = T}, control = ud, backKeyCode = 128, mostRecentGamepadType = 1, generalLayer = "General", isChordedKeySetupMap = [table:2]{148 = T}, key = 156, isSetup = F </Locals>
/EsoUI/PregameAndIngame/ZO_Options/Gamepad/ZO_Options_Gamepad.lua:44: in function '(anonymous)'


The practical effect is that when I try to open the Options menu in gamepad mode, I get a blank screen where the options should be and I am locked out of using the gamepad unless I reloadui or logout.

I have no clue what could be causing this, but after going through all my add ons I can confirm that this add on is causing this error.

Just wanted to give you a heads up in hopes the bug can be squashed, because I love using this add on to keep track of my story progress.

Link to ESO UI discussion: https://esoui.com/downloads/fileinfo.php?id=2612#comments

Edited by TybaltKaine on April 27, 2024 2:38PM
  • Tybalt Kaine Khajiit Nightblade Aldmeri Dominion
  • PC/NA
  • Guildmaster- Lucky Raven
  • Knight of Marrow - Blackfeather Academy
  • Adepti- The Witches Goblet
  • "Nightblade healer huh? How does that work?"
  • "I drain the blood of our enemies and fire it into you. It's a lot less messy than it sounds, and yeah I'm basically a Vampire without the whole AGH FIRE BAD"
  • TybaltKaine
    TybaltKaine
    ✭✭✭✭✭
    Video included to clarify issue

    https://youtu.be/kFKGD1UoAqY
    • Tybalt Kaine Khajiit Nightblade Aldmeri Dominion
    • PC/NA
    • Guildmaster- Lucky Raven
    • Knight of Marrow - Blackfeather Academy
    • Adepti- The Witches Goblet
    • "Nightblade healer huh? How does that work?"
    • "I drain the blood of our enemies and fire it into you. It's a lot less messy than it sounds, and yeah I'm basically a Vampire without the whole AGH FIRE BAD"
  • Baertram
    Baertram
    ✭✭✭✭✭
    Just a heads-up about BugCatcher and addons like it:
    https://forums.elderscrollsonline.com/en/discussion/comment/8097648/#Comment_8097648

    Thanks for not using those anymore.
  • TybaltKaine
    TybaltKaine
    ✭✭✭✭✭
    UPDATE

    I have found and isolated the cause of this bug. It is an interaction between TQG by @Alianym and Character Knowledge by @code65536. I have included a new video with the bug in action. This completely prevents me from seeing any UI elements that would allow me to logout and I had no access to any menus at all after triggering the bug.

    https://youtu.be/XaVmEVO4_FE


    The display when you log in is as follows:

    assert: Assertion failed!
    stack traceback:
    [C]: in function 'assert'
    /EsoUI/PregameAndIngame/ZO_Options/Gamepad/ZO_Options_Gamepad.lua:697: in function 'ZO_GamepadOptions:RefreshGamepadInfoPanel'
    <Locals> self = [table:1]{isGamepadOptions = T, updateCooldownMS = 0, dirty = T, currentCategory = -1, activateOnShow = F, settingsNeedApply = F, addListTriggerKeybinds = F}, control = ud, backKeyCode = 128, mostRecentGamepadType = 1, generalLayer = "General", isChordedKeySetupMap = [table:2]{148 = T}, key = 156, isSetup = F </Locals>
    /EsoUI/PregameAndIngame/ZO_Options/Gamepad/ZO_Options_Gamepad.lua:44: in function '(anonymous)'


    The display when the bug triggers (opening the options tab) is as follows:

    assert: Assertion failed!
    stack traceback:
    [C]: in function 'assert'
    /EsoUI/PregameAndIngame/ZO_Options/Gamepad/ZO_Options_Gamepad.lua:697: in function 'ZO_GamepadOptions:RefreshGamepadInfoPanel'
    <Locals> self = [table:1]{isGamepadOptions = T, updateCooldownMS = 0, dirty = T, currentCategory = -1, activateOnShow = F, settingsNeedApply = F, addListTriggerKeybinds = F}, control = ud, backKeyCode = 128, mostRecentGamepadType = 1, generalLayer = "General", isChordedKeySetupMap = [table:2]{148 = T}, key = 156, isSetup = F </Locals>
    /EsoUI/PregameAndIngame/ZO_Options/Gamepad/ZO_Options_Gamepad.lua:562: in function 'ZO_GamepadOptions:InitializeGamepadInfoPanel'
    <Locals> self = [table:1] </Locals>
    /EsoUI/PregameAndIngame/ZO_Options/Gamepad/ZO_Options_Gamepad.lua:143: in function 'ZO_GamepadOptions:OnDeferredInitialize'
    <Locals> self = [table:1] </Locals>
    /EsoUI/Common/Gamepad/ZO_GamepadParametricScrollListScreen.lua:637: in function 'ZO_Gamepad_ParametricList_Screen:PerformDeferredInitialize'
    <Locals> self = [table:1] </Locals>
    /EsoUI/Common/Gamepad/ZO_GamepadParametricScrollListScreen.lua:505: in function 'ZO_Gamepad_ParametricList_Screen:OnStateChanged'
    <Locals> self = [table:1], _ = "hidden", newState = "showing" </Locals>
    /EsoUI/PregameAndIngame/ZO_Options/Gamepad/ZO_Options_Gamepad.lua:103: in function 'ZO_GamepadOptions:OnStateChanged'
    <Locals> self = [table:1], oldState = "hidden", newState = "showing" </Locals>
    /EsoUI/Common/Gamepad/ZO_GamepadParametricScrollListScreen.lua:293: in function 'callback'
    /EsoUI/Libraries/Utility/ZO_CallbackObject.lua:132: in function 'ZO_CallbackObjectMixin:FireCallbacks'
    <Locals> self = [table:3]{activeScene = 1, state = "showing", fireCallbackDepth = 1}, eventName = "StateChange", registry = [table:4]{}, callbackInfoIndex = 1, callbackInfo = [table:5]{4 = F}, callback = /EsoUI/Common/Gamepad/ZO_GamepadParametricScrollListScreen.lua:292, deleted = F </Locals>
    /EsoUI/Libraries/ZO_Scene/ZO_SceneGroup.lua:55: in function 'ZO_SceneGroup:SetState'
    <Locals> self = [table:3], newState = "showing", oldState = "hidden" </Locals>
    /EsoUI/Libraries/ZO_Scene/ZO_SceneManager_Leader.lua:345: in function 'ZO_SceneManager_Leader:OnSceneStateHidden'
    <Locals> self = [table:6]{numScenesNextScenePops = 0, initialized = F, numRemoteTopLevelShown = 0, hudSceneName = "hud", remoteSceneSequenceNumber = 6, nextSceneClearsSceneStack = T, exitUIModeOnChatFocusLost = F, hudUISceneHidesAutomatically = T, isLoadingScreenShown = F, fireCallbackDepth = 0, hudUISceneName = "hudui", numTopLevelShown = 0, nextScenePushed = T}, scene = [table:7]{name = "mainMenuGamepad", wasRequestedToShowInGamepadPreferredMode = T, fireCallbackDepth = 0, wasShownInGamepadPreferredMode = T, restoresHUDSceneToggleUIMode = F, restoresHUDSceneToggleGameMenu = F, disallowEvaluateTransitionCompleteCount = 1, state = "hidden"}, nextSceneGroup = [table:3], currentNextScene = [table:8]{name = "gamepad_options_root", wasRequestedToShowInGamepadPreferredMode = T, restoresHUDSceneToggleUIMode = F, restoresHUDSceneToggleGameMenu = F, disallowEvaluateTransitionCompleteCount = 0, state = "hidden"} </Locals>
    /EsoUI/Libraries/ZO_Scene/ZO_SceneManager_Base.lua:281: in function 'ZO_SceneManager_Base:OnSceneStateChange'
    <Locals> self = [table:6], scene = [table:7], oldState = "hiding", newState = "hidden" </Locals>
    /EsoUI/Libraries/ZO_Scene/ZO_SceneManager_Leader.lua:328: in function 'ZO_SceneManager_Leader:OnSceneStateChange'
    <Locals> self = [table:6], scene = [table:7], oldState = "hiding", newState = "hidden" </Locals>
    /EsoUI/Ingame/Scenes/IngameSceneManager.lua:397: in function 'ZO_IngameSceneManager:OnSceneStateChange'
    <Locals> self = [table:6], scene = [table:7], oldState = "hiding", newState = "hidden" </Locals>
    /EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:152: in function 'ZO_Scene:SetState'
    <Locals> self = [table:7], newState = "hidden", oldState = "hiding", name = "mainMenuGamepad" </Locals>
    /EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:284: in function 'ZO_Scene:OnTransitionComplete'
    <Locals> self = [table:7], nextState = "hidden" </Locals>
    /EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:279: in function 'ZO_Scene:DetermineIfTransitionIsComplete'
    <Locals> self = [table:7], nextState = "hidden" </Locals>
    /EsoUI/Libraries/ZO_Scene/ZO_Scene.lua:201: in function 'ZO_Scene:OnSceneFragmentStateChange'
    <Locals> self = [table:7], fragment = [table:9]{state = "hidden"}, oldState = "hiding", newState = "hidden" </Locals>
    /EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:147: in function 'ZO_SceneFragment:SetState'
    <Locals> self = [table:9], newState = "hidden", oldState = "hiding", currentScene = [table:7] </Locals>
    /EsoUI/Libraries/ZO_Scene/ZO_SceneFragment.lua:157: in function 'ZO_SceneFragment:OnHidden'
    <Locals> self = [table:9] </Locals>
    /EsoUI/Ingame/PlayerProgressBar/PlayerProgressBar.lua:16: in function '(anonymous)'
    <Locals> timeline = ud, completed = T </Locals>
    Edited by TybaltKaine on May 20, 2024 1:50PM
    • Tybalt Kaine Khajiit Nightblade Aldmeri Dominion
    • PC/NA
    • Guildmaster- Lucky Raven
    • Knight of Marrow - Blackfeather Academy
    • Adepti- The Witches Goblet
    • "Nightblade healer huh? How does that work?"
    • "I drain the blood of our enemies and fire it into you. It's a lot less messy than it sounds, and yeah I'm basically a Vampire without the whole AGH FIRE BAD"
  • code65536
    code65536
    ✭✭✭✭✭
    ✭✭✭✭✭
    @TybaltKaine This is a strange issue, since CK most certainly does not touch anything related to gamepad UI, and I've never heard any report like this from the thousands of other players that use CK.

    I've investigated this issue that you reported, and I believe that neither CK nor TQG is at fault and are rather just "bystanders" caught by another problem.

    They key is the assertion at ZO_Options_Gamepad.lua:697. Jumping to that exact point in ZOS's code reveals that it was doing a validity check of your keybinds. Something that is done only in gamepad mode (I assume because of chording--keybinds that involve pressing multiple buttons at once).

    And this check found that one of the keybinds is invalid (the comments in ZOS's code suggests this may be caused by too many chords), and threw the error message that you saw.

    While both CK and TQG offer the user the option to keybind certain commands, CK does not actually set keybinds (not sure about TQG, but I would probably assume not as well), so there is an invalid user-set keybind associated with either or both of these addons.

    As for why you see this error only when these addons are enabled, it's because if the invalid keybind is associated with these addons and if these addons are disabled, then that keybind is also disabled and the game does not bother checking the validity of that keybind.

    So what can you do about this? One option would be just reset all your keybinds, which should also clear any custom-set invalid keybinds. If you want a more surgical approach, you could look for all the keybinds associated with these two addons and reset them manually.
    Edited by code65536 on June 20, 2024 12:58PM
    Nightfighters ― PC/NA and PC/EU

    Dungeons and Trials:
    Spoiler
    Personal best scores:
    Dungeon trifectas:
    Media: YouTubeTwitch
Sign In or Register to comment.