You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Intermittent Windows pytest process abort after passing suite #9
The Windows CI test process has intermittently aborted after pytest reports that the full suite passed. The failing output contains no Python traceback, so the cause is still unknown.
Observed runs
Workflow run 38197265396: Windows Python 3.10 job 114642610015 and Python 3.11 job 114642609617 each reported 104 passed and 6 subtests passed, then Fatal Python error: Aborted, <no Python frame>, and process exit code 3. Both logs report pytest 9.1.1, PySide6 6.12.0, and shiboken6 6.12.0. The Windows Python 3.12 job passed in that run.
Workflow run 38197967088 on diagnostic workflow head 3cae09e270c260d0cc7e98069656b684a9bd6233: Windows Python 3.10, 3.11, and 3.12 each completed with 104 passed and 6 subtests passed. The failure-triggered per-module probes were not triggered on this run.
Follow-up
PR #8 adds failure-triggered module-by-module process diagnostics for Windows Python 3.10/3.11 while preserving the full-suite exit status. It is diagnostic instrumentation, not a fix.
No root cause has been established. These observations do not establish a Qt/PySide regression or a product defect. On a recurrence, use the per-module output to narrow the failing process and retain the exact CI logs and dependency versions before proposing a code or dependency change.
Main-branch workflow run 38198268705 on merge commit c216db746d743b0d1f4d1a0f4934167ce0906f57 failed only in Windows Python 3.10 job 114645710798. Pytest reported 104 passed and 6 subtests passed, then the process emitted a native abort/access-violation message with no Python frame and exited -1073741819.
The new failure-triggered diagnostics launched 15 separate test-module processes; all 15 exited 0. The original full-suite failure status was preserved. Windows Python 3.11 and 3.12 jobs passed on the same merge commit, and CodeQL run 38198268754 passed.
This confirms the issue can recur at full-process shutdown/integration even when every module passes alone. It still does not identify the cause.
PR #10 (6cb7640cf8427dff03c3167d04f5f4e6b94afd54) adds a session-scoped QApplication fixture for the GUI tests. During fixture teardown, test-owned tray icons are hidden and detached from their context menus, top-level test widgets are closed and scheduled with deleteLater(), and queued DeferredDelete events are delivered before the fixture releases its application reference. Production code, thread behavior, and functional test assertions were left unchanged.
The PR-head Windows matrix passed on Python 3.10, 3.11, and 3.12: each full run reported 104 passed and 6 subtests passed, with process exit code 0. The six source-platform smoke jobs and CodeQL checks also passed. Main run 38199629096 passed on merge commit ef14bc88528f09cb44dcccd183ae893ff0c396fc.
The earlier native abort did not recur in these runs. These results do not establish its cause or prove it cannot recur, so this issue remains open for recurrence monitoring.
Activity
lukisch commentedon Oct 12, 2026
New recurrence after diagnostic workflow merge
Main-branch workflow run 38198268705 on merge commit
c216db746d743b0d1f4d1a0f4934167ce0906f57failed only in Windows Python 3.10 job 114645710798. Pytest reported 104 passed and 6 subtests passed, then the process emitted a native abort/access-violation message with no Python frame and exited-1073741819.The new failure-triggered diagnostics launched 15 separate test-module processes; all 15 exited 0. The original full-suite failure status was preserved. Windows Python 3.11 and 3.12 jobs passed on the same merge commit, and CodeQL run 38198268754 passed.
This confirms the issue can recur at full-process shutdown/integration even when every module passes alone. It still does not identify the cause.
lukisch commentedon Oct 12, 2026
PR #10 (
6cb7640cf8427dff03c3167d04f5f4e6b94afd54) adds a session-scopedQApplicationfixture for the GUI tests. During fixture teardown, test-owned tray icons are hidden and detached from their context menus, top-level test widgets are closed and scheduled withdeleteLater(), and queuedDeferredDeleteevents are delivered before the fixture releases its application reference. Production code, thread behavior, and functional test assertions were left unchanged.The PR-head Windows matrix passed on Python 3.10, 3.11, and 3.12: each full run reported 104 passed and 6 subtests passed, with process exit code 0. The six source-platform smoke jobs and CodeQL checks also passed. Main run 38199629096 passed on merge commit
ef14bc88528f09cb44dcccd183ae893ff0c396fc.The earlier native abort did not recur in these runs. These results do not establish its cause or prove it cannot recur, so this issue remains open for recurrence monitoring.