classification
Title: test_crypt segfaults when using libxcrypt instead of libcrypt
Type: Stage: resolved
Components: Extension Modules Versions: Python 3.7, Python 3.6, Python 2.7
process
Status: closed Resolution: fixed
Dependencies: Superseder:
Assigned To: Nosy List: benjamin.peterson, christian.heimes, cstratak, vstinner
Priority: normal Keywords: patch

Created on 2018-01-23 10:22 by cstratak, last changed 2018-01-24 13:30 by cstratak. This issue is now closed.

Files
File name Uploaded Description Edit
00290-cryptmodule-Include-crypt.h-for-declaration-of-crypt.patch cstratak, 2018-01-23 10:22 review
Pull Requests
URL Status Linked Edit
PR 5284 merged cstratak, 2018-01-23 12:15
PR 5295 merged python-dev, 2018-01-24 09:36
PR 5296 merged python-dev, 2018-01-24 09:36
Messages (7)
msg310490 - (view) Author: Charalampos Stratakis (cstratak) * Date: 2018-01-23 10:22
Currently in Fedora glibc stopped providing libcrypt[0] a change which is slowly being upstreamed as well[1] in favor of the libxcrypt project[2].

This causes a segfault when importing the crypt module as python assumes that crypt.h is always available.

Providing a working patch from the libxcrypt maintainer. I'll convert the patch into a PR.

[0] https://fedoraproject.org/wiki/Changes/Replace_glibc_libcrypt_with_libxcrypt
[1] https://sourceware.org/ml/libc-alpha/2017-08/msg01257.html
[2] https://github.com/besser82/libxcrypt
msg310503 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-01-23 15:11
New changeset e768c86ef442ef89004089a8a34ce5909ffb90f2 by Victor Stinner (stratakis) in branch 'master':
 bpo-32635: Fix a segfault when importing the crypt module with libxcrypt. (#5284)
https://github.com/python/cpython/commit/e768c86ef442ef89004089a8a34ce5909ffb90f2
msg310563 - (view) Author: Benjamin Peterson (benjamin.peterson) * (Python committer) Date: 2018-01-24 05:41
Incidentally, why did this manifest as a segfault rather than a compilation error?
msg310573 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-01-24 09:42
Charalampos, Christian: are you ok to backport the fix to Python 2.7 and 3.6? (PR 5295 and PR 5296)
msg310575 - (view) Author: Christian Heimes (christian.heimes) * (Python committer) Date: 2018-01-24 09:42
yes, go ahead
msg310579 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-01-24 09:51
New changeset 6ccdad7b1f6fb316e4e85aa1eba8fbdc3169741e by Victor Stinner (Miss Islington (bot)) in branch '2.7':
bpo-32635: Fix a segfault when importing the crypt module with libxcrypt. (GH-5284) (#5295)
https://github.com/python/cpython/commit/6ccdad7b1f6fb316e4e85aa1eba8fbdc3169741e
msg310581 - (view) Author: STINNER Victor (vstinner) * (Python committer) Date: 2018-01-24 10:11
New changeset 8e230e1eb3d38ad557b5dc5c31166afa35c01ff3 by Victor Stinner (Miss Islington (bot)) in branch '3.6':
bpo-32635: Fix a segfault when importing the crypt module with libxcrypt. (GH-5284) (#5296)
https://github.com/python/cpython/commit/8e230e1eb3d38ad557b5dc5c31166afa35c01ff3
History
Date User Action Args
2018-01-24 13:30:26cstrataksetstatus: open -> closed
resolution: fixed
stage: patch review -> resolved
2018-01-24 10:11:19vstinnersetmessages: + msg310581
2018-01-24 09:51:41vstinnersetmessages: + msg310579
2018-01-24 09:42:58christian.heimessetmessages: + msg310575
2018-01-24 09:42:00vstinnersetnosy: + christian.heimes
messages: + msg310573
2018-01-24 09:36:57python-devsetpull_requests: + pull_request5143
2018-01-24 09:36:02python-devsetpull_requests: + pull_request5142
2018-01-24 09:35:33vstinnersetversions: + Python 2.7, - Python 3.8
2018-01-24 05:41:18benjamin.petersonsetnosy: + benjamin.peterson
messages: + msg310563
2018-01-23 15:11:26vstinnersetmessages: + msg310503
2018-01-23 12:42:33vstinnersetnosy: + vstinner
2018-01-23 12:15:43cstrataksetstage: patch review
pull_requests: + pull_request5130
2018-01-23 10:28:39cstrataksetcomponents: + Extension Modules
2018-01-23 10:28:26cstrataksetversions: + Python 3.6, Python 3.7, Python 3.8
2018-01-23 10:22:06cstratakcreate