Bug 1687167

Summary: x86_64 FTBFS when building on new xeon cpu
Product: [Fedora] Fedora EPEL Reporter: Tuomo Soini <tis>
Component: python36Assignee: Charalampos Stratakis <cstratak>
Status: CLOSED EOL QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: epel7CC: carl, cstratak, mhroncok, python-sig, vstinner
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-08-10 08:48:04 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:

Description Tuomo Soini 2019-03-10 16:56:39 UTC
There is a test failing on x86_64 when building in mock on a system which is running on new Intel xeon cpu.

host system:

model name	: Intel(R) Xeon(R) Silver 4116 CPU @ 2.10GHz

guest running mock:

model name	: Intel Xeon Processor (Skylake, IBRS)

Happens every time, both python36 and python34.

BUILDSTDERR: test_unregister (test.test_faulthandler.FaultHandlerTests) ... test test_faulthandler failed
ok
======================================================================
FAIL: test_register_chain (test.test_faulthandler.FaultHandlerTests)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/builddir/build/BUILD/Python-3.6.6/Lib/test/test_faulthandler.py", line 716, in test_register_chain
    self.check_register(chain=True)
  File "/builddir/build/BUILD/Python-3.6.6/Lib/test/test_faulthandler.py", line 694, in check_register
    self.assertEqual(exitcode, 0)
AssertionError: -11 != 0
----------------------------------------------------------------------
Ran 42 tests in 20.487s
FAILED (failures=1, skipped=4)
1 test failed again:
    test_faulthandler


Patch to fix the issue:

diff --git a/python36.spec b/python36.spec
index a6b4932..b607fc9 100644
--- a/python36.spec
+++ b/python36.spec
@@ -958,7 +958,7 @@ CheckPython() {
     -wW --slowest --findleaks \
     -x test_distutils \
     -x test_bdist_rpm \
-    %ifarch ppc64le aarch64
+    %ifarch ppc64le aarch64 x86_64
     -x test_faulthandler \
     %endif
     %ifarch %{mips64}

Comment 1 Miro Hrončok 2019-03-20 18:27:24 UTC
I have this:

$ gcc -march=native -Q --help=target|grep march
  -march=                     		skylake


And in mock:

$ mock -r epel-7-x86_64 shell
<mock-chroot> sh-4.2# gcc -march=native -Q --help=target|grep march
  -march=                     		core-avx2

<mock-chroot> sh-4.2# python3.6 --version
Python 3.6.6

<mock-chroot> sh-4.2# python3.6 -m test test_faulthandler
Run tests sequentially
0:00:00 load avg: 0.17 [1/1] test_faulthandler

== Tests result: SUCCESS ==

1 test OK.

Total duration: 21 sec
Tests result: SUCCESS

Comment 2 Miro Hrončok 2019-08-10 08:48:04 UTC
The python36 package has been retired in epel7.