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: SIGSEGV in curl-8.6.0/lib/http2.c:288 (curl_multi_perform->extract_if_dead->http2_data_done)
- Contemporary messages sorted: [ by date ] [ by thread ] [ by subject ] [ by author ] [ by messages with attachments ]
From: Aleksander Mazur via curl-library <curl-library_at_lists.haxx.se>
Date: Tue, 26 Mar 2024 03:17:38 +0100
Dnia 2024-03-21, o godz. 14:08:36
Aleksander Mazur via curl-library <curl-library_at_lists.haxx.se> napisaĆ(a):
> The app keeps re-using the same 3 easy handles and one multi handle, created
> once at the beginning. Two of them may talk to the same server (one is
> switched between different servers).
I didn't mention that the app uses yet another easy handle for sending e-mails
(smtps://...).
Valgrind found following error:
==101562== ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
==101562==
==101562== 2 errors in context 1 of 1:
==101562== Invalid read of size 8
==101562== at 0x4983659: http2_data_done (http2.c:278)
==101562== by 0x49881E8: cf_h2_cntrl (http2.c:2513)
==101562== by 0x4963D13: Curl_conn_cf_cntrl (cfilters.c:501)
==101562== by 0x4963F38: cf_cntrl_all (cfilters.c:551)
==101562== by 0x4963FCF: Curl_conn_ev_data_detach (cfilters.c:568)
==101562== by 0x4993D85: Curl_detach_connection (multi.c:973)
==101562== by 0x49B2DC3: extract_if_dead (url.c:828)
==101562== by 0x49B2E1E: call_extract_if_dead (url.c:854)
==101562== by 0x496572C: Curl_conncache_foreach (conncache.c:332)
==101562== by 0x49B3009: prune_dead_connections (url.c:883)
==101562== by 0x49B772C: create_conn (url.c:3635)
==101562== by 0x49B7D0D: Curl_connect (url.c:3873)
==101562== Address 0x84f9f88 is 8 bytes after a block of size 64 alloc'd
==101562== at 0x4849E60: calloc (vg_replace_malloc.c:1595)
==101562== by 0x498F348: curl_dbg_calloc (memdebug.c:175)
==101562== by 0x49A98A9: smtp_init (smtp.c:1318)
==101562== by 0x49AA0AE: smtp_setup_connection (smtp.c:1660)
==101562== by 0x49B4DA2: setup_connection_internals (url.c:2042)
==101562== by 0x49B7682: create_conn (url.c:3580)
==101562== by 0x49B7D0D: Curl_connect (url.c:3873)
==101562== by 0x4995B9E: multi_runsingle (multi.c:2002)
==101562== by 0x49975B7: curl_multi_perform (multi.c:2780)
==101562== by 0x41A599: main (main.c:221)
(using vanilla curl 8.6.0)
So it looks like an easy handle set up by smtp handler is then passed via
cfilters to http2 code (?)
Date: Tue, 26 Mar 2024 03:17:38 +0100
Dnia 2024-03-21, o godz. 14:08:36
Aleksander Mazur via curl-library <curl-library_at_lists.haxx.se> napisaĆ(a):
> The app keeps re-using the same 3 easy handles and one multi handle, created
> once at the beginning. Two of them may talk to the same server (one is
> switched between different servers).
I didn't mention that the app uses yet another easy handle for sending e-mails
(smtps://...).
Valgrind found following error:
==101562== ERROR SUMMARY: 2 errors from 1 contexts (suppressed: 0 from 0)
==101562==
==101562== 2 errors in context 1 of 1:
==101562== Invalid read of size 8
==101562== at 0x4983659: http2_data_done (http2.c:278)
==101562== by 0x49881E8: cf_h2_cntrl (http2.c:2513)
==101562== by 0x4963D13: Curl_conn_cf_cntrl (cfilters.c:501)
==101562== by 0x4963F38: cf_cntrl_all (cfilters.c:551)
==101562== by 0x4963FCF: Curl_conn_ev_data_detach (cfilters.c:568)
==101562== by 0x4993D85: Curl_detach_connection (multi.c:973)
==101562== by 0x49B2DC3: extract_if_dead (url.c:828)
==101562== by 0x49B2E1E: call_extract_if_dead (url.c:854)
==101562== by 0x496572C: Curl_conncache_foreach (conncache.c:332)
==101562== by 0x49B3009: prune_dead_connections (url.c:883)
==101562== by 0x49B772C: create_conn (url.c:3635)
==101562== by 0x49B7D0D: Curl_connect (url.c:3873)
==101562== Address 0x84f9f88 is 8 bytes after a block of size 64 alloc'd
==101562== at 0x4849E60: calloc (vg_replace_malloc.c:1595)
==101562== by 0x498F348: curl_dbg_calloc (memdebug.c:175)
==101562== by 0x49A98A9: smtp_init (smtp.c:1318)
==101562== by 0x49AA0AE: smtp_setup_connection (smtp.c:1660)
==101562== by 0x49B4DA2: setup_connection_internals (url.c:2042)
==101562== by 0x49B7682: create_conn (url.c:3580)
==101562== by 0x49B7D0D: Curl_connect (url.c:3873)
==101562== by 0x4995B9E: multi_runsingle (multi.c:2002)
==101562== by 0x49975B7: curl_multi_perform (multi.c:2780)
==101562== by 0x41A599: main (main.c:221)
(using vanilla curl 8.6.0)
So it looks like an easy handle set up by smtp handler is then passed via
cfilters to http2 code (?)
-- Aleksander Mazur -- Unsubscribe: https://lists.haxx.se/mailman/listinfo/curl-library Etiquette: https://curl.se/mail/etiquette.htmlReceived on 2024-03-26