Skip to content
This repository was archived by the owner on Sep 1, 2026. It is now read-only.
This repository was archived by the owner on Sep 1, 2026. It is now read-only.

Gateway auto-restart stalls at login screen on unhandled promotional interstitial dialog (titled "Gateway") #382

Description

@hpadmanabhan

Environment

  • IBC 3.24.1 (bundled in the gnzsnz/ib-gateway-docker image, tag 10.45.1j)
  • IB Gateway 10.45.1j, paper account, headless under Xvfb (Linux container)
  • Scheduled nightly restart via AutoRestartTime

What happened

At the scheduled auto-restart, the Gateway reached the login dialog and then displayed an additional dialog that IBC did not recognize. IBC logged the dialog events but took no action, and the login never proceeded — the session stalled indefinitely (>12 minutes) until we restarted the container, after which login completed normally in seconds.

Log excerpt from the stall:

2026-08-25 23:00:07:437 IBC: Invoking config dialog menu
2026-08-25 23:00:07:442 IBC: Login dialog WINDOW_OPENED: LoginState is LOGGED_OUT
2026-08-25 23:00:07:721 IBC: detected dialog entitled: Gateway; event=Opened
2026-08-25 23:00:07:747 IBC: GATEWAY

2026-08-25 23:00:07:747 IBC: detected frame entitled: IBKR Gateway; event=Lost focus
2026-08-25 23:00:07:749 IBC: detected dialog entitled: Gateway; event=Focused
(no further log output — login never proceeded)

What the dialog was

The Gateway's settings folder cached a 1200x1000 promotional image (an IBKR "Trade Prediction Markets" marketing interstitial) with a file timestamp matching the dialog detection to the second, so the blocking dialog appears to be a marketing interstitial served at the login screen (LoginState was LOGGED_OUT when it opened). Two full boot logins the same evening — one before and one after the stall — completed normally (the earlier one had also cached a similar promotional asset without any blocking dialog); only the auto-restart cycle displayed the blocking dialog.

Ask

A handler that dismisses promotional/interstitial dialogs at the login screen — or a configurable action/timeout for unrecognized dialogs while LoginState is LOGGED_OUT — would prevent unattended installations from wedging on marketing content. LoginDialogDisplayTimeout does not cover this case since the login dialog was displayed.

Happy to provide the full log or the cached interstitial image if useful.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions