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 1709817

Summary: python-twisted FTBFS with Python 3.8
Product: [Fedora] Fedora Reporter: Lumír Balhar <lbalhar>
Component: python-twistedAssignee: Robert-André Mauchin 🐧 <zebob.m>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: high Docs Contact:
Priority: unspecified    
Version: rawhideCC: mhroncok, python-sig, zebob.m
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: python-twisted-19.2.0-2.fc31 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-05-14 15:58:21 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:    
Bug Blocks: 1686977    
Attachments:
Description Flags
Full build log from COPR none

Description Lumír Balhar 2019-05-14 11:16:29 UTC
Created attachment 1568403 [details]
Full build log from COPR

python-twisted-19.2.0-1.fc31 fails to build from source in Fedora rawhide with Python 3.8.

The compilation failure is:

gcc -pthread -Wno-unused-result -Wsign-compare -DDYNAMIC_ANNOTATIONS_ENABLED=1 -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -D_GNU_SOURCE -fPIC -fwrapv -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -m64 -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fPIC -I/usr/include/python3.8 -c src/twisted/test/raiser.c -o build/temp.linux-x86_64-3.8/src/twisted/test/raiser.o
BUILDSTDERR: src/twisted/test/raiser.c: In function ‘__Pyx_InitCachedConstants’:
BUILDSTDERR: src/twisted/test/raiser.c:1140:89: warning: passing argument 6 of ‘PyCode_New’ makes integer from pointer without a cast [-Wint-conversion]
BUILDSTDERR:  1140 |   __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_twisted_test_raiser_pyx, __pyx_n_s_raiseException, 17, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 17, __pyx_L1_error)
BUILDSTDERR:       |                                                                                         ^~~~~~~~~~~~~~~~~
BUILDSTDERR:       |                                                                                         |
BUILDSTDERR:       |                                                                                         PyObject * {aka struct _object *}
BUILDSTDERR: src/twisted/test/raiser.c:296:37: note: in definition of macro ‘__Pyx_PyCode_New’
BUILDSTDERR:   296 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
BUILDSTDERR:       |                                     ^~~~
BUILDSTDERR: In file included from /usr/include/python3.8/compile.h:5,
BUILDSTDERR:                  from /usr/include/python3.8/Python.h:137,
BUILDSTDERR:                  from src/twisted/test/raiser.c:4:
BUILDSTDERR: /usr/include/python3.8/code.h:105:28: note: expected ‘int’ but argument is of type ‘PyObject *’ {aka ‘struct _object *’}
BUILDSTDERR:   105 | PyAPI_FUNC(PyCodeObject *) PyCode_New(
BUILDSTDERR:       |                            ^~~~~~~~~~
BUILDSTDERR: src/twisted/test/raiser.c:1140:269: warning: passing argument 14 of ‘PyCode_New’ makes pointer from integer without a cast [-Wint-conversion]
BUILDSTDERR:  1140 |   __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_twisted_test_raiser_pyx, __pyx_n_s_raiseException, 17, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 17, __pyx_L1_error)
BUILDSTDERR:       |                                                                                                                                                                                                                                                                             ^~
BUILDSTDERR:       |                                                                                                                                                                                                                                                                             |
BUILDSTDERR:       |                                                                                                                                                                                                                                                                             int
BUILDSTDERR: src/twisted/test/raiser.c:296:72: note: in definition of macro ‘__Pyx_PyCode_New’
BUILDSTDERR:   296 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
BUILDSTDERR:       |                                                                        ^~~~~
BUILDSTDERR: In file included from /usr/include/python3.8/compile.h:5,
BUILDSTDERR:                  from /usr/include/python3.8/Python.h:137,
BUILDSTDERR:                  from src/twisted/test/raiser.c:4:
BUILDSTDERR: /usr/include/python3.8/code.h:105:28: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘int’
BUILDSTDERR:   105 | PyAPI_FUNC(PyCodeObject *) PyCode_New(
BUILDSTDERR:       |                            ^~~~~~~~~~
BUILDSTDERR: src/twisted/test/raiser.c:1140:273: warning: passing argument 15 of ‘PyCode_New’ makes integer from pointer without a cast [-Wint-conversion]
BUILDSTDERR:  1140 |   __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_twisted_test_raiser_pyx, __pyx_n_s_raiseException, 17, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 17, __pyx_L1_error)
BUILDSTDERR:       |                                                                                                                                                                                                                                                                                 ^~~~~~~~~~~~~~~~~
BUILDSTDERR:       |                                                                                                                                                                                                                                                                                 |
BUILDSTDERR:       |                                                                                                                                                                                                                                                                                 PyObject * {aka struct _object *}
BUILDSTDERR: src/twisted/test/raiser.c:296:79: note: in definition of macro ‘__Pyx_PyCode_New’
BUILDSTDERR:   296 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
BUILDSTDERR:       |                                                                               ^~~~
BUILDSTDERR: In file included from /usr/include/python3.8/compile.h:5,
BUILDSTDERR:                  from /usr/include/python3.8/Python.h:137,
BUILDSTDERR:                  from src/twisted/test/raiser.c:4:
BUILDSTDERR: /usr/include/python3.8/code.h:105:28: note: expected ‘int’ but argument is of type ‘PyObject *’ {aka ‘struct _object *’}
BUILDSTDERR:   105 | PyAPI_FUNC(PyCodeObject *) PyCode_New(
BUILDSTDERR:       |                            ^~~~~~~~~~
BUILDSTDERR: src/twisted/test/raiser.c:296:11: error: too few arguments to function ‘PyCode_New’
BUILDSTDERR:   296 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
BUILDSTDERR:       |           ^~~~~~~~~~
BUILDSTDERR: src/twisted/test/raiser.c:1140:33: note: in expansion of macro ‘__Pyx_PyCode_New’
BUILDSTDERR:  1140 |   __pyx_codeobj__2 = (PyObject*)__Pyx_PyCode_New(0, 0, 0, 0, CO_OPTIMIZED|CO_NEWLOCALS, __pyx_empty_bytes, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_empty_tuple, __pyx_kp_s_src_twisted_test_raiser_pyx, __pyx_n_s_raiseException, 17, __pyx_empty_bytes); if (unlikely(!__pyx_codeobj__2)) __PYX_ERR(0, 17, __pyx_L1_error)
BUILDSTDERR:       |                                 ^~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/python3.8/compile.h:5,
BUILDSTDERR:                  from /usr/include/python3.8/Python.h:137,
BUILDSTDERR:                  from src/twisted/test/raiser.c:4:
BUILDSTDERR: /usr/include/python3.8/code.h:105:28: note: declared here
BUILDSTDERR:   105 | PyAPI_FUNC(PyCodeObject *) PyCode_New(
BUILDSTDERR:       |                            ^~~~~~~~~~
BUILDSTDERR: src/twisted/test/raiser.c: In function ‘__Pyx_CreateCodeObjectForTraceback’:
BUILDSTDERR: src/twisted/test/raiser.c:2007:9: warning: passing argument 6 of ‘PyCode_New’ makes integer from pointer without a cast [-Wint-conversion]
BUILDSTDERR:  2007 |         __pyx_empty_bytes, /*PyObject *code,*/
BUILDSTDERR:       |         ^~~~~~~~~~~~~~~~~
BUILDSTDERR:       |         |
BUILDSTDERR:       |         PyObject * {aka struct _object *}
BUILDSTDERR: src/twisted/test/raiser.c:296:37: note: in definition of macro ‘__Pyx_PyCode_New’
BUILDSTDERR:   296 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
BUILDSTDERR:       |                                     ^~~~
BUILDSTDERR: In file included from /usr/include/python3.8/compile.h:5,
BUILDSTDERR:                  from /usr/include/python3.8/Python.h:137,
BUILDSTDERR:                  from src/twisted/test/raiser.c:4:
BUILDSTDERR: /usr/include/python3.8/code.h:105:28: note: expected ‘int’ but argument is of type ‘PyObject *’ {aka ‘struct _object *’}
BUILDSTDERR:   105 | PyAPI_FUNC(PyCodeObject *) PyCode_New(
BUILDSTDERR:       |                            ^~~~~~~~~~
BUILDSTDERR: src/twisted/test/raiser.c:2015:9: warning: passing argument 14 of ‘PyCode_New’ makes pointer from integer without a cast [-Wint-conversion]
BUILDSTDERR:  2015 |         py_line,
BUILDSTDERR:       |         ^~~~~~~
BUILDSTDERR:       |         |
BUILDSTDERR:       |         int
BUILDSTDERR: src/twisted/test/raiser.c:296:72: note: in definition of macro ‘__Pyx_PyCode_New’
BUILDSTDERR:   296 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
BUILDSTDERR:       |                                                                        ^~~~~
BUILDSTDERR: In file included from /usr/include/python3.8/compile.h:5,
BUILDSTDERR:                  from /usr/include/python3.8/Python.h:137,
BUILDSTDERR:                  from src/twisted/test/raiser.c:4:
BUILDSTDERR: /usr/include/python3.8/code.h:105:28: note: expected ‘PyObject *’ {aka ‘struct _object *’} but argument is of type ‘int’
BUILDSTDERR:   105 | PyAPI_FUNC(PyCodeObject *) PyCode_New(
BUILDSTDERR:       |                            ^~~~~~~~~~
BUILDSTDERR: src/twisted/test/raiser.c:2016:9: warning: passing argument 15 of ‘PyCode_New’ makes integer from pointer without a cast [-Wint-conversion]
BUILDSTDERR:  2016 |         __pyx_empty_bytes  /*PyObject *lnotab*/
BUILDSTDERR:       |         ^~~~~~~~~~~~~~~~~
BUILDSTDERR:       |         |
BUILDSTDERR:       |         PyObject * {aka struct _object *}
BUILDSTDERR: src/twisted/test/raiser.c:296:79: note: in definition of macro ‘__Pyx_PyCode_New’
BUILDSTDERR:   296 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
BUILDSTDERR:       |                                                                               ^~~~
BUILDSTDERR: In file included from /usr/include/python3.8/compile.h:5,
BUILDSTDERR:                  from /usr/include/python3.8/Python.h:137,
BUILDSTDERR:                  from src/twisted/test/raiser.c:4:
BUILDSTDERR: /usr/include/python3.8/code.h:105:28: note: expected ‘int’ but argument is of type ‘PyObject *’ {aka ‘struct _object *’}
BUILDSTDERR:   105 | PyAPI_FUNC(PyCodeObject *) PyCode_New(
BUILDSTDERR:       |                            ^~~~~~~~~~
BUILDSTDERR: src/twisted/test/raiser.c:296:11: error: too few arguments to function ‘PyCode_New’
BUILDSTDERR:   296 |           PyCode_New(a, k, l, s, f, code, c, n, v, fv, cell, fn, name, fline, lnos)
BUILDSTDERR:       |           ^~~~~~~~~~
BUILDSTDERR: src/twisted/test/raiser.c:2001:15: note: in expansion of macro ‘__Pyx_PyCode_New’
BUILDSTDERR:  2001 |     py_code = __Pyx_PyCode_New(
BUILDSTDERR:       |               ^~~~~~~~~~~~~~~~
BUILDSTDERR: In file included from /usr/include/python3.8/compile.h:5,
BUILDSTDERR:                  from /usr/include/python3.8/Python.h:137,
BUILDSTDERR:                  from src/twisted/test/raiser.c:4:
BUILDSTDERR: /usr/include/python3.8/code.h:105:28: note: declared here
BUILDSTDERR:   105 | PyAPI_FUNC(PyCodeObject *) PyCode_New(
BUILDSTDERR:       |                            ^~~~~~~~~~
BUILDSTDERR: error: command 'gcc' failed with exit status 1
RPM build errors:
BUILDSTDERR: error: Bad exit status from /var/tmp/rpm-tmp.aIpoJw (%build)
BUILDSTDERR:     Bad exit status from /var/tmp/rpm-tmp.aIpoJw (%build)
Child return code was: 1

Comment 1 Miro Hrončok 2019-05-14 12:39:51 UTC
This looks like a common problem after positional only arguments were introduced. See the Cython fix for reference:



https://github.com/cython/cython/commit/d22678c700446636360d3fe97aef60f0cedef741

Comment 2 Robert-André Mauchin 🐧 2019-05-14 14:26:39 UTC
https://github.com/cython/cython/issues/2938

Comment 3 Miro Hrončok 2019-05-14 14:51:50 UTC
Oh, so this is Cython generated code? That fix should fix that but only if we regenerate the code. Currently, twisted doesn't seem to BR Cython at all.

Comment 4 Robert-André Mauchin 🐧 2019-05-14 15:19:19 UTC
Yes I've sent a patch upstream:
https://twistedmatrix.com/trac/ticket/9640#comment:1
https://github.com/twisted/twisted/pull/1140

I'm rebuilding master with a patch. I've tested it with the Py 3.8 COPR and it works.

Comment 5 Robert-André Mauchin 🐧 2019-05-14 15:58:21 UTC
Fixed in python-twisted-19.2.0-2.fc31.

Comment 6 Miro Hrončok 2019-05-14 16:28:39 UTC
Yes, it builds. Thank you.