Skip to content

fix(deps): exclude Qt 6.12.0 callback refcount regression - #6

Draft
lukisch wants to merge 1 commit into
mainfrom
fix/qt612-binding-regression-20261015
Draft

lukisch wants to merge 1 commit into
mainfrom
fix/qt612-binding-regression-20261015

Conversation

@lukisch

@lukisch lukisch commented Oct 15, 2026 •

Copy link
Copy Markdown
Contributor

Fresh installs currently resolve PySide6 6.12.0, which corrupts None reference counts in an isolated QSyntaxHighlighter callback probe. Exclude exactly 6.12.0 in requirements.txt and pyproject.toml so source and packaged installs use the same restriction. The minimum supported version and all application code/tests remain unchanged.

Evidence: diagnostic PR #4, exact head e8c80d9, CI38785569217. Linux/Python3.11.17 with PySide6+shiboken6.11.2 completes 12,000 callbacks with None refcount fixed at5199 (job116597284398). With6.12.0 the same standalone probe falls from5202 to2475 by iteration100, then aborts134 with none_dealloc (job116597284425). No product modules, settings or project files are loaded in that comparison.

Validation: both dependency specifications parse identically, reject6.12.0, accept6.11.2 and retain minimum6.5.0; git diff --check passes. Full native product CI is required to establish the mitigation's effect on CodeBox. No tests skipped or assertions weakened. This does not prove every previous native crash shares the same cause.

Based directly on main69e312ca3b0e94fd279fea0fa0b98a0e66e59ab0, independent of #3/#4/#5. No application version bump, release or runtime mirror change. Author model: gpt-6.1-sol (Codex). Independent review pending. Draft only; merges disabled.

Exact-head native validation is now complete: CI38786624086 reports SUCCESS for all12 actual Linux/Windows/macOS Python3.10–3.13 test cells and lint. Platform-smoke38786624462 reports SUCCESS for Linux and macOS. Windows3.12 job116600229867 installs PySide6/shiboken6.11.2 and completes360 passed/1 existing opt-in skip with successful process exit. No matrix cell was skipped, test assertion weakened or job timeout increased. This establishes the mitigation for these CI executions; physical interactive desktop acceptance and independent review remain open.

Generated-with: gpt-6.1-sol (Codex)
@github-actions

Copy link
Copy Markdown

Welcome! 👋 Thanks for your first pull request in this repository.

A maintainer will review it soon. Please make sure:

  • Your changes are tested
  • Documentation is updated if needed
  • The PR description explains what and why

Thanks for contributing!

@ellmos-multi-bot

Copy link
Copy Markdown

Independent exact-head review (gpt-6.1-sol, separate instance 01a14c4d), head ab352f0: no blocking finding in the complete two-file diff.

Both runtime dependency manifests retain PySide6>=6.5.0 and exclude exactly 6.12.0. Parsed TOML comparison confirms all other metadata, optional dependencies and package version unchanged. Dependency boundary checks passed; 6 local security/license contract tests passed on Windows Python 3.12; git diff --check is clean. I did not rerun the full local UI suite.

I independently read the isolated probe source at diagnostic head e8c80d9 and its primary job logs: the probe imports no product code; job 116597284398 completed 12,000 callbacks with Qt/shiboken 6.11.2 and stable None refcount 5199, while job 116597284425 with 6.12.0 failed with none_dealloc after decreasing None refcounts. This supports the narrow exclusion; it does not establish that every earlier crash has this cause or guarantee future Qt versions.

Current-head Windows Python 3.12 job 116600229867 installed Qt/shiboken 6.11.2 and reported 360 passed, 1 opt-in skip. All 19 current check runs are successful, including the native Windows/Linux/macOS matrix and smoke checks. These are CI results, not physical desktop acceptance.

The explicit Draft-only / merges-disabled instruction remains in effect. No ready, merge, release or workflow change performed.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants