Skip to content

Hang after connecting, main window never shown: tabs.ini with an empty section "[]" #2637

Open

Description

@andreslacquaniti

Description

After opening a session, HeidiSQL never shows its main window and hangs ("Not responding"). The session manager works fine; the hang starts right after clicking "Open". It survived a Windows reboot and a
reinstall of HeidiSQL.

The trigger is %APPDATA%\HeidiSQL\tabs.ini: with that file renamed, HeidiSQL opens and connects in ~2 seconds.

Tested launching with heidisql.exe -d="<session>", one change at a time:

  • unchanged → hangs
  • main window position / maximized state reset in the registry → hangs
  • tabs.ini moved away → works

The only anomaly in that tabs.ini is a tab section with an empty name [], whose backup file is query-tab-.sql (no timestamp). The other tab and both .sql backup files look normal (1–2 KB of plain
SQL, no control characters). I don't know how the empty section was created; its backup file was last written on 2026-10-13.

Possibly related: #1224 (tabs.ini writing problems), and a comment in #200 describing a hang while restoring tabs.

HeidiSQL version and OS

12.21.0.7344, Windows 11 Pro for Workstations 23H2 (build 22631), 64-bit

Database server version

MariaDB 11.3.2 (localhost), library libmariadb.dll

Reproduction recipe

  1. Close HeidiSQL.
  2. Use this as %APPDATA%\HeidiSQL\tabs.ini (my original file; both backup files it points to exist):
[]
BackupFilename=C:\Users\<user>\AppData\Roaming\HeidiSQL\Backups\query-tab-.sql
Caption=Consulta
pid=31644
EditorHeight=208
HelpersWidth=196
TabFocused=0
EditorTopLine=22
[2026-10-13_11-09-09-438]
BackupFilename=C:\Users\<user>\AppData\Roaming\HeidiSQL\Backups\query-tab-2026-10-13_11-09-09-438.sql
pid=31644
EditorHeight=208
HelpersWidth=200
EditorTopLine=1
TabFocused=0
  1. Start HeidiSQL and open any session (or run heidisql.exe -d="<session>").

Result: the process keeps running and the connection is established, but the main window never appears and the app is not responding. Waited more than 15 minutes.

Expected: a malformed tab entry is skipped or given a new ID, and HeidiSQL starts normally.

Workaround: close HeidiSQL and rename or delete tabs.ini.

Error/Backtrace

No exception, no madExcept dialog. Observed while hung:
  - heidisql.exe running, TCP connection to ::1:3306 ESTABLISHED
  - TMainForm window exists but is not visible (WS_VISIBLE not set)
  - IsHungAppWindow() = TRUE; ShowWindow() from another process blocks forever
  - main thread uses ~10% of one core continuously; private memory stable (~33 MB)
  - server side the connection is idle; when the process is killed MariaDB logs:
    Aborted connection N to db: '<db>' user: '<user>' host: 'localhost' (Got an error reading communication packets)

Activity

  1. andreslacquaniti commented on Oct 15, 2026

    @andreslacquaniti
    Author

    Corrections to the description above:

    • The process stayed hung for more than 10 minutes before I killed it (not 15).
    • ShowWindow() from another process did not return within 2 minutes (not "forever").
    • What is confirmed: tabs.ini triggers the hang, and renaming it makes HeidiSQL start normally. That the empty [] section alone is the cause is an assumption I have not verified yet.
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

    bugDefective behaviour in HeidiSQL

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions