New release 6.0.0 (#1571489)

Fix multiprocessing regression on newer glibcs (#1569933)
This commit is contained in:
Miro Hrončok 2018-04-25 14:20:20 +02:00
parent b70eb98951
commit 18c888e5f5
4 changed files with 49 additions and 5 deletions

1
.gitignore vendored
View File

@ -5,3 +5,4 @@
/pypy3-v5.9.0-src.tar.bz2 /pypy3-v5.9.0-src.tar.bz2
/pypy3-v5.10.0-src.tar.bz2 /pypy3-v5.10.0-src.tar.bz2
/pypy3-v5.10.1-src.tar.bz2 /pypy3-v5.10.1-src.tar.bz2
/pypy3-v6.0.0-src.tar.bz2

View File

@ -0,0 +1,35 @@
# HG changeset patch
# User Miro Hrončok <miro@hroncok.cz>
# Date 1524655710 -7200
# Wed Apr 25 13:28:30 2018 +0200
# Branch issue33329
# Node ID 6501fdc3a80fa2bc3b8c70bfaf94a31c3b3432c0
# Parent a07f07034d281bec8c776f9e1ee7c5b9aea74007
Fix multiprocessing regression on newer glibcs
Starting with glibc 2.27.9000-xxx, sigaddset() can return EINVAL for some
reserved signal numbers between 1 and NSIG. The `range(1, NSIG)` idiom
is commonly used to select all signals for blocking with `pthread_sigmask`.
So we ignore the sigaddset() return value until we expose sigfillset()
to provide a better idiom.
Co-authored-by: Antoine Pitrou <antoine@python.org>
diff -r a07f07034d28 -r 6501fdc3a80f pypy/module/signal/interp_signal.py
--- a/pypy/module/signal/interp_signal.py Tue Apr 24 10:00:00 2018 +0200
+++ b/pypy/module/signal/interp_signal.py Wed Apr 25 13:28:30 2018 +0200
@@ -379,10 +379,10 @@
for w_signum in space.unpackiterable(self.w_signals):
signum = space.int_w(w_signum)
check_signum_in_range(space, signum)
- err = c_sigaddset(self.mask, signum)
- if err:
- raise oefmt(space.w_ValueError,
- "signal number %d out of range", signum)
+ # bpo-33329: ignore c_sigaddset() return value as it can fail
+ # for some reserved signals, but we want the `range(1, NSIG)`
+ # idiom to allow selecting all valid signals.
+ c_sigaddset(self.mask, signum)
return self.mask
def __exit__(self, *args):

View File

@ -1,8 +1,8 @@
%global basever 5.10 %global basever 6.0
Name: pypy3 Name: pypy3
Version: %{basever}.1 Version: %{basever}.0
%global pyversion 3.5 %global pyversion 3.5
Release: 8%{?dist} Release: 1%{?dist}
Summary: Python 3 implementation with a Just-In-Time compiler Summary: Python 3 implementation with a Just-In-Time compiler
# LGPL and another free license we'd need to ask spot about are present in some # LGPL and another free license we'd need to ask spot about are present in some
@ -164,6 +164,12 @@ Patch9: 009-add-libxcrypt-support.patch
# It seems ppc64 has no faulthandler # It seems ppc64 has no faulthandler
Patch11: 011-no-faulthandler.patch Patch11: 011-no-faulthandler.patch
# Fix multiprocessing regression on newer glibcs
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1569933
# and: https://bugs.python.org/issue33329
# and: https://bitbucket.org/pypy/pypy/pull-requests/607
Patch302: 302-fix-multiprocessing-regression-on-newer-glibcs.patch
# Build-time requirements: # Build-time requirements:
# pypy's can be rebuilt using itself, rather than with CPython; doing so # pypy's can be rebuilt using itself, rather than with CPython; doing so
@ -826,8 +832,10 @@ CheckPyPy %{name}-stackless
%changelog %changelog
* Sat Apr 14 2018 Miro Hrončok <mhroncok@redhat.com> - 5.10.1-8 * Wed Apr 25 2018 Miro Hrončok <mhroncok@redhat.com> - 6.0.0-1
- Fix failing taskotron check - Fix failing taskotron check
- New release 6.0.0 (#1571489)
- Fix multiprocessing regression on newer glibcs (#1569933)
* Wed Apr 11 2018 Miro Hrončok <mhroncok@redhat.com> - 5.10.1-7 * Wed Apr 11 2018 Miro Hrončok <mhroncok@redhat.com> - 5.10.1-7
- Provide pypy3(abi) = 5.10 - Provide pypy3(abi) = 5.10

View File

@ -1 +1 @@
SHA512 (pypy3-v5.10.1-src.tar.bz2) = 91b0ed25130bdbb46d5e577136b5fe63d5162917dcc2d0b69f5cac2a283ece9d0bfd3c7c8dc61ff391e0550fa1603326f6edeb2df3159d71617fefe6c07439f5 SHA512 (pypy3-v6.0.0-src.tar.bz2) = ea406c4dd1837a6ab13026de01330790f3c18f6e2bfb83e8553e52acf78b43dfb559ce75c2d91395055c771db359356c8183ed950da6f01a21bf09128935af5e