curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

Re: curl_easy_perform() crash?

From: Daniel Stenberg via curl-library <curl-library_at_cool.haxx.se>
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.html
Received on 2019-08-27