Bug 1106779 - python-greenlet: FTBFS in rawhide
Summary: python-greenlet: FTBFS in rawhide
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: python-greenlet
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Terje Røsten
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks: ARMTracker F21FTBFS
TreeView+ depends on / blocked
 
Reported: 2014-06-09 17:27 UTC by Dennis Gilmore
Modified: 2015-03-29 14:15 UTC (History)
7 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2015-03-29 14:15:52 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)
build.log (10.15 KB, text/plain)
2014-06-09 17:27 UTC, Dennis Gilmore
no flags Details
root.log (75.02 KB, text/plain)
2014-06-09 17:27 UTC, Dennis Gilmore
no flags Details
state.log (1.09 KB, text/plain)
2014-06-09 17:27 UTC, Dennis Gilmore
no flags Details
Update greenlet 04.5 and add python 3 sub package (4.97 KB, patch)
2015-03-26 20:00 UTC, Terje Røsten
no flags Details | Diff

Description Dennis Gilmore 2014-06-09 17:27:30 UTC
Your package python-greenlet failed to build from source in current rawhide.

http://koji.fedoraproject.org/koji/taskinfo?taskID=6984416

For details on mass rebuild see https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild

Comment 1 Dennis Gilmore 2014-06-09 17:27:32 UTC
Created attachment 905284 [details]
build.log

Comment 2 Dennis Gilmore 2014-06-09 17:27:34 UTC
Created attachment 905285 [details]
root.log

Comment 3 Dennis Gilmore 2014-06-09 17:27:36 UTC
Created attachment 905286 [details]
state.log

Comment 4 Kevin Fenzi 2014-06-11 23:07:51 UTC
ok, this is due to python crashing in the tests on arm:

gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -D_GNU_SOURCE -fPIC -fwrapv -fPIC -fno-tree-dominator-opts -I/usr/include/python2.7 -c /tmp/tmpwtkHu6/simple.c -o /tmp/tmpwtkHu6/tmp/tmpwtkHu6/simple.o
Linking /builddir/build/BUILD/greenlet-0.4.2/build/lib.linux-armv7l-2.7/greenlet.so to /builddir/build/BUILD/greenlet-0.4.2/greenlet.so
test_exception_disables_tracing (tests.test_tracing.TracingTests) ... ERROR
test_greenlet_tracing (tests.test_tracing.TracingTests) ... /var/tmp/rpm-tmp.Kqxaf1: line 32: 19597 Segmentation fault      /usr/bin/python setup.py test
RPM build errors:
error: Bad exit status from /var/tmp/rpm-tmp.Kqxaf1 (%check)
    Bad exit status from /var/tmp/rpm-tmp.Kqxaf1 (%check)
Child return code was: 1

From a mock chroot on arm: 
(gdb) run setup.py test
Starting program: /usr/bin/python setup.py test
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/libthread_db.so.1".
Detaching after fork from child process 23666.
running test
running egg_info
writing greenlet.egg-info/PKG-INFO
writing top-level names to greenlet.egg-info/top_level.txt
writing dependency_links to greenlet.egg-info/dependency_links.txt
Detaching after fork from child process 23668.
Detaching after fork from child process 23669.
reading manifest file 'greenlet.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
writing manifest file 'greenlet.egg-info/SOURCES.txt'
running build_ext
creating /tmp/tmplufsqo/tmp
creating /tmp/tmplufsqo/tmp/tmplufsqo
gcc -pthread -fno-strict-aliasing -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -D_GNU_SOURCE -fPIC -fwrapv -DNDEBUG -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector-strong --param=ssp-buffer-size=4 -grecord-gcc-switches -march=armv7-a -mfpu=vfpv3-d16 -mfloat-abi=hard -D_GNU_SOURCE -fPIC -fwrapv -fPIC -fno-tree-dominator-opts -I/usr/include/python2.7 -c /tmp/tmplufsqo/simple.c -o /tmp/tmplufsqo/tmp/tmplufsqo/simple.o
Detaching after fork from child process 23670.
Linking /builddir/build/BUILD/greenlet-0.4.2/build/lib.linux-armv7l-2.7/greenlet.so to /builddir/build/BUILD/greenlet-0.4.2/greenlet.so
test_exception_switch (tests.test_cpp.CPPTests) ... 
Program received signal SIGSEGV, Segmentation fault.
0xb6f1fed0 in PyEval_EvalFrameEx (
    f=f@entry=Frame 0xb5fd35f0, for file /builddir/build/BUILD/greenlet-0.4.2/tests/test_cpp.py, line 12, in test_exception_switch (self=<CPPTests(_resultForDoCleanups=<TextTestResult(_original_stdout=<file at remote 0xb6c13078>, dots=False, skipped=[], _mirrorOutput=False, stream=<_WritelnDecorator(stream=<file at remote 0xb6c130d0>) at remote 0xb61d7510>, testsRun=1, buffer=None, _original_stderr=<file at remote 0xb6c130d0>, showAll=True, _stdout_buffer=None, _stderr_buffer=None, _moduleSetUpFailed=False, expectedFailures=[], errors=[], descriptions=True, _previousTestClass=<type at remote 0xb5fd2208>, unexpectedSuccesses=[], failures=[], _testRunEntered=True, shouldStop=False, failfast=None) at remote 0xb61d77b0>, _type_equality_funcs={<type at remote 0xb6faf204>: 'assertSetEqual', <type at remote 0xb6fac01c>: 'assertListEqual', <type at remote 0xb6fb5ed0>: 'assertMultiLineEqual', <type at remote 0xb6fb2130>: 'assertTupleEqual', <type at remote 0xb6faf140>: 'assertSetEqual', <type at remote 0xb6fad964>: 'assertDictEqual...(truncated), throwflag=throwflag@entry=0)
    at /usr/src/debug/Python-2.7.7/Python/ceval.c:3069
3069	    if (tstate->frame->f_exc_type != NULL)
Missing separate debuginfos, use: debuginfo-install glibc-2.19.90-19.fc21.1.armv7hl keyutils-libs-1.5.9-2.fc21.armv7hl krb5-libs-1.12.1-6.fc21.armv7hl libcom_err-1.42.10-3.fc21.armv7hl libgcc-4.9.0-8.fc21.1.armv7hl libselinux-2.3-3.fc21.armv7hl libstdc++-4.9.0-8.fc21.1.armv7hl openssl-libs-1.0.1h-3.fc21.armv7hl pcre-8.35-2.fc21.1.armv7hl xz-libs-5.1.2-11alpha.fc21.armv7hl zlib-1.2.8-5.fc21.armv7hl
(gdb) thread apply all bt full

Thread 1 (Thread 0xb6c27340 (LWP 23663)):
#0  0xb6f1fed0 in PyEval_EvalFrameEx (
    f=f@entry=Frame 0xb5fd35f0, for file /builddir/build/BUILD/greenlet-0.4.2/tests/test_cpp.py, line 12, in test_exception_switch (self=<CPPTests(_resultForDoCleanups=<TextTestResult(_original_stdout=<file at remote 0xb6c13078>, dots=False, skipped=[], _mirrorOutput=False, stream=<_WritelnDecorator(stream=<file at remote 0xb6c130d0>) at remote 0xb61d7510>, testsRun=1, buffer=None, _original_stderr=<file at remote 0xb6c130d0>, showAll=True, _stdout_buffer=None, _stderr_buffer=None, _moduleSetUpFailed=False, expectedFailures=[], errors=[], descriptions=True, _previousTestClass=<type at remote 0xb5fd2208>, unexpectedSuccesses=[], failures=[], _testRunEntered=True, shouldStop=False, failfast=None) at remote 0xb61d77b0>, _type_equality_funcs={<type at remote 0xb6faf204>: 'assertSetEqual', <type at remote 0xb6fac01c>: 'assertListEqual', <type at remote 0xb6fb5ed0>: 'assertMultiLineEqual', <type at remote 0xb6fb2130>: 'assertTupleEqual', <type at remote 0xb6faf140>: 'assertSetEqual', <type at remote 0xb6fad964>: 'assertDictEqual...(truncated), throwflag=throwflag@entry=0)
    at /usr/src/debug/Python-2.7.7/Python/ceval.c:3069
        stack_pointer = <optimized out>
        next_instr = <optimized out>
        opcode = <optimized out>
        oparg = <optimized out>
        why = <optimized out>
        err = <optimized out>
        x = <optimized out>
        v = <optimized out>
        w = <optimized out>
        u = <optimized out>
        t = <optimized out>
        stream = 0x0
        fastlocals = 0xb5fd3728
        freevars = <optimized out>
        retval = 0x0
        tstate = <optimized out>
        co = <optimized out>
        instr_ub = -1
        instr_lb = 4
        instr_prev = -1241785552
        first_instr = <optimized out>
        names = <optimized out>
        consts = <optimized out>
#1  0xb6f22628 in fast_function (nk=<optimized out>, na=<optimized out>, n=1, pp_stack=0xbeffcb64, 
    func=<optimized out>) at /usr/src/debug/Python-2.7.7/Python/ceval.c:4183
        retval = 0x0
        fastlocals = 0xb5fd3728
        i = <optimized out>
        f = Frame 0xb5fd35f0, for file /builddir/build/BUILD/greenlet-0.4.2/tests/test_cpp.py, line 12, in test_exception_switch (self=<CPPTests(_resultForDoCleanups=<TextTestResult(_original_stdout=<file at remote 0xb6c13078>, dots=False, skipped=[], _mirrorOutput=False, stream=<_WritelnDecorator(stream=<file at remote 0xb6c130d0>) at remote 0xb61d7510>, testsRun=1, buffer=None, _original_stderr=<file at remote 0xb6c130d0>, showAll=True, _stdout_buffer=None, _stderr_buffer=None, _moduleSetUpFailed=False, expectedFailures=[], errors=[], descriptions=True, _previousTestClass=<type at remote 0xb5fd2208>, unexpectedSuccesses=[], failures=[], _testRunEntered=True, shouldStop=False, failfast=None) at remote 0xb61d77b0>, _type_equality_funcs={<type at remote 0xb6faf204>: 'assertSetEqual', <type at remote 0xb6fac01c>: 'assertListEqual', <type at remote 0xb6fb5ed0>: 'assertMultiLineEqual', <type at remote 0xb6fb2130>: 'assertTupleEqual', <type at remote 0xb6faf140>: 'assertSetEqual', <type at remote 0xb6fad964>: 'assertDictEqual...(truncated)
---Type <return> to continue, or q <return> to quit---
        tstate = 0x12050
        stack = <optimized out>
        co = <optimized out>
        nd = 0
        globals = <optimized out>
        argdefs = <optimized out>
        d = 0x0
...tons tons more frames...

I don't know if this is a python bug or a glibc one. Probibly we should ask python and/or arm folks.

Comment 5 Jaroslav Reznik 2015-03-03 15:58:04 UTC
This bug appears to have been reported against 'rawhide' during the Fedora 22 development cycle.
Changing version to '22'.

More information and reason for this action is here:
https://fedoraproject.org/wiki/Fedora_Program_Management/HouseKeeping/Fedora22

Comment 6 Terje Røsten 2015-03-26 19:57:21 UTC
I updated to 0.4.5 and added python 3 package and did random package clean ups.

Diff attached.

koji: http://koji.fedoraproject.org/koji/taskinfo?taskID=9337050
(Fixes build error)
spec: https://terjeros.fedorapeople.org/python-greenlet/python-greenlet.spec
srpm: https://terjeros.fedorapeople.org/python-greenlet/python-greenlet-0.4.5-1.fc21.src.rpm

Comment 7 Terje Røsten 2015-03-26 20:00:17 UTC
Created attachment 1006974 [details]
Update greenlet 04.5 and add python 3 sub package

Please apply to f21, fc22 and rawhide.

Python 3 version of greenlet is needed by bpython3 package.

Comment 8 Kevin Fenzi 2015-03-26 22:43:14 UTC
So, the 'fix' here was to disable tests on arm? Does the resulting package even work on arm?

Comment 9 Terje Røsten 2015-03-27 06:41:42 UTC
Hi Kevin,

the previous FTBFS at ARM was at the build step, not %check.

%check also fails on x86_64 for Python 3 tests.

This patch is at least improvement, nothing here is perfect.

Removed skipping of tests and started koji builds:

 http://koji.fedoraproject.org/koji/taskinfo?taskID=9344087

 http://arm.koji.fedoraproject.org/koji/taskinfo?taskID=2938570

 http://s390.koji.fedoraproject.org/koji/taskinfo?taskID=1767125

 http://ppc.koji.fedoraproject.org/koji/taskinfo?taskID=2450686

Comment 10 Terje Røsten 2015-03-27 06:49:07 UTC
Which gave the following:

 archs with no test failures: i386 x86_64 arm* aarch64 ppc64le
 arch with issues: ppc64 s390 s390x

Comment 11 Kevin Fenzi 2015-03-27 13:13:59 UTC
ok, cool. 

Well, I am fine with the changes then. Would you like to have acls and just do the updates yourself?

Comment 12 Terje Røsten 2015-03-27 15:47:20 UTC
Yes, please.

Comment 13 Kevin Fenzi 2015-03-27 17:13:46 UTC
Can you request them in pkgdb? I can then approve...

Comment 14 Terje Røsten 2015-03-29 14:15:52 UTC
FTBFS on arm fixed:

 http://koji.fedoraproject.org/koji/taskinfo?taskID=9359646

%check also passes.


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