From 682db7c4ad1aa43637f72c9c606e4d221eaff5149a999867326c4b04f1094762 Mon Sep 17 00:00:00 2001 From: Dirk Mueller Date: Tue, 19 Sep 2023 22:06:34 +0000 Subject: [PATCH] - update to 3.0.0~rc3: * Fix an intermittent error during process termination on some platforms (GCC/Linux/libstdc++). * Fix some potential bugs (assertion failures and memory leaks) in previously-untested error handling code. In some cases, this means that the process will execute a controlled ``abort()`` after severe trouble when previously the process might have continued for some time with a corrupt state. It is unlikely those errors occurred in practice. * Fix some assertion errors and potential bugs with re-entrant switches. * Fix a potential crash when certain compilers compile greenlet with high levels of optimization. The symptom would be that switching to a greenlet for the first time immediately crashes. * Fix a potential crash when the callable object passed to the greenlet constructor (or set as the ``greenlet.run`` attribute) has a destructor attached to it that switches. Typically, triggering this issue would require an unlikely subclass of ``greenlet.greenlet``. * Python 3.11+: Fix rare switching errors that could occur when a garbage collection was triggered during the middle of a switch, and Python-level code in ``__del__`` or weakref callbacks switched to a different greenlet and ultimately switched back to the original greenlet. This often manifested as a ``SystemError``: "switch returned NULL without an exception set." * Python 3.12: Fix walking the frame stack of suspended greenlets. Previously accessing ``glet.gr_frame.f_back`` would crash due to `changes in CPython's undocumented internal frame handling * Make the platform-specific low-level C/assembly snippets stop using the ``register`` storage class. Newer versions of standards remove OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-greenlet?expand=0&rev=70 --- greenlet-2.0.2.tar.gz | 3 -- greenlet-3.0.0rc3.tar.gz | 3 ++ python-greenlet.changes | 63 +++++++++++++++++++++++++++++++++++----- python-greenlet.spec | 6 ++-- 4 files changed, 62 insertions(+), 13 deletions(-) delete mode 100644 greenlet-2.0.2.tar.gz create mode 100644 greenlet-3.0.0rc3.tar.gz diff --git a/greenlet-2.0.2.tar.gz b/greenlet-2.0.2.tar.gz deleted file mode 100644 index cb05940..0000000 --- a/greenlet-2.0.2.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e7c8dc13af7db097bed64a051d2dd49e9f0af495c26995c00a9ee842690d34c0 -size 164980 diff --git a/greenlet-3.0.0rc3.tar.gz b/greenlet-3.0.0rc3.tar.gz new file mode 100644 index 0000000..c1e8ae0 --- /dev/null +++ b/greenlet-3.0.0rc3.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:0df5c2ad154f457fd372e39723493b3df519330a4c1bff3ca901be66130f379b +size 174747 diff --git a/python-greenlet.changes b/python-greenlet.changes index 080d14f..377899a 100644 --- a/python-greenlet.changes +++ b/python-greenlet.changes @@ -1,3 +1,52 @@ +------------------------------------------------------------------- +Tue Sep 19 22:04:57 UTC 2023 - Dirk Müller + +- update to 3.0.0~rc3: + * Fix an intermittent error during process termination on some + platforms (GCC/Linux/libstdc++). + * Fix some potential bugs (assertion failures and memory leaks) in + previously-untested error handling code. In some cases, this means + that the process will execute a controlled ``abort()`` after severe + trouble when previously the process might have continued for some + time with a corrupt state. It is unlikely those errors occurred in + practice. + * Fix some assertion errors and potential bugs with re-entrant + switches. + * Fix a potential crash when certain compilers compile greenlet with + high levels of optimization. The symptom would be that switching to + a greenlet for the first time immediately crashes. + * Fix a potential crash when the callable object passed to the + greenlet constructor (or set as the ``greenlet.run`` attribute) has + a destructor attached to it that switches. Typically, triggering + this issue would require an unlikely subclass of + ``greenlet.greenlet``. + * Python 3.11+: Fix rare switching errors that could occur when a + garbage collection was triggered during the middle of a switch, and + Python-level code in ``__del__`` or weakref callbacks switched to a + different greenlet and ultimately switched back to the original + greenlet. This often manifested as a ``SystemError``: "switch + returned NULL without an exception set." + * Python 3.12: Fix walking the frame stack of suspended greenlets. + Previously accessing ``glet.gr_frame.f_back`` would crash due to + `changes in CPython's undocumented internal frame handling + * Make the platform-specific low-level C/assembly snippets stop using + the ``register`` storage class. Newer versions of standards remove + this storage class, and it has been generally ignored by many + compilers for some time. See `PR 347 + `_ from Khem + Raj. + * Add initial support for Python 3.12. See `issue + `_ and `PR + `_; thanks go + to (at least) Michael Droettboom, Andreas Motl, Thomas A Caswell, + raphaelauv, Hugo van Kemenade, Mark Shannon, and Petr Viktorin. + * Remove support for end-of-life Python versions, including Python + 2.7, Python 3.5 and Python 3.6. + * Require a compiler that supports ``noinline`` directives. See + `issue 271 + `_. + * Require a compiler that supports C++11. + ------------------------------------------------------------------- Thu May 4 14:37:30 UTC 2023 - Dirk Müller @@ -63,7 +112,7 @@ Thu Jan 5 07:41:02 UTC 2023 - Daniel Garcia Mon Sep 12 20:13:22 UTC 2022 - Dirk Müller - update to 1.1.3: - * Add support for Python 3.11. + * Add support for Python 3.11. ------------------------------------------------------------------- Sat Oct 16 19:07:41 UTC 2021 - Dirk Müller @@ -107,13 +156,13 @@ Mon Feb 1 22:13:52 UTC 2021 - Dirk Müller * Require setuptools to build from source. * Stop asking setuptools to build both .tar.gz and .zip sdists. PyPI has standardized on .tar.gz for all platforms. - * Publish the change log to https://greenlet.readthedocs.io + * Publish the change log to https://greenlet.readthedocs.io ------------------------------------------------------------------- Mon Sep 28 10:54:19 UTC 2020 - Dirk Mueller - update to 0.4.17: - - Support for PEP 567 ContextVars + - Support for PEP 567 ContextVars ------------------------------------------------------------------- Mon Jun 8 19:32:54 UTC 2020 - Dirk Mueller @@ -218,7 +267,7 @@ Thu Nov 6 04:56:09 UTC 2014 - tserong@suse.com ------------------------------------------------------------------- Mon Nov 3 22:19:05 UTC 2014 - dvaleev@suse.com -- build with -fno-tree-dominator-opts (boo#902146) +- build with -fno-tree-dominator-opts (boo#902146) ------------------------------------------------------------------- Fri Sep 12 21:22:30 UTC 2014 - dmueller@suse.com @@ -264,7 +313,7 @@ Thu Oct 24 11:06:14 UTC 2013 - speilicke@suse.com ------------------------------------------------------------------- Thu Aug 8 10:54:47 UTC 2013 - dvaleev@suse.com -- run tests we optflags. Stuff got compiled in %check again. +- run tests we optflags. Stuff got compiled in %check again. ------------------------------------------------------------------- Tue Aug 6 12:34:48 UTC 2013 - speilicke@suse.com @@ -356,12 +405,12 @@ Fri Nov 23 12:05:16 UTC 2012 - saschpe@suse.de Tue Jul 3 09:53:32 UTC 2012 - dvaleev@suse.com - add ppc64 platform support -- fix ppc platform +- fix ppc platform ------------------------------------------------------------------- Fri Dec 23 13:20:47 UTC 2011 - idonmez@suse.com -- Add upstream commits 25bf29f4d3b7 and 2d5b17472757 (bnc#738431) +- Add upstream commits 25bf29f4d3b7 and 2d5b17472757 (bnc#738431) - Implement %check ------------------------------------------------------------------- diff --git a/python-greenlet.spec b/python-greenlet.spec index db4d430..d9bc12d 100644 --- a/python-greenlet.spec +++ b/python-greenlet.spec @@ -19,13 +19,13 @@ %{?sle15_python_module_pythons} Name: python-greenlet -Version: 2.0.2 +Version: 3.0.0~rc3 Release: 0 Summary: Lightweight in-process concurrent programming License: MIT Group: Development/Libraries/Python URL: https://github.com/python-greenlet/greenlet -Source0: https://files.pythonhosted.org/packages/source/g/greenlet/greenlet-%{version}.tar.gz +Source0: https://files.pythonhosted.org/packages/source/g/greenlet/greenlet-3.0.0rc3.tar.gz Source9: python-greenlet-rpmlintrc BuildRequires: %{python_module devel} BuildRequires: %{python_module objgraph} @@ -54,7 +54,7 @@ BuildArch: noarch This package contains header files required for C modules development. %prep -%autosetup -p1 -n greenlet-%{version} +%autosetup -p1 -n greenlet-3.0.0rc3 %build export CFLAGS="%{optflags} -fno-tree-dominator-opts -fno-strict-aliasing"