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: SIGSEGV in curl-8.6.0/lib/http2.c:288 (curl_multi_perform->extract_if_dead->http2_data_done)

From: Aleksander Mazur via curl-library <>
Date: Thu, 21 Mar 2024 14:08:36 +0100

Dnia 2024-03-21, o godz. 09:59:32
Stefan Eissing via curl-library <> napisaƂ(a):

> > Am 21.03.2024 um 09:28 schrieb Daniel Stenberg via curl-library
> > <>:
> >
> > I presume you have a hard time to reproduce this reliably? Does it happen
> > against random hosts or does it typically happen against the same server? I
> > presume you only see this with h2?

The app talks to preconfigured servers only (several Google API endpoints) and AFAIK they all support h2.

> > Or in other words: if you would try an updated libcurl, what would it take
> > for you to know that it fixes the issue?

That's a good question. At the moment I don't know how to reproduce the problem reliably.

> The `stream` at which the SEGV seems to occur (unless we are suspecting `ctx`
> or `ctx->h2` to be a bad pointer) is from the easy handle passed. In the code
> path, that easy handle is the "new" transfer for which a connection is
> searched in the cache.
> Do you use a new easy handle for each transfer or reuse the previous one?
> Does the problem persist if you switched to using new ones?

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).

Anyway, it looks like I'll have to find a way to reproduce this on my PC.
Thanks for your help so far.

Aleksander Mazur
Received on 2024-03-21