macOS 26.6: SIGSEGV on first keypress after restoring windowState (QDockAreaLayout null separator widget)
Operating System and Version
macOS 26.6 (darwin 25.6.0), Apple Silicon (arm64)
Distribution
Official GitHub DMG: NotepadNext v0.14 (April 2026 release)
Description
After restoring a session with Folder as Workspace and other docks, the app launches, but the first keypress in the untitled editor causes an immediate SIGSEGV.
This is not the Gatekeeper / quarantine “damaged app” problem. After clearing quarantine (xattr -dr com.apple.quarantine /Applications/NotepadNext.app) the binary launches and runs until typing.
Qt logs a null dock separator immediately before the crash:
QDockAreaLayout::updateSeparatorWidgets: null separator widgetthen MainWindow::updateSaveStatusBasedUi, then the process dies with zsh: segmentation fault.
This looks consistent with QTBUG-111538 (QDockAreaLayout::updateSeparatorWidgets null deref after restoreState) in Qt 6.5.x. The GitHub v0.14 macOS build ships Qt 6.5.3.
I do not have a local .ips / DiagnosticReports file for this crash; it is confirmed by launching from Terminal and getting SIGSEGV. No Mac crash dialog was produced on this machine (~/Library/Logs/DiagnosticReports was empty for this event).
I understand the project may not have a Mac for testing, so I tried to make this report self-contained (repro, workaround, Qt bug pointer, and related issues). Happy to run extra debug builds or capture more logs if that would help.
Related (not duplicates of this exact crash):
- #915 — open: random
EXC_BAD_ACCESS/ SIGSEGV in Qt layout on macOS 26, originally v0.12 / Intel; not a first-keypress +windowStaterestore repro, and noupdateSeparatorWidgetslog. - #121 — closed: invalid
windowStatecausing startup crashes (Windows, floating Editor Inspector). - #968 — closed: Linux Qt 6.10 segfaults; last log can mention
updateSaveStatusBasedUi, different OS/Qt. - #1066 — closed: Linux Mint, app closes on 2nd Folder-as-Workspace file click (not a typing crash).
Steps to Reproduce
- Restore a session whose
~/.config/NotepadNext/NotepadNext.ini[MainWindow]section contains a savedwindowState=(and typicallygeometry=) with Folder as Workspace plus other docks visible. - Launch
/Applications/NotepadNext.app/Contents/MacOS/NotepadNextfrom Terminal (so the SIGSEGV is visible). - Click in the untitled editor and type any key.
- Immediate crash.
Expected: the character is inserted and the window stays up.
Actual: process exits with a segmentation fault on the first keypress.
Debug Information
- App: NotepadNext v0.14 (GitHub DMG, Apr 2026)
- Qt: 6.5.3
- Arch: arm64 native (
NotepadNext.app) - OS: macOS 26.6 (darwin 25.6.0), Apple Silicon
- Config:
~/.config/NotepadNext/NotepadNext.ini - Workspace: Folder as Workspace (e.g.
RootPathpointing at a local notes folder). Personal absolute paths omitted; any folder with a restored dock layout should suffice.
Additional Details
CLI log excerpt (verbatim):
[ 2.331] W: QDockAreaLayout::updateSeparatorWidgets: null separator widget
[ 2.672] I: void MainWindow::updateSaveStatusBasedUi(ScintillaNext *)
zsh: segmentation fault /Applications/NotepadNext.app/Contents/MacOS/NotepadNextWorkaround: delete geometry= and windowState= from the [MainWindow] section of NotepadNext.ini. Other settings can stay (font, wrap, FolderAsWorkspace RootPath, etc.). The app then starts and typing works.
Caveat: Folder as Workspace layout is needed for daily use. Restoring docks and quitting may re-save a crashing windowState, so the workaround is not durable without avoiding dock restore or upgrading Qt / patching restore.
Qt note: QTBUG-111538 — QDockAreaLayout::updateSeparatorWidgets null dereference after restoreState on Qt 6.5.x.
Possible directions (for whoever can test on Mac or bump Qt):
- Upgrade the macOS build past the affected 6.5.x dock-restore bug, and/or
- Guard
restoreState/ separator widgets so a bad or version-skewedwindowStatecannot null-deref on first layout/key event, and/or - Ignore or reset
windowStateifupdateSeparatorWidgetsreports a null separator.
Thank you for maintaining NotepadNext.
Source: dail8859/NotepadNext