Re: curl_easy_perform() crash?
Date: Tue, 27 Aug 2019 14:25:07 +0200 (CEST)
On Tue, 27 Aug 2019, Daniel Polski via curl-library wrote:
> I'm trying to figure out why my application crash sometimes, and ended up
> with the following stack:
>
> Thread #19 [backend_ser] 14800 [core: 3] (Suspended : Signal :
> SIGABRT:Aborted)
> __GI_raise() at raise.c:50 0x7ffff783ced7
> __GI_abort() at abort.c:79 0x7ffff781e535
> __libc_message() at libc_fatal.c:181 0x7ffff7885726
> malloc_printerr() at malloc.c:5,352 0x7ffff788c59a
> unlink_chunk() at malloc.c:1,464 0x7ffff788c841
> _int_malloc() at malloc.c:4,049 0x7ffff7890534
> __GI___libc_malloc() at malloc.c:3,073 0x7ffff7891caa
This chain of function calls smells like heap memory corruption to me.
Something has destroyed heap memory and this particular malloc call just made
glibc discover this and go belly-up. I think.
I recommend running your app and test cases with valgrind or MSAN/ASAN for a
while to see that things look fine.
> X509_STORE_load_locations() at 0x7ffff7e3d33f
> ossl_connect_step1() at openssl.c:2,615 0x55555565d6a4
Since this is a crash inside OpenSSL so you should of course also make sure
you run a recent version of that, just to make sure.
> The function leading to the curl_easy_perform(..) call looks like this:
I couldn't spot anything odd and really, basically nothing you can do in your
application API-wise should make it crash deep inside OpenSSL.
-- / daniel.haxx.se | Get the best commercial curl support there is - from me | Private help, bug fixes, support, ports, new features | https://www.wolfssl.com/contact/ ------------------------------------------------------------------- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.htmlReceived on 2019-08-27