GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | |||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | |||||||||
GeezerVison is showing github.com — Python 3.14 by filmor · Pull Request #2611 · pythonnet/pythonnet Conversation
|
|
Some subjective feedback from my Windows machine with VS 2022:
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Also had to replace the target framework from net6.0 to net8.0. Also some feedback for .net 8:
And now getting an access memory violation for PyGC_Collect(); in Runtime.cs |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Status report: After applying the alignment "fix" (thanks!), things work for the most part. There are some crashes in explicit garbage collection, so I have disabled those tests for now. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Also, we currently apparently have a weird inheritance order for our meta type, which leads to it using the |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@filmor As the CI seems to be pretty broken ( Things not clear to me:
Thanks ;-) |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
There you go. There are still pending issues with the embedding tests that are being worked on in #2638, but I'd be fine with releasing a wheel if we get to the point that all Python tests run through without crashes on 3.14. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
This is the issue that we run into with the |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
@lostmsu Please have a look. It will require quite a bit more work to get everything green again (CI-wise, in particular around the embedding), but with these changes, we should be able to release a wheel for Python 3.14. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
027eb12 to
7ca54ff
Compare
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
LGTM, minor comments only.
I noticed a few files have been reformatted (whitespace only). Perhaps undo that. Technically all reformatting should be in separate commits mentioned in .git-blame-ignore-revs
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
3af5779 to
279aeea
Compare
Bumps [astral-sh/setup-uv](https://github.com/astral-sh/setup-uv) from 6 to 7. - [Release notes](https://github.com/astral-sh/setup-uv/releases) - [Commits](astral-sh/setup-uv@v6...v7) --- updated-dependencies: - dependency-name: astral-sh/setup-uv dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
--- updated-dependencies: - dependency-name: NUnit3TestAdapter dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major - dependency-name: NUnit3TestAdapter dependency-version: 6.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Not at all sure why this helps, but when assigning `None` instead, the object is gone at the time of garbage collection.
- The first two run into issues because our meta type's `tp_getattro` is not overridden by its subclasses - The last runs into a `PyErrOccurred` when trying to access its `__len__`, related to our sequence decoding logic
In Python 3.14, the objects __dict__ seems to already be half deconstructed, leading to crashes during garbage collection. Since gc in Python is single-threaded (I think :)), it should be fine to have a single static for this. If that is not true, we can always use a thread-local instead.
Python 3.14 introduced a new assertion that prevents us from using PyObject_GenericSetAttr directly in our meta type. To work around this, we manipulate the type dict directly. This workaround is a simplified variant of Cython's workaround from cython/cython#6325. The relevant Python change is in python/cpython#118454
|
Merging as is now, will fix the CI in #2669 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Updated [pythonnet](https://github.com/pythonnet/pythonnet) from 3.0.5 to 3.1.0. <details> <summary>Release notes</summary> _Sourced from [pythonnet's releases](https://github.com/pythonnet/pythonnet/releases)._ ## 3.1.0 ## What's Changed * ci: properly exclude job by @RobPasMue in pythonnet/pythonnet#2542 * `__delitem__` for `IList<T>` and `IDictionary<K,V>` by @lostmsu in pythonnet/pythonnet#2533 * Fix docs workflow by @filmor in pythonnet/pythonnet#2584 * Drop EOLd Python versions by @filmor in pythonnet/pythonnet#2632 * Bump setuptools and adjust license information by @filmor in pythonnet/pythonnet#2633 * Minimal .NET 8 usage changes by @filmor in pythonnet/pythonnet#2634 * Drop performance tests by @filmor in pythonnet/pythonnet#2636 * Properly detect availability of BinaryFormatter by @filmor in pythonnet/pythonnet#2639 * Use last compiler toolset version that support .NET 8 by @filmor in pythonnet/pythonnet#2640 * Add dependabot file by @filmor in pythonnet/pythonnet#2642 * Use official ARM runners by @filmor in pythonnet/pythonnet#2641 * Bump actions/upload-pages-artifact from 3 to 4 by @dependabot[bot] in pythonnet/pythonnet#2644 * Bump actions/setup-python from 2 to 6 by @dependabot[bot] in pythonnet/pythonnet#2646 * Bump actions/checkout from 2 to 5 by @dependabot[bot] in pythonnet/pythonnet#2648 * Bump actions/setup-dotnet from 1 to 5 by @dependabot[bot] in pythonnet/pythonnet#2645 * Use uv and derive as much as possible from the environment, if available by @filmor in pythonnet/pythonnet#2652 * Fixes for the uv CI by @filmor in pythonnet/pythonnet#2654 * Bump astral-sh/setup-uv from 6 to 7 by @dependabot[bot] in pythonnet/pythonnet#2656 * Bump actions/checkout from 5 to 6 by @dependabot[bot] in pythonnet/pythonnet#2663 * Ensure that the tests work even if BinaryFormatter is not available by @filmor in pythonnet/pythonnet#2638 * Bump NUnit3TestAdapter from 5.2.0 to 6.0.0 by @dependabot[bot] in pythonnet/pythonnet#2667 * Fix line endings by @filmor in pythonnet/pythonnet#2668 * Switch to .NET SDK 10 by @lostmsu in pythonnet/pythonnet#2684 * Python 3.14 by @filmor in pythonnet/pythonnet#2611 * CI Improvements by @filmor in pythonnet/pythonnet#2669 * Bump System.Reflection.Emit from 4.3.0 to 4.7.0 by @dependabot[bot] in pythonnet/pythonnet#2694 * Bump pytest from 9.0.2 to 9.0.3 in the uv group across 1 directory by @dependabot[bot] in pythonnet/pythonnet#2705 * CI Improvements by @filmor in pythonnet/pythonnet#2707 * Fix method memleak test by @filmor in pythonnet/pythonnet#2708 * Bump actions/upload-pages-artifact from 4 to 5 by @dependabot[bot] in pythonnet/pythonnet#2709 * Update furo requirement from >=2022.9.15 to >=2025.12.19 by @dependabot[bot] in pythonnet/pythonnet#2711 * Move documentation deps to pyproject.toml by @filmor in pythonnet/pythonnet#2714 * Support .NET Framework 4.6.1 by @Metadorius in pythonnet/pythonnet#2701 * Fix wheel tags by @filmor in pythonnet/pythonnet#2716 * Name missing from __all__ on re-import by @filmor in pythonnet/pythonnet#2717 * Add context manager protocol for .NET IDisposable types by @den-run-ai in pythonnet/pythonnet#2568 * Fix MethodBinding/OverloadMapper memory leak (#691) by @greateggsgreg in pythonnet/pythonnet#2719 * Bump urllib3 from 2.6.3 to 2.7.0 in the uv group across 1 directory by @dependabot[bot] in pythonnet/pythonnet#2723 * Update NUnit by @filmor in pythonnet/pythonnet#2724 * Silence compile-time warnings by @filmor in pythonnet/pythonnet#2725 * Implement support for DLR get/set by @filmor in pythonnet/pythonnet#2706 * Bump idna from 3.13 to 3.15 in the uv group across 1 directory by @dependabot[bot] in pythonnet/pythonnet#2726 ## New Contributors * @RobPasMue made their first contribution in pythonnet/pythonnet#2542 * @dependabot[bot] made their first contribution in pythonnet/pythonnet#2644 * @Metadorius made their first contribution in pythonnet/pythonnet#2701 **Full Changelog**: pythonnet/pythonnet@v3.0.5...v3.1.0 ## 3.1.0-rc1 ## What's Changed * CI Improvements by @filmor in pythonnet/pythonnet#2669 * Bump System.Reflection.Emit from 4.3.0 to 4.7.0 by @dependabot[bot] in pythonnet/pythonnet#2694 * Bump pytest from 9.0.2 to 9.0.3 in the uv group across 1 directory by @dependabot[bot] in pythonnet/pythonnet#2705 * CI Improvements by @filmor in pythonnet/pythonnet#2707 * Fix method memleak test by @filmor in pythonnet/pythonnet#2708 * Bump actions/upload-pages-artifact from 4 to 5 by @dependabot[bot] in pythonnet/pythonnet#2709 * Update furo requirement from >=2022.9.15 to >=2025.12.19 by @dependabot[bot] in pythonnet/pythonnet#2711 * Move documentation deps to pyproject.toml by @filmor in pythonnet/pythonnet#2714 * Support .NET Framework 4.6.1 by @Metadorius in pythonnet/pythonnet#2701 * Fix wheel tags by @filmor in pythonnet/pythonnet#2716 * Name missing from __all__ on re-import by @filmor in pythonnet/pythonnet#2717 * Add context manager protocol for .NET IDisposable types by @den-run-ai in pythonnet/pythonnet#2568 * Fix MethodBinding/OverloadMapper memory leak (#691) by @greateggsgreg in pythonnet/pythonnet#2719 * Bump urllib3 from 2.6.3 to 2.7.0 in the uv group across 1 directory by @dependabot[bot] in pythonnet/pythonnet#2723 * Update NUnit by @filmor in pythonnet/pythonnet#2724 * Silence compile-time warnings by @filmor in pythonnet/pythonnet#2725 * Implement support for DLR get/set by @filmor in pythonnet/pythonnet#2706 ## New Contributors * @Metadorius made their first contribution in pythonnet/pythonnet#2701 **Full Changelog**: pythonnet/pythonnet@v3.1.0-rc0...v3.1.0-rc1 ## 3.1.0-rc0 ## What's Changed * ci: properly exclude job by @RobPasMue in pythonnet/pythonnet#2542 * `__delitem__` for `IList<T>` and `IDictionary<K,V>` by @lostmsu in pythonnet/pythonnet#2533 * Fix docs workflow by @filmor in pythonnet/pythonnet#2584 * Drop EOLd Python versions by @filmor in pythonnet/pythonnet#2632 * Bump setuptools and adjust license information by @filmor in pythonnet/pythonnet#2633 * Minimal .NET 8 usage changes by @filmor in pythonnet/pythonnet#2634 * Drop performance tests by @filmor in pythonnet/pythonnet#2636 * Properly detect availability of BinaryFormatter by @filmor in pythonnet/pythonnet#2639 * Use last compiler toolset version that support .NET 8 by @filmor in pythonnet/pythonnet#2640 * Add dependabot file by @filmor in pythonnet/pythonnet#2642 * Use official ARM runners by @filmor in pythonnet/pythonnet#2641 * Use uv and derive as much as possible from the environment, if available by @filmor in pythonnet/pythonnet#2652 * Fixes for the uv CI by @filmor in pythonnet/pythonnet#2654 * Ensure that the tests work even if BinaryFormatter is not available by @filmor in pythonnet/pythonnet#2638 * Fix line endings by @filmor in pythonnet/pythonnet#2668 * Switch to .NET SDK 10 by @lostmsu in pythonnet/pythonnet#2684 * Python 3.14 by @filmor in pythonnet/pythonnet#2611 ## New Contributors * @RobPasMue made their first contribution in pythonnet/pythonnet#2542 * @dependabot[bot] made their first contribution in pythonnet/pythonnet#2644 **Full Changelog**: pythonnet/pythonnet@v3.0.5...v3.1.0-rc0 Commits viewable in [compare view](pythonnet/pythonnet@v3.0.5...v3.1.0). </details> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.