Bug 1837011 - python-pyside2 fails to build with Python 3.9: Times out after 24 hours
Summary: python-pyside2 fails to build with Python 3.9: Times out after 24 hours
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-pyside2
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Richard Shaw
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: PYTHON39 1841775
TreeView+ depends on / blocked
 
Reported: 2020-05-18 16:29 UTC by Miro Hrončok
Modified: 2020-05-30 10:19 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2020-05-30 10:19:26 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Python 40217 0 None None None 2020-05-20 16:14:36 UTC

Description Miro Hrončok 2020-05-18 16:29:16 UTC
python-pyside2 times our after 24 hours when we attempt to build it with Python 3.9.0a6.

Previous builds took ~2 hours, so something si probably broken. But I have no idea what, sorry :(

For the build logs, see:
https://copr-be.cloud.fedoraproject.org/results/@python/python3.9/fedora-rawhide-x86_64/01378938-python-pyside2/

For all our attempts to build python-pyside2 with Python 3.9, see:
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/package/python-pyside2/

Testing and mass rebuild of packages is happening in copr. You can follow these instructions to test locally in mock if your package builds with Python 3.9:
https://copr.fedorainfracloud.org/coprs/g/python/python3.9/

Let us know here if you have any questions.

Python 3.9 will be included in Fedora 33. To make that update smoother, we're building Fedora packages with early pre-releases of Python 3.9.
A build failure prevents us from testing all dependent packages (transitive [Build]Requires), so if this package is required a lot, it's important for us to get it fixed soon.
We'd appreciate help from the people who know this package best, but if you don't want to work on this now, let us know so we can try to work around it on our side.

Comment 1 Richard Shaw 2020-05-19 12:46:59 UTC
Looks like it's something to do with shiboken stalling. Using up all 12 threads from -j12 and eating 100% of all cores. 

 130303 ?        S      0:00 /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/libpyside:/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/libshiboken /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtCore/../support/generate_pyi.py QtCore --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 130306 ?        R     25:32 /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtCore/../support/generate_pyi.py QtCore --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 130749 ?        S      0:00 /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/libpyside:/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/libshiboken /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtConcurrent/../support/generate_pyi.py QtConcurrent --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 130750 ?        R     24:28 /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtConcurrent/../support/generate_pyi.py QtConcurrent --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 130850 ?        S      0:00 /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/libpyside:/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/libshiboken /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtScript/../support/generate_pyi.py QtScript --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 130851 ?        R     24:10 /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtScript/../support/generate_pyi.py QtScript --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 130904 ?        S      0:00 /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/libpyside:/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/libshiboken /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtWebChannel/../support/generate_pyi.py QtWebChannel --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 130905 ?        R     24:00 /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtWebChannel/../support/generate_pyi.py QtWebChannel --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 130909 ?        S      0:00 /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/libpyside:/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/libshiboken /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtWebEngineCore/../support/generate_pyi.py QtWebEngineCore --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 130910 ?        R     24:04 /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtWebEngineCore/../support/generate_pyi.py QtWebEngineCore --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 130936 ?        S      0:00 /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/libpyside:/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/libshiboken /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtWebEngine/../support/generate_pyi.py QtWebEngine --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 130937 ?        R     23:55 /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtWebEngine/../support/generate_pyi.py QtWebEngine --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 131064 ?        S      0:00 /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/libpyside:/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/libshiboken /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtXml/../support/generate_pyi.py QtXml --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 131065 ?        R     23:23 /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtXml/../support/generate_pyi.py QtXml --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 131168 ?        S      0:00 /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/libpyside:/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/libshiboken /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtXmlPatterns/../support/generate_pyi.py QtXmlPatterns --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 131169 ?        R     22:56 /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtXmlPatterns/../support/generate_pyi.py QtXmlPatterns --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 131196 ?        S      0:00 /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/libpyside:/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/libshiboken /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtPositioning/../support/generate_pyi.py QtPositioning --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 131197 ?        R     22:47 /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtPositioning/../support/generate_pyi.py QtPositioning --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 131441 ?        S      0:00 /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/libpyside:/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/libshiboken /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtScxml/../support/generate_pyi.py QtScxml --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 131442 ?        R     21:18 /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtScxml/../support/generate_pyi.py QtScxml --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 131619 ?        S      0:00 /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/libpyside:/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/libshiboken /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtSensors/../support/generate_pyi.py QtSensors --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 131620 ?        R     19:54 /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtSensors/../support/generate_pyi.py QtSensors --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 134667 ?        S      0:00 /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/libpyside:/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/libshiboken /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtGui/../support/generate_pyi.py QtGui --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule
 134668 ?        R      5:27 /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtGui/../support/generate_pyi.py QtGui --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule

Comment 2 Richard Shaw 2020-05-19 12:47:44 UTC
All the C components eventually finish building and then the build stalls.

Comment 3 Richard Shaw 2020-05-19 13:02:50 UTC
Ok, it seems to be something with generate_pyi.py

In the Python 3.8 build I did locally I can find where it completed for all the components, but I can't find any instance of "generate_pyi.py" in the 3.9 build log even though they were obviously attempting to execute from the "ps" capture above of the stalled processes.

Comment 4 Richard Shaw 2020-05-19 13:11:10 UTC
Now how to get output? I shelled into the mock chroot and ran a single threaded build but only got:

cd /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/PySide2/QtCore && /usr/bin/cmake -E env LD_LIBRARY_PATH=/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/libpyside:/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/libshiboken /usr/bin/python3 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/pyside2/PySide2/QtCore/../support/generate_pyi.py QtCore --sys-path /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2 /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/shiboken2/shibokenmodule

Just running the script works as expected from the chroot:

# python3 ./sources/pyside2/PySide2/support/generate_pyi.py
usage: generate_pyi.py [-h] [--quiet] [--check] [--outpath OUTPATH] [--sys-path SYS_PATH [SYS_PATH ...]] modules [modules ...]
generate_pyi.py: error: the following arguments are required: modules

Comment 5 Richard Shaw 2020-05-19 14:55:06 UTC
Ok, so I forced in a trace to one of the targets and there was a whole bunch of output, but this looked the most relevant. Hangs on the last line. I don't think it's an infinite loop because ^c doesn't break out. I have to ^z and kill %1.

<frozen importlib._bootstrap>(228):  --- modulename: tool, funcname: <module>
tool.py(40): from __future__ import print_function, absolute_import
tool.py(50): from textwrap import dedent
tool.py(53): class SimpleNamespace(object):
 --- modulename: tool, funcname: SimpleNamespace
tool.py(53): class SimpleNamespace(object):
tool.py(55):     def __init__(self, **kwargs):
tool.py(58):     def __repr__(self):
tool.py(63):     def __eq__(self, other):
tool.py(66): try:
tool.py(67):     from types import SimpleNamespace
tool.py(72): def build_brace_pattern(level, separators=""):
tool.py(139): def with_metaclass(meta, *bases):
<frozen importlib._bootstrap>(691): <frozen importlib._bootstrap>(692): <frozen importlib._bootstrap>(693):  --- modulename: _bootstrap, funcname: _verbose_message
<frozen importlib._bootstrap>(233): <frozen importlib._bootstrap>(695): <frozen importlib._bootstrap>(697): <frozen importlib._bootstrap>(987): <frozen importlib._bootstrap>(989): <frozen importlib._bootstrap>(990): <frozen importlib._bootstrap>(991): <frozen importlib._bootstrap>(992): <frozen importlib._bootstrap>(996):  --- modulename: _bootstrap, funcname: __exit__
<frozen importlib._bootstrap>(161):  --- modulename: _bootstrap, funcname: release
<frozen importlib._bootstrap>(113): <frozen importlib._bootstrap>(114): <frozen importlib._bootstrap>(115): <frozen importlib._bootstrap>(117): <frozen importlib._bootstrap>(118): <frozen importlib._bootstrap>(119): <frozen importlib._bootstrap>(120): <frozen importlib._bootstrap>(121):  --- modulename: _bootstrap, funcname: cb
<frozen importlib._bootstrap>(186): <frozen importlib._bootstrap>(187): <frozen importlib._bootstrap>(191): <frozen importlib._bootstrap>(192): <frozen importlib._bootstrap>(194): generate_pyi.py(292):     PySide2.support.signature.mapping.USE_PEP563 = USE_PEP563
generate_pyi.py(294):     outpath = outpath or os.path.dirname(PySide2.__file__)
 --- modulename: posixpath, funcname: dirname
posixpath.py(152):     p = os.fspath(p)
posixpath.py(153):     sep = _get_sep(p)
 --- modulename: posixpath, funcname: _get_sep
posixpath.py(42):     if isinstance(path, bytes):
posixpath.py(45):         return '/'
posixpath.py(154):     i = p.rfind(sep) + 1
posixpath.py(155):     head = p[:i]
posixpath.py(156):     if head and head != sep*len(head):
posixpath.py(157):         head = head.rstrip(sep)
posixpath.py(158):     return head
generate_pyi.py(295):     name_list = PySide2.__all__ if options.modules == ["all"] else options.modules
generate_pyi.py(296):     errors = ", ".join(set(name_list) - set(PySide2.__all__))
generate_pyi.py(297):     if errors:
generate_pyi.py(299):     quirk1, quirk2 = "QtMultimedia", "QtMultimediaWidgets"
generate_pyi.py(300):     if name_list == [quirk1]:
generate_pyi.py(304):     elif name_list == [quirk2]:
generate_pyi.py(306):     for mod_name in name_list:
generate_pyi.py(307):         import_name = "PySide2." + mod_name
generate_pyi.py(308):         generate_pyi(import_name, outpath, options)
 --- modulename: generate_pyi, funcname: generate_pyi
generate_pyi.py(222):     plainname = import_name.split(".")[-1]
generate_pyi.py(223):     outfilepath = os.path.join(outpath, plainname + ".pyi")
 --- modulename: posixpath, funcname: join
posixpath.py(76):     a = os.fspath(a)
posixpath.py(77):     sep = _get_sep(a)
 --- modulename: posixpath, funcname: _get_sep
posixpath.py(42):     if isinstance(path, bytes):
posixpath.py(45):         return '/'
posixpath.py(78):     path = a
posixpath.py(79):     try:
posixpath.py(80):         if not p:
posixpath.py(82):         for b in map(os.fspath, p):
posixpath.py(83):             if b.startswith(sep):
posixpath.py(85):             elif not path or path.endswith(sep):
posixpath.py(88):                 path += sep + b
posixpath.py(82):         for b in map(os.fspath, p):
posixpath.py(92):     return path
generate_pyi.py(224):     top = __import__(import_name)
 --- modulename: _bootstrap, funcname: _find_and_load
<frozen importlib._bootstrap>(1004):  --- modulename: _bootstrap, funcname: __init__
<frozen importlib._bootstrap>(153): <frozen importlib._bootstrap>(154):  --- modulename: _bootstrap, funcname: __enter__
<frozen importlib._bootstrap>(157):  --- modulename: _bootstrap, funcname: _get_module_lock
<frozen importlib._bootstrap>(172): <frozen importlib._bootstrap>(173): <frozen importlib._bootstrap>(174): <frozen importlib._bootstrap>(175): <frozen importlib._bootstrap>(176): <frozen importlib._bootstrap>(177): <frozen importlib._bootstrap>(179): <frozen importlib._bootstrap>(180): <frozen importlib._bootstrap>(183):  --- modulename: _bootstrap, funcname: __init__
<frozen importlib._bootstrap>(59): <frozen importlib._bootstrap>(60): <frozen importlib._bootstrap>(61): <frozen importlib._bootstrap>(62): <frozen importlib._bootstrap>(63): <frozen importlib._bootstrap>(64): <frozen importlib._bootstrap>(185): <frozen importlib._bootstrap>(196): <frozen importlib._bootstrap>(198): <frozen importlib._bootstrap>(200): <frozen importlib._bootstrap>(158):  --- modulename: _bootstrap, funcname: acquire
<frozen importlib._bootstrap>(93): <frozen importlib._bootstrap>(94): <frozen importlib._bootstrap>(95): <frozen importlib._bootstrap>(97): <frozen importlib._bootstrap>(98): <frozen importlib._bootstrap>(99): <frozen importlib._bootstrap>(100): <frozen importlib._bootstrap>(101): <frozen importlib._bootstrap>(110): <frozen importlib._bootstrap>(101): <frozen importlib._bootstrap>(1005): <frozen importlib._bootstrap>(1006): <frozen importlib._bootstrap>(1007):  --- modulename: _bootstrap, funcname: _find_and_load_unlocked
<frozen importlib._bootstrap>(968): <frozen importlib._bootstrap>(969): <frozen importlib._bootstrap>(970): <frozen importlib._bootstrap>(971): <frozen importlib._bootstrap>(974): <frozen importlib._bootstrap>(976): <frozen importlib._bootstrap>(977): <frozen importlib._bootstrap>(978): <frozen importlib._bootstrap>(982):  --- modulename: _bootstrap, funcname: _find_spec
<frozen importlib._bootstrap>(903): <frozen importlib._bootstrap>(904): <frozen importlib._bootstrap>(909): <frozen importlib._bootstrap>(915): <frozen importlib._bootstrap>(916): <frozen importlib._bootstrap>(917):  --- modulename: _bootstrap, funcname: __enter__
<frozen importlib._bootstrap>(876): <frozen importlib._bootstrap>(918): <frozen importlib._bootstrap>(919): <frozen importlib._bootstrap>(925):  --- modulename: _bootstrap, funcname: find_spec
<frozen importlib._bootstrap>(738): <frozen importlib._bootstrap>(739):  --- modulename: _bootstrap, funcname: __exit__
<frozen importlib._bootstrap>(880): <frozen importlib._bootstrap>(926): <frozen importlib._bootstrap>(916): <frozen importlib._bootstrap>(917):  --- modulename: _bootstrap, funcname: __enter__
<frozen importlib._bootstrap>(876): <frozen importlib._bootstrap>(918): <frozen importlib._bootstrap>(919): <frozen importlib._bootstrap>(925):  --- modulename: _bootstrap, funcname: find_spec
<frozen importlib._bootstrap>(813): <frozen importlib._bootstrap>(816):  --- modulename: _bootstrap, funcname: __exit__
<frozen importlib._bootstrap>(880): <frozen importlib._bootstrap>(926): <frozen importlib._bootstrap>(916): <frozen importlib._bootstrap>(917):  --- modulename: _bootstrap, funcname: __enter__
<frozen importlib._bootstrap>(876): <frozen importlib._bootstrap>(918): <frozen importlib._bootstrap>(919): <frozen importlib._bootstrap>(925):  --- modulename: _bootstrap_external, funcname: find_spec
<frozen importlib._bootstrap_external>(1347): <frozen importlib._bootstrap_external>(1349):  --- modulename: _bootstrap_external, funcname: _get_spec
<frozen importlib._bootstrap_external>(1314): <frozen importlib._bootstrap_external>(1315): <frozen importlib._bootstrap_external>(1316): <frozen importlib._bootstrap_external>(1318):  --- modulename: _bootstrap_external, funcname: _path_importer_cache
<frozen importlib._bootstrap_external>(1280): <frozen importlib._bootstrap_external>(1287): <frozen importlib._bootstrap_external>(1288): <frozen importlib._bootstrap_external>(1292): <frozen importlib._bootstrap_external>(1319): <frozen importlib._bootstrap_external>(1320): <frozen importlib._bootstrap_external>(1321):  --- modulename: _bootstrap_external, funcname: find_spec
<frozen importlib._bootstrap_external>(1443): <frozen importlib._bootstrap_external>(1444): <frozen importlib._bootstrap_external>(1445): <frozen importlib._bootstrap_external>(1446):  --- modulename: _bootstrap_external, funcname: _path_stat
<frozen importlib._bootstrap_external>(87): <frozen importlib._bootstrap_external>(1449): <frozen importlib._bootstrap_external>(1453):  --- modulename: _bootstrap_external, funcname: _relax_case
<frozen importlib._bootstrap_external>(42): <frozen importlib._bootstrap_external>(1457): <frozen importlib._bootstrap_external>(1458): <frozen importlib._bootstrap_external>(1460): <frozen importlib._bootstrap_external>(1461):  --- modulename: _bootstrap_external, funcname: _path_join
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64):  --- modulename: _bootstrap_external, funcname: <listcomp>
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(1462): <frozen importlib._bootstrap_external>(1463): <frozen importlib._bootstrap_external>(1464):  --- modulename: _bootstrap_external, funcname: _path_join
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64):  --- modulename: _bootstrap_external, funcname: <listcomp>
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(1465):  --- modulename: _bootstrap_external, funcname: _path_isfile
<frozen importlib._bootstrap_external>(101):  --- modulename: _bootstrap_external, funcname: _path_is_mode_type
<frozen importlib._bootstrap_external>(92): <frozen importlib._bootstrap_external>(93):  --- modulename: _bootstrap_external, funcname: _path_stat
<frozen importlib._bootstrap_external>(87): <frozen importlib._bootstrap_external>(94): <frozen importlib._bootstrap_external>(95): <frozen importlib._bootstrap_external>(1462): <frozen importlib._bootstrap_external>(1463): <frozen importlib._bootstrap_external>(1464):  --- modulename: _bootstrap_external, funcname: _path_join
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64):  --- modulename: _bootstrap_external, funcname: <listcomp>
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(1465):  --- modulename: _bootstrap_external, funcname: _path_isfile
<frozen importlib._bootstrap_external>(101):  --- modulename: _bootstrap_external, funcname: _path_is_mode_type
<frozen importlib._bootstrap_external>(92): <frozen importlib._bootstrap_external>(93):  --- modulename: _bootstrap_external, funcname: _path_stat
<frozen importlib._bootstrap_external>(87): <frozen importlib._bootstrap_external>(94): <frozen importlib._bootstrap_external>(95): <frozen importlib._bootstrap_external>(1462): <frozen importlib._bootstrap_external>(1463): <frozen importlib._bootstrap_external>(1464):  --- modulename: _bootstrap_external, funcname: _path_join
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64):  --- modulename: _bootstrap_external, funcname: <listcomp>
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(1465):  --- modulename: _bootstrap_external, funcname: _path_isfile
<frozen importlib._bootstrap_external>(101):  --- modulename: _bootstrap_external, funcname: _path_is_mode_type
<frozen importlib._bootstrap_external>(92): <frozen importlib._bootstrap_external>(93):  --- modulename: _bootstrap_external, funcname: _path_stat
<frozen importlib._bootstrap_external>(87): <frozen importlib._bootstrap_external>(94): <frozen importlib._bootstrap_external>(95): <frozen importlib._bootstrap_external>(1462): <frozen importlib._bootstrap_external>(1463): <frozen importlib._bootstrap_external>(1464):  --- modulename: _bootstrap_external, funcname: _path_join
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64):  --- modulename: _bootstrap_external, funcname: <listcomp>
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(1465):  --- modulename: _bootstrap_external, funcname: _path_isfile
<frozen importlib._bootstrap_external>(101):  --- modulename: _bootstrap_external, funcname: _path_is_mode_type
<frozen importlib._bootstrap_external>(92): <frozen importlib._bootstrap_external>(93):  --- modulename: _bootstrap_external, funcname: _path_stat
<frozen importlib._bootstrap_external>(87): <frozen importlib._bootstrap_external>(94): <frozen importlib._bootstrap_external>(95): <frozen importlib._bootstrap_external>(1462): <frozen importlib._bootstrap_external>(1463): <frozen importlib._bootstrap_external>(1464):  --- modulename: _bootstrap_external, funcname: _path_join
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64):  --- modulename: _bootstrap_external, funcname: <listcomp>
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(1465):  --- modulename: _bootstrap_external, funcname: _path_isfile
<frozen importlib._bootstrap_external>(101):  --- modulename: _bootstrap_external, funcname: _path_is_mode_type
<frozen importlib._bootstrap_external>(92): <frozen importlib._bootstrap_external>(93):  --- modulename: _bootstrap_external, funcname: _path_stat
<frozen importlib._bootstrap_external>(87): <frozen importlib._bootstrap_external>(94): <frozen importlib._bootstrap_external>(95): <frozen importlib._bootstrap_external>(1462): <frozen importlib._bootstrap_external>(1470):  --- modulename: _bootstrap_external, funcname: _path_isdir
<frozen importlib._bootstrap_external>(106): <frozen importlib._bootstrap_external>(108):  --- modulename: _bootstrap_external, funcname: _path_is_mode_type
<frozen importlib._bootstrap_external>(92): <frozen importlib._bootstrap_external>(93):  --- modulename: _bootstrap_external, funcname: _path_stat
<frozen importlib._bootstrap_external>(87): <frozen importlib._bootstrap_external>(96): <frozen importlib._bootstrap_external>(1472): <frozen importlib._bootstrap_external>(1473):  --- modulename: _bootstrap_external, funcname: _path_join
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64):  --- modulename: _bootstrap_external, funcname: <listcomp>
<frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(65): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(64): <frozen importlib._bootstrap_external>(1474):  --- modulename: _bootstrap, funcname: _verbose_message
<frozen importlib._bootstrap>(233): <frozen importlib._bootstrap_external>(1475): <frozen importlib._bootstrap_external>(1476):  --- modulename: _bootstrap_external, funcname: _path_isfile
<frozen importlib._bootstrap_external>(101):  --- modulename: _bootstrap_external, funcname: _path_is_mode_type
<frozen importlib._bootstrap_external>(92): <frozen importlib._bootstrap_external>(93):  --- modulename: _bootstrap_external, funcname: _path_stat
<frozen importlib._bootstrap_external>(87): <frozen importlib._bootstrap_external>(96): <frozen importlib._bootstrap_external>(1477): <frozen importlib._bootstrap_external>(1478): <frozen importlib._bootstrap_external>(1477):  --- modulename: _bootstrap_external, funcname: _get_spec
<frozen importlib._bootstrap_external>(1434):  --- modulename: _bootstrap_external, funcname: __init__
<frozen importlib._bootstrap_external>(1096): <frozen importlib._bootstrap_external>(1097): <frozen importlib._bootstrap_external>(1435): <frozen importlib._bootstrap_external>(1436): <frozen importlib._bootstrap_external>(1435):  --- modulename: _bootstrap_external, funcname: spec_from_file_location
<frozen importlib._bootstrap_external>(648): <frozen importlib._bootstrap_external>(660): <frozen importlib._bootstrap_external>(668):  --- modulename: _bootstrap, funcname: __init__
<frozen importlib._bootstrap>(353): <frozen importlib._bootstrap>(354): <frozen importlib._bootstrap>(355): <frozen importlib._bootstrap>(356): <frozen importlib._bootstrap>(357): <frozen importlib._bootstrap>(360): <frozen importlib._bootstrap>(361): <frozen importlib._bootstrap_external>(669): <frozen importlib._bootstrap_external>(672): <frozen importlib._bootstrap_external>(682): <frozen importlib._bootstrap_external>(693): <frozen importlib._bootstrap_external>(694): <frozen importlib._bootstrap_external>(699): <frozen importlib._bootstrap_external>(1324): <frozen importlib._bootstrap_external>(1326): <frozen importlib._bootstrap_external>(1327): <frozen importlib._bootstrap_external>(1350): <frozen importlib._bootstrap_external>(1352): <frozen importlib._bootstrap_external>(1363):  --- modulename: _bootstrap, funcname: __exit__
<frozen importlib._bootstrap>(880): <frozen importlib._bootstrap>(926): <frozen importlib._bootstrap>(928): <frozen importlib._bootstrap>(943): <frozen importlib._bootstrap>(983): <frozen importlib._bootstrap>(986):  --- modulename: _bootstrap, funcname: _load_unlocked
<frozen importlib._bootstrap>(661): <frozen importlib._bootstrap>(663): <frozen importlib._bootstrap>(666):  --- modulename: _bootstrap, funcname: module_from_spec
<frozen importlib._bootstrap>(561): <frozen importlib._bootstrap>(562): <frozen importlib._bootstrap>(565):  --- modulename: _bootstrap_external, funcname: create_module
<frozen importlib._bootstrap_external>(1108): <frozen importlib._bootstrap_external>(1109): <frozen importlib._bootstrap_external>(1108):  --- modulename: _bootstrap, funcname: _call_with_frames_removed

Comment 6 Petr Viktorin (pviktori) 2020-05-20 14:26:07 UTC
I ran compilation in Mock and used py-spy (https://pypi.org/project/py-spy/) on one of the hung processes to generate a traceback with locals. I also ran GDB to get a C-level backtrace.

Python:

Thread 0x7F3DADC85740 (active)
    _call_with_frames_removed (<frozen importlib._bootstrap>:228)
        Arguments::
            f: <builtin_function_or_method at 0x7f3dadbd8bd0>
        Locals::
            args: (<ModuleSpec at 0x7f3dad4443a0>)
            kwds: {}
    create_module (<frozen importlib._bootstrap_external>:1108)
        Arguments::
            self: <ExtensionFileLoader at 0x7f3dad4441c0>
            spec: <ModuleSpec at 0x7f3dad4443a0>
    module_from_spec (<frozen importlib._bootstrap>:565)
        Arguments::
            spec: <ModuleSpec at 0x7f3dad4443a0>
        Locals::
            module: None
    _load_unlocked (<frozen importlib._bootstrap>:666)
        Arguments::
            spec: <ModuleSpec at 0x7f3dad4443a0>
    _find_and_load_unlocked (<frozen importlib._bootstrap>:986)
        Arguments::
            name: "PySide2.QtCore"
            import_: <builtin_function_or_method at 0x7f3dadbc0950>
        Locals::
            path: ["/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/PySide2"]
            parent: "PySide2"
            parent_module: <module at 0x7f3dad7edae0>
            spec: <ModuleSpec at 0x7f3dad4443a0>
    _find_and_load (<frozen importlib._bootstrap>:1007)
        Arguments::
            name: "PySide2.QtCore"
            import_: <builtin_function_or_method at 0x7f3dadbc0950>
        Locals::
            module: <object at 0x7f3dadbb8060>
    generate_pyi (support/generate_pyi.py:224)
        Arguments::
            import_name: "PySide2.QtCore"
            outpath: "/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/PySide2"
            options: <Namespace at 0x7f3dad7f3910>
        Locals::
            plainname: "QtCore"
            outfilepath: "/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/PySide2/QtCore.pyi"
    generate_all_pyi (support/generate_pyi.py:308)
        Arguments::
            outpath: "/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2/PySide2"
            options: <Namespace at 0x7f3dad7f3910>
        Locals::
            ps: ":"
            sys_path: ["/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2", ...]
            pypath: "/builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/x86_64-linux/sources/pyside2:/builddir/build/BUILD/pyside-setup-op..."
            name_list: ["QtCore"]
            errors: ""
            quirk1: "QtMultimedia"
            quirk2: "QtMultimediaWidgets"
            mod_name: "QtCore"
            import_name: "PySide2.QtCore"
    <module> (support/generate_pyi.py:329)

C:

#0  0x00007f3dadf2b912 in PyType_FromSpec_tp_traverse () from target:/lib64/libpython3.9.so.1.0
#1  0x00007f3dadefe675 in deduce_unreachable () from target:/lib64/libpython3.9.so.1.0
#2  0x00007f3dadefdebb in collect () from target:/lib64/libpython3.9.so.1.0
#3  0x00007f3dadf7c20e in collect_with_callback () from target:/lib64/libpython3.9.so.1.0
#4  0x00007f3dadef79cb in _PyObject_GC_Alloc () from target:/lib64/libpython3.9.so.1.0
#5  0x00007f3dadefb8bc in PyType_GenericAlloc () from target:/lib64/libpython3.9.so.1.0
#6  0x00007f3dadf7b721 in descr_new () from target:/lib64/libpython3.9.so.1.0
#7  0x00007f3dadf7b6bf in PyDescr_NewWrapper () from target:/lib64/libpython3.9.so.1.0
#8  0x00007f3dadf79e58 in PyType_Ready () from target:/lib64/libpython3.9.so.1.0
#9  0x00007f3dadf88649 in PyType_FromModuleAndSpec () from target:/lib64/libpython3.9.so.1.0
#10 0x00007f3dad707989 in Shiboken::Enum::newTypeWithName (name=<optimized out>, cppName=0x7f3dad2a32a3 "QLocale::NumberOption", 
    numbers_fromFlag=0x55e01fd6f890)
    at /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/shiboken2/libshiboken/sbkenum.cpp:609
#11 0x00007f3dad7071d4 in Shiboken::Enum::createEnum (fullName=0x55e01fd55b60 ";", cppName=0x7f3da9a61c00 "\002", 
    flagsType=0x55e01fd6f890)
    at /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/shiboken2/libshiboken/sbkenum.cpp:388
#12 Shiboken::Enum::createScopedEnum (scope=0x55e01fd28ff0, name=0x7f3dad2a3296 "NumberOption", fullName=0x55e01fd55b60 ";", 
    cppName=0x7f3da9a61c00 "\002", flagsType=0x55e01fd6f890)
    at /builddir/build/BUILD/pyside-setup-opensource-src-5.14.2/sources/shiboken2/libshiboken/sbkenum.cpp:407
#13 0x00007f3dad1083b3 in init_QLocale (module=<optimized out>) at PySide2/QtCore/qlocale_wrapper.cpp:7733
#14 0x00007f3dad23d7b8 in PyInit_QtCore () at PySide2/QtCore/qtcore_module_wrapper.cpp:5036
#15 0x00007f3dadfa45be in _imp_create_dynamic () from target:/lib64/libpython3.9.so.1.0
#16 0x00007f3dadf13df8 in cfunction_vectorcall_FASTCALL () from target:/lib64/libpython3.9.so.1.0
#17 0x00007f3dadf0cb80 in _PyEval_EvalFrameDefault () from target:/lib64/libpython3.9.so.1.0
#18 0x00007f3dadf05a61 in _PyEval_EvalCode () from target:/lib64/libpython3.9.so.1.0
#19 0x00007f3dadf13836 in _PyFunction_Vectorcall () from target:/lib64/libpython3.9.so.1.0
#20 0x00007f3dadf0e56a in call_function () from target:/lib64/libpython3.9.so.1.0
#21 0x00007f3dadf0b636 in _PyEval_EvalFrameDefault () from target:/lib64/libpython3.9.so.1.0
#22 0x00007f3dadf13aeb in function_code_fastcall () from target:/lib64/libpython3.9.so.1.0
#23 0x00007f3dadf0e56a in call_function () from target:/lib64/libpython3.9.so.1.0
#24 0x00007f3dadf06f5f in _PyEval_EvalFrameDefault () from target:/lib64/libpython3.9.so.1.0
#25 0x00007f3dadf13aeb in function_code_fastcall () from target:/lib64/libpython3.9.so.1.0
#26 0x00007f3dadf0e56a in call_function () from target:/lib64/libpython3.9.so.1.0
#27 0x00007f3dadf06d83 in _PyEval_EvalFrameDefault () from target:/lib64/libpython3.9.so.1.0
#28 0x00007f3dadf13aeb in function_code_fastcall () from target:/lib64/libpython3.9.so.1.0
#29 0x00007f3dadf0e56a in call_function () from target:/lib64/libpython3.9.so.1.0
#30 0x00007f3dadf06d83 in _PyEval_EvalFrameDefault () from target:/lib64/libpython3.9.so.1.0
#31 0x00007f3dadf13aeb in function_code_fastcall () from target:/lib64/libpython3.9.so.1.0
#32 0x00007f3dadf0e56a in call_function () from target:/lib64/libpython3.9.so.1.0
#33 0x00007f3dadf06d83 in _PyEval_EvalFrameDefault () from target:/lib64/libpython3.9.so.1.0
#34 0x00007f3dadf13aeb in function_code_fastcall () from target:/lib64/libpython3.9.so.1.0
#35 0x00007f3dadf1308d in object_vacall () from target:/lib64/libpython3.9.so.1.0
#36 0x00007f3dadf85917 in _PyObject_CallMethodIdObjArgs () from target:/lib64/libpython3.9.so.1.0
#37 0x00007f3dadf1d63b in PyImport_ImportModuleLevelObject () from target:/lib64/libpython3.9.so.1.0
#38 0x00007f3dadf24f88 in builtin___import__ () from target:/lib64/libpython3.9.so.1.0
#39 0x00007f3dadf1d8a5 in cfunction_call () from target:/lib64/libpython3.9.so.1.0
#40 0x00007f3dadf0f0af in _PyObject_MakeTpCall () from target:/lib64/libpython3.9.so.1.0
#41 0x00007f3dadf0e61e in call_function () from target:/lib64/libpython3.9.so.1.0
#42 0x00007f3dadf06d83 in _PyEval_EvalFrameDefault () from target:/lib64/libpython3.9.so.1.0
#43 0x00007f3dadf13aeb in function_code_fastcall () from target:/lib64/libpython3.9.so.1.0
#44 0x00007f3dadf0e56a in call_function () from target:/lib64/libpython3.9.so.1.0
#45 0x00007f3dadf06d83 in _PyEval_EvalFrameDefault () from target:/lib64/libpython3.9.so.1.0
#46 0x00007f3dadf05a61 in _PyEval_EvalCode () from target:/lib64/libpython3.9.so.1.0
#47 0x00007f3dadf13836 in _PyFunction_Vectorcall () from target:/lib64/libpython3.9.so.1.0
#48 0x00007f3dadf0e69a in call_function () from target:/lib64/libpython3.9.so.1.0
#49 0x00007f3dadf07b97 in _PyEval_EvalFrameDefault () from target:/lib64/libpython3.9.so.1.0
#50 0x00007f3dadf05a61 in _PyEval_EvalCode () from target:/lib64/libpython3.9.so.1.0
#51 0x00007f3dadf805e1 in _PyEval_EvalCodeWithName () from target:/lib64/libpython3.9.so.1.0
#52 0x00007f3dadf80589 in PyEval_EvalCodeEx () from target:/lib64/libpython3.9.so.1.0
#53 0x00007f3dadf8054b in PyEval_EvalCode () from target:/lib64/libpython3.9.so.1.0
#54 0x00007f3dadfad00d in run_eval_code_obj () from target:/lib64/libpython3.9.so.1.0
#55 0x00007f3dadfaa8c6 in run_mod () from target:/lib64/libpython3.9.so.1.0
#56 0x00007f3dade8b560 in PyRun_FileExFlags () from target:/lib64/libpython3.9.so.1.0
#57 0x00007f3dade8b148 in PyRun_SimpleFileExFlags () from target:/lib64/libpython3.9.so.1.0
#58 0x00007f3dade7f265 in Py_RunMain.cold () from target:/lib64/libpython3.9.so.1.0
#59 0x00007f3dadf70c49 in Py_BytesMain () from target:/lib64/libpython3.9.so.1.0
#60 0x00007f3dae17a152 in __libc_start_main () from target:/lib64/libc.so.6
#61 0x000055e01dc6f07e in _start ()

Comment 7 Richard Shaw 2020-05-20 15:38:23 UTC
Not being the best debugger, I looked through the changes for Python 3.9 but nothing jumped out at me. Is this more likely a regression in python from version 3.8?

Comment 8 Petr Viktorin (pviktori) 2020-05-20 16:12:58 UTC
Richard,
Python devs are looking into it, but it's early for a write-up.

Single stepping in GDB, I get this infinite loop:


Sbk_QOperatingSystemVersion_traverse (self=<optimized out>, visit=<optimized out>, arg=<optimized out>)
    at PySide2/QtCore/qoperatingsystemversion_wrapper.cpp:473
0x00007fd19fe1c8e0 in PyType_FromSpec_tp_traverse () from target:/lib64/libpython3.9.so.1.0
Single stepping until exit from function PyType_FromSpec_tp_traverse,
which has no line number information.
Sbk_QOperatingSystemVersion_traverse (self=<optimized out>, visit=<optimized out>, arg=<optimized out>)
    at PySide2/QtCore/qoperatingsystemversion_wrapper.cpp:473
0x00007fd19fe1c8e0 in PyType_FromSpec_tp_traverse () from target:/lib64/libpython3.9.so.1.0
Single stepping until exit from function PyType_FromSpec_tp_traverse,
which has no line number information.
Sbk_QOperatingSystemVersion_traverse (self=<optimized out>, visit=<optimized out>, arg=<optimized out>)
    at PySide2/QtCore/qoperatingsystemversion_wrapper.cpp:473
0x00007fd19fe1c8e0 in PyType_FromSpec_tp_traverse () from target:/lib64/libpython3.9.so.1.0
Single stepping until exit from function PyType_FromSpec_tp_traverse,
which has no line number information.
Sbk_QOperatingSystemVersion_traverse (self=<optimized out>, visit=<optimized out>, arg=<optimized out>)
    at PySide2/QtCore/qoperatingsystemversion_wrapper.cpp:473
0x00007fd19fe1c8e0 in PyType_FromSpec_tp_traverse () from target:/lib64/libpython3.9.so.1.0
Single stepping until exit from function PyType_FromSpec_tp_traverse,
which has no line number information.
Sbk_QOperatingSystemVersion_traverse (self=<optimized out>, visit=<optimized out>, arg=<optimized out>)
    at PySide2/QtCore/qoperatingsystemversion_wrapper.cpp:473
0x00007fd19fe1c8e0 in PyType_FromSpec_tp_traverse () from target:/lib64/libpython3.9.so.1.0
Single stepping until exit from function PyType_FromSpec_tp_traverse,
which has no line number information.
Sbk_QOperatingSystemVersion_traverse (self=<optimized out>, visit=<optimized out>, arg=<optimized out>)
    at PySide2/QtCore/qoperatingsystemversion_wrapper.cpp:473
0x00007fd19fe1c8e0 in PyType_FromSpec_tp_traverse () from target:/lib64/libpython3.9.so.1.0
Single stepping until exit from function PyType_FromSpec_tp_traverse,
which has no line number information.
Sbk_QOperatingSystemVersion_traverse (self=<optimized out>, visit=<optimized out>, arg=<optimized out>)
    at PySide2/QtCore/qoperatingsystemversion_wrapper.cpp:473

Comment 9 Petr Viktorin (pviktori) 2020-05-20 16:17:57 UTC
Probably related to: https://bugs.python.org/issue40217
I've started a discussion there, even though I'm now not 100% sure this caused the issue.

Comment 10 Petr Viktorin (pviktori) 2020-05-22 18:57:00 UTC
After another day of debugging I think I found it. I believe it's a bug Python. Details here: https://bugs.python.org/issue40217?#msg369632

Comment 11 Petr Viktorin (pviktori) 2020-05-22 18:57:14 UTC
*in Python

Comment 12 Miro Hrončok 2020-05-25 13:01:58 UTC
This comment is mass posted to all bugs blocking the Python 3.9 tracker, sorry if it is not 100 % relevant. When in doubt, please ask.


The Python 3.9 rebuild is in progress in a Koji side tag.

If you fix this bug, please don't rebuild the package in regular rawhide, but do it in the side tag with:

    $ fedpkg build --target=f33-python

The rebuild is progressing slowly and it is possible this package won't have all the required build dependencies yet. If that's the case, please just leave the fix committed and pushed and we will eventually rebuild it for you.

You are not asked to go and try rebuild all the missing dependencies yourself. If you know there is a bootstrap loop in the dependencies, let me know and we can untangle it together.

If you want to test your fix or reproduce the failure, you can still use the Copr repo mentioned in the initial comment of this bug: https://copr.fedorainfracloud.org/coprs/g/python/python3.9/

Comment 13 Richard Shaw 2020-05-27 14:08:53 UTC
FYI, 5.14.2.2 was just released. I committed the update but only performed a local mock build. Obviously it doesn't address the problem here.

Comment 14 Petr Viktorin (pviktori) 2020-05-27 15:40:55 UTC
The CPython patch was merged upstream and I tested it in the python3.9 COPR. PySide2 builds successfully with it!
I intend to apply the patch to Rawhide's python3 after the side tag is merged, which should be this week.
I noticed that python-pyside2's %check section skips all tests. Would it be possible to run at least some of them? What's the best way to test that PySide2 works?

Comment 15 Richard Shaw 2020-05-28 12:07:06 UTC
I hadn't dug into it much but should probably try when I have the time. 

As far as working, I think FreeCAD is the only known consumer. I have it on my short list to enable to CI there.

Comment 16 Miro Hrončok 2020-05-29 07:11:52 UTC
Python 3.9 update: The f33-python side tag is currently being merged.

New builds in f33-python are no longer possible, but python3 is not yet updated to Python 3.9 in rawhide. You can check when Python is Python 3.9 with:

    $ koji wait-repo f33-build --build python3.9-3.9.0~b1-3.fc3

And build the packages normally after that.

Comment 17 Petr Viktorin (pviktori) 2020-05-30 10:19:26 UTC
The Python fix is in Rawhide, and I've rebuilt PySide2: https://koji.fedoraproject.org/koji/taskinfo?taskID=45169912

Thank you for your patience. PySide is doing some cool stuff with the API. I'm glad this issue was found in Python 3.9's beta phase, though it did create some work and worries you probably didn't sign up for when taking on PySide maintenance.


Note You need to log in before you can comment on or make changes to this bug.