Note: This is a public test instance of Red Hat Bugzilla. The data contained within is a snapshot of the live data so any changes you make will not be reflected in the production Bugzilla. Email is disabled so feel free to test any aspect of the site that you want. File any problems you find or give feedback at bugzilla.redhat.com.
Bug 1336557
Summary: | python-pthreading tests fail on AArch64 | ||
---|---|---|---|
Product: | Red Hat Enterprise Linux 7 | Reporter: | Yaakov Selkowitz <yselkowi> |
Component: | python-pthreading | Assignee: | Marcin Sobczyk <msobczyk> |
Status: | CLOSED WONTFIX | QA Contact: | |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | 7.2 | CC: | cstratak, danken, dkenigsb, hhorak, jfeeney, msobczyk, nsoffer, pviktori, python-maint, sbonazzo, vstinner, yselkowi |
Target Milestone: | rc | ||
Target Release: | 7.6 | ||
Hardware: | aarch64 | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | 1289389 | Environment: | |
Last Closed: | 2019-12-12 23:15:29 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | 1289389 | ||
Bug Blocks: | 1285484, 1706775 |
Description
Yaakov Selkowitz
2016-05-16 21:12:12 UTC
Since pthreading uses ctypes and monkeypatches the standard library, I don't think "no architecture-specific code in python-pthreading" is a good reason to automatically blame Python. Can you prepare a minimal reproducer? No reproducer was posted so reassigning it to the component that it originates from. I wonder if https://bugs.python.org/issue29804 might be related? Any status on this for 7.5? Anything the ARM team can do to help? Based on mock and koji scratch builds of the same SRPM, the tests pass in F27 but not in F26 or RHEL 7. Therefore this is most likely in either python or libffi. We still don't have a good reproducer, and initial attempts to investigate didn't yield much. The original comment about "no architecture-specific code in python-pthreading" is misleading, since pthreading uses ctypes. We'll get to it when we have some free cycles, but it's low priority. Let us know if we need to allocate more time to it. Still waiting for a reproducer. I backported a change from master to Python 2.7 which may fix test_ctypes on arm64, but I don't have access to arm64 so I cannot ensure that it really fixes the test: https://github.com/python/cpython/commit/3243f8c1fb16b6de73f1d7a30f5d09047553bce3 https://bugs.python.org/issue29804#msg322964 Ok, I got access to a RHEL7/AArch64 VM on Beaker. "python-pthreading tests fail on aarch64 with the output below. As there is no architecture-specific code in python-pthreading, I believe the issue is in python itself." Well, there *is* architecture-specific code in python-pthreading: # These come from pthread.h (via bits/pthreadtypes.h) # We prefer to be on a safe side and use sizes for 64 bit implementation SIZEOF_MUTEX_T = 40 SIZEOF_COND_T = 48 SIZEOF_MUTEXATTR_T = 4 These sizes in bytes are hardcoded values of sizeof(pthread_mutex_t), sizeof(pthread_cond_t) and sizeof(pthread_mutexattr_t) and you know what? ... The sizes are platform specific :-) The tests pass with the following change: diff --git a/pthread.py b/pthread.py index 50d1e9a..a61c0c2 100644 --- a/pthread.py +++ b/pthread.py @@ -37,7 +37,7 @@ LIBPTHREAD = "libpthread.so.0" # These come from pthread.h (via bits/pthreadtypes.h) # We prefer to be on a safe side and use sizes for 64 bit implementation -SIZEOF_MUTEX_T = 40 +SIZEOF_MUTEX_T = 48 SIZEOF_COND_T = 48 SIZEOF_MUTEXATTR_T = 4 Notes: * the latest python-pthreading version (0.1.3-3) has been released 4 years ago: https://pypi.org/project/pthreading/ * On PyPI, the homepage is set to http://git.fedorahosted.org/git/?p=pthreading.git which now redirects to https://fedoraproject.org/wiki/Infrastructure/Fedorahosted-retirement?p=pthreading.git * Source of the RPM package: https://src.fedoraproject.org/rpms/python-pthreading/tree/master I created a PR for Fedora Rawhide: https://src.fedoraproject.org/rpms/python-pthreading/pull-request/2 Sandro, is this the right component for pthreading? It's not, RHEL7 has a python-pthreading component. I proposed a fix upstream: https://gerrit.ovirt.org/#/c/94974/ fix merged upstream, pending a release I'm not sure what's your question to me, Sandro. I believe that with the move to python 3 we can orphan this package. Sandro, what kind of info do you need? (In reply to Nir Soffer from comment #20) > Sandro, what kind of info do you need? Need a release including https://gerrit.ovirt.org/#/c/94974/ but since this is not going to be in 4.3 I think we can close this bug. 4.4 is not going to use python-pthreading on el8 Removing stale need infos. |