Closed rautesamtr closed 8 years ago
Then better not build with crypto plugins. They are currently experimental and do not have functionality.
To be more specific: ALL;-EXPERIMENTAL is default, and adding any other plugin is "at your own risk".
Nevertheless thanks for reporting and @petermax2 it would be good if you can investigate.
@sirblackheart I can reproduce the dump.
According to the backtrace, the call of ERR_peek_error ()
caused the problem. It is part of the OpenSSL library and tells whether or not OpenSSL holds an error in its internal queue.
thread #1: tid = 25250, 0x00007fffc6aa9610, name = 'qt-gui', stop reason = signal SIGSEGV: address access protected (fault address: 0x7fffc6aa9610)
* frame #0: 0x00007fffc6aa9610
frame #1: 0x00007ffff2a7adfc libcrypto.so.10`ERR_get_state + 60
frame #2: 0x00007ffff2a7b116 libcrypto.so.10`??? + 38
frame #3: 0x00007fffc6729d30 libelektra-crypto_openssl.so`elektraCryptoOpenSSLInit(errorKey=0x00000000017c6170) + 144 at openssl_operations.c:93
It is either a faulty setup in elektraCryptoOpenSSLInit
or a bug in OpenSSL (which is less likely). I am going to investigate.
Thx for reporting!
@markus2330 BTW I have a bad feeling that this might be a concurrency/bad library setup issue... You know like when we talked about to not have the Elektra user setting up his/her application to do the OpenSSL/gcrypt initialization but put the initialization into the plugin open functions.
Yes, seems like that you are not supposed to call ERR_peek_error
in this state? Did you already test with libcrypto.so.1.0.0?
The guys at libcurl
had or have the same problem, see https://curl.haxx.se/mail/lib-2012-03/0008.html.
Good to know, thank you!
@sirblackheart When you test #759, can you also check if this issue is fixed? (hopefully fixed by #767)
Looks good! No crash on starting or closing the gui.
@petermax2 thanks for fixing it!
Building elektra with
leads to a segfault when starting the qt-gui. Building with
-DPLUGINS="ALL;-crypto_gcrypt;-crypto_openssl"
solves this for now.lldb gives me the following backtrace: