Bug 1687171
Summary: | x86_64 FTBFS when building on new xeon cpu | ||
---|---|---|---|
Product: | [Fedora] Fedora EPEL | Reporter: | Tuomo Soini <tis> |
Component: | python34 | Assignee: | Petr Viktorin (pviktori) <pviktori> |
Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | unspecified | Docs Contact: | |
Priority: | unspecified | ||
Version: | epel7 | CC: | carl, cstratak, kevin, mhroncok, pviktori, python-sig, TicoTimo, torsava, 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-09-17 14:17:59 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 17:06:11 UTC
Well, skipping the test is one option, but as the author of the faulthandler module, I would prefer to see the test passing :-) Can you please try copy/paste the following code in a script file and run "python3 script.py"? Script: --- import faulthandler, signal, os def handler(signum, frame): handler.called = True handler.called = False faulthandler.enable() signum = signal.SIGUSR1 signal.signal(signum, handler) faulthandler.register(signum, chain=True) os.kill(os.getpid(), signum) print("called", handler.called) --- Expected output: --- Current thread 0x00007fc3ad534600 (most recent call first): File "script.py", line 12 in <module> called True --- If you get a segfault, there is a bug somewhere. Maybe try also the script with Python 3.6 ou 3.7 on the same CPU. test_faulthandler is tested upstream on a wide range of architectures. I'm not aware of any failure, at least on Python 3.7 and 3.8 (dev version). $ python3.4 script.py Current thread 0x00007ff7e72e5740 (most recent call first): File "script.py", line 12 in <module> called True Fatal Python error: Segmentation fault Current thread 0x00007ff7e72e5740 (most recent call first): Segmentation fault $ python3.6 script.py Current thread 0x00007f5c1b0a6740 (most recent call first): File "script.py", line 12 in <module> called True Fatal Python error: Segmentation fault Current thread 0x00007f5c1b0a6740 (most recent call first): Segmentation fault On the other hand, if run on kvm host, it works - so this might be issue with kvm guest? $ python3.6 script.py Current thread 0x00007f9107e55740 (most recent call first): File "script.py", line 12 in <module> called True <cpu mode='custom' match='exact' check='full'> <model fallback='forbid'>Skylake-Server-IBRS</model> <vendor>Intel</vendor> <feature policy='disable' name='ds'/> <feature policy='disable' name='acpi'/> <feature policy='require' name='ss'/> <feature policy='disable' name='ht'/> <feature policy='disable' name='tm'/> <feature policy='disable' name='pbe'/> <feature policy='disable' name='dtes64'/> <feature policy='disable' name='monitor'/> <feature policy='disable' name='ds_cpl'/> <feature policy='disable' name='vmx'/> <feature policy='disable' name='smx'/> <feature policy='disable' name='est'/> <feature policy='disable' name='tm2'/> <feature policy='disable' name='xtpr'/> <feature policy='disable' name='pdcm'/> <feature policy='disable' name='dca'/> <feature policy='disable' name='osxsave'/> <feature policy='disable' name='tsc_adjust'/> <feature policy='require' name='clflushopt'/> <feature policy='require' name='pku'/> <feature policy='disable' name='ospke'/> <feature policy='require' name='stibp'/> <feature policy='require' name='ssbd'/> <feature policy='require' name='hypervisor'/> <feature policy='disable' name='arat'/> </cpu> CPU config on vm, that is copy from host. Changing CPU typo of vm to Skylake-Client-IBRS works around the issue - so I guess this is bug in virtualization. It's still unclear to me if it's a bug in Python or in the virtualization :-( This bug has been fixed in Python 3.7, 3.8 and future 3.9: https://bugs.python.org/issue21131 Unfortunately, backporting this is not going far enough on my priority list. To rebuild in Mock, please apply the patch locally. |