Description of problem: fedmsg-tail segfaults Version-Release number of selected component (if applicable): fedmsg-0.18.2-2.fc26.noarch fedmsg-base-0.18.2-2.fc26.noarch python2-fedmsg-commands-0.18.2-2.fc26.noarch python2-fedmsg-consumers-0.18.2-2.fc26.noarch python2-fedmsg-core-0.18.2-2.fc26.noarch How reproducible: always Steps to Reproduce: 1. dnf install fedmsg 2. fedmsg-tail 3. Actual results: $ fedmsg-tail Segmentation fault (core dumped) Expected results: fedmsg-tail should be up and running Additional info:
{ "signal": 11 , "executable": "/usr/bin/python2.7" , "stacktrace": [ { "crash_thread": true , "frames": [ { "address": 4294967296 , "build_id_offset": 4294967296 } ] } , { "frames": [ { "address": 140009942635379 , "build_id": "3e4d91dbbc86381c7b9e9e13792bd9938281c798" , "build_id_offset": 1119091 , "function_name": "epoll_wait" , "file_name": "/lib64/libc.so.6" } , { "address": 140009746984554 , "build_id": "35236b543ccbef838f30c407b7d95e4d24a49d10" , "build_id_offset": 118378 , "function_name": "zmq::epoll_t::loop()" , "file_name": "/lib64/libzmq.so.5" } , { "address": 140009747200346 , "build_id": "35236b543ccbef838f30c407b7d95e4d24a49d10" , "build_id_offset": 334170 , "function_name": "thread_routine" , "file_name": "/lib64/libzmq.so.5" } , { "address": 140009953006445 , "build_id": "bde992e593a39ff96f2839c656114e1aa3b6b248" , "build_id_offset": 29549 , "function_name": "start_thread" , "file_name": "/lib64/libpthread.so.0" } , { "address": 140009942633999 , "build_id": "3e4d91dbbc86381c7b9e9e13792bd9938281c798" , "build_id_offset": 1117711 , "function_name": "__clone" , "file_name": "/lib64/libc.so.6" } ] } , { "frames": [ { "address": 140009942635379 , "build_id": "3e4d91dbbc86381c7b9e9e13792bd9938281c798" , "build_id_offset": 1119091 , "function_name": "epoll_wait" , "file_name": "/lib64/libc.so.6" } , { "address": 140009746984554 , "build_id": "35236b543ccbef838f30c407b7d95e4d24a49d10" , "build_id_offset": 118378 , "function_name": "zmq::epoll_t::loop()" , "file_name": "/lib64/libzmq.so.5" } , { "address": 140009747200346 , "build_id": "35236b543ccbef838f30c407b7d95e4d24a49d10" , "build_id_offset": 334170 , "function_name": "thread_routine" , "file_name": "/lib64/libzmq.so.5" } , { "address": 140009953006445 , "build_id": "bde992e593a39ff96f2839c656114e1aa3b6b248" , "build_id_offset": 29549 , "function_name": "start_thread" , "file_name": "/lib64/libpthread.so.0" } , { "address": 140009942633999 , "build_id": "3e4d91dbbc86381c7b9e9e13792bd9938281c798" , "build_id_offset": 1117711 , "function_name": "__clone" , "file_name": "/lib64/libc.so.6" } ] } ] }
After downgrading python-m2ext to python-m2ext-0.1-9.fc25.x86_64.rpm fedmsg-tail works again. There was no change in the source, only rebuild for f26. Here's the reproducer: ---------------8<--------------- import sys from m2ext import SSL from M2Crypto import X509 cert = X509.load_cert(sys.argv[1]) ctx = SSL.Context() if not ctx.validate_certificate(cert): print("X509 certificate is not valid.") ---------------8<--------------- $ wget https://fedoraproject.org/fedmsg/ca.crt --2017-06-07 11:54:03-- https://fedoraproject.org/fedmsg/ca.crt Resolving fedoraproject.org (fedoraproject.org)... 140.211.169.196, 152.19.134.142, 140.211.169.206, ... Connecting to fedoraproject.org (fedoraproject.org)|140.211.169.196|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 1375 (1.3K) Saving to: ‘ca.crt’ ca.crt 100%[=============================================================>] 1.34K --.-KB/s in 0s 2017-06-07 11:54:04 (33.4 MB/s) - ‘ca.crt’ saved [1375/1375] ~ $ python reproducer.py ca.crt [1] 20476 segmentation fault (core dumped) python reproducer.py ca.crt
Actually this might be coming from compat-openssl10 python-m2ext-0.1-10.fc26.x86_64.rpm openssl-libs-1.1.0e-1.fc26.x86_64.rpm openssl-1.1.0e-1.fc26.x86_64.rpm compat-openssl10-1.0.2j-6.fc26.x86_64.rpm #0 0x0000000100000000 in ?? () #1 0x00007fffee4e3c92 in X509_STORE_CTX_cleanup (ctx=ctx@entry=0x555555a1d300) at x509_vfy.c:2550 #2 0x00007fffee4e3d3e in X509_STORE_CTX_free (ctx=0x555555a1d300) at x509_vfy.c:2403 #3 0x00007fffeeaaea01 in _wrap_x509_store_ctx_free () from /usr/lib64/python2.7/site-packages/M2Crypto/__m2crypto.so #4 0x00007ffff7b12a00 in call_function (oparg=<optimized out>, pp_stack=0x7fffffffcf98) at /usr/src/debug/Python-2.7.13/Python/ceval.c:4429 #5 PyEval_EvalFrameEx (f=f@entry=Frame 0x7fffec5bead0, for file /usr/lib64/python2.7/site-packages/M2Crypto/X509.py, line 876, in __del__ (self=<X509_Store_Context(ctx=<SwigPyObject at remote 0x7fffebbc6630>, _pyfree=1) at remote 0x7fffebbb1cf8>), throwflag=throwflag@entry=0) at /usr/src/debug/Python-2.7.13/Python/ceval.c:3063 #6 0x00007ffff7b132c8 in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at /usr/src/debug/Python-2.7.13/Python/ceval.c:3661 #7 0x00007ffff7a5146e in function_call.lto_priv () from /lib64/libpython2.7.so.1.0 #8 0x00007ffff7a2b593 in PyObject_Call () from /lib64/libpython2.7.so.1.0 #9 0x00007ffff7a8f93e in instancemethod_call.lto_priv () from /lib64/libpython2.7.so.1.0 #10 0x00007ffff7a2b593 in PyObject_Call () from /lib64/libpython2.7.so.1.0 #11 0x00007ffff7b099e7 in PyEval_CallObjectWithKeywords (func=<instancemethod at remote 0x7fffebffcd20>, arg=(), kw=<optimized out>) at /usr/src/debug/Python-2.7.13/Python/ceval.c:4298 #12 0x00007ffff7a390db in instance_dealloc.lto_priv () from /lib64/libpython2.7.so.1.0 #13 0x00007ffff7a538d7 in frame_dealloc.lto_priv () from /lib64/libpython2.7.so.1.0 #14 0x00007ffff7b11fb5 in fast_function (nk=<optimized out>, na=<optimized out>, n=<optimized out>, pp_stack=0x7fffffffd588, func=<function at remote 0x7fffebbd3050>) at /usr/src/debug/Python-2.7.13/Python/ceval.c:4516 #15 call_function (oparg=<optimized out>, pp_stack=0x7fffffffd588) at /usr/src/debug/Python-2.7.13/Python/ceval.c:4449 #16 PyEval_EvalFrameEx (f=f@entry=Frame 0x7ffff7f65050, for file reproducer.py, line 7, in <module> (), throwflag=throwflag@entry=0) at /usr/src/debug/Python-2.7.13/Python/ceval.c:3063 #17 0x00007ffff7b132c8 in PyEval_EvalCodeEx (co=<optimized out>, globals=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kws=0x0, kwcount=0, defs=0x0, defcount=0, closure=0x0) at /usr/src/debug/Python-2.7.13/Python/ceval.c:3661 #18 0x00007ffff7b134d9 in PyEval_EvalCode (co=<optimized out>, globals=<optimized out>, locals=<optimized out>) at /usr/src/debug/Python-2.7.13/Python/ceval.c:691 #19 0x00007ffff7adc3af in run_mod () from /lib64/libpython2.7.so.1.0 #20 0x00007ffff7addaea in PyRun_FileExFlags () from /lib64/libpython2.7.so.1.0 #21 0x00007ffff7addcae in PyRun_SimpleFileExFlags () from /lib64/libpython2.7.so.1.0 #22 0x00007ffff7ad665e in Py_Main () from /lib64/libpython2.7.so.1.0 #23 0x00007ffff6ca54da in __libc_start_main (main=0x555555554740 <main>, argc=3, argv=0x7fffffffd9c8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffd9b8) at ../csu/libc-start.c:295 #24 0x000055555555477a in _start ()
The python-m2ext links to openssl-1.1.0 and m2crypto to openssl-1.0.2 - this is asking for disaster and compat-openssl10 package cannot be a magical fairy that can solve such disasters. m2crypto has to be built against openssl-1.1.0
Or (if that's not possible yet) the python-m2ext against compat-openssl10.
Yeah, M2Crypto does not support 1.1 yet (#1384010 ). So if m2ext is supposed to be an “extension” to M2Crypto it must use the same version.
python-m2ext-0.1-12.fc26 has been submitted as an update to Fedora 26. https://bodhi.fedoraproject.org/updates/FEDORA-2017-74c491afb5
I just found this bug independently and pushed a fixed build.
python-m2ext-0.1-12.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report. See https://fedoraproject.org/wiki/QA:Updates_Testing for instructions on how to install test updates. You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-74c491afb5
FWIW m2crypto-0.26.2-1.fc28 in rawhide (only) has just been built against OpenSSL-1.1 , so python-m2ext might need to be rebuilt again.
I've done the Rawhide rebuild of python-m2ext so it builds against openssl-1.1.
python-m2ext-0.1-12.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.