cURL / Mailing Lists / curl-library / Single Mail


Re: "easy handled already used in multi handle"

From: Chris Johnson <>
Date: Fri, 2 May 2014 17:52:17 -0500

On Fri, May 2, 2014 at 5:33 PM, Daniel Stenberg <> wrote:

> On Thu, 1 May 2014, Chris Johnson wrote:
>> ​...​

> Is this condition even a real error? Perhaps my code should just ignore
>> the specific condition associated with the message "easy handled already
>> used in multi handle"?
> It is a true error situation. curl_easy_perform() is called and libcurl
> detects that the easy handle still has a reference to a multi handle, which
> it shouldn't at any time when curl_easy_perform() is entered.
> The question is of course why and how... The only way I see right now how
> it can happen is if curl_easy_perform() returns early from
> lib/easy.c:easy_perform as I believe it wrongly leaves data->multi assigned
> when it fails early in that function, but is that really what happened to
> you?
> ​
Thanks for the reply and explanation on easy vs. multi.

I've had a second occurrence of that error today. I tried duplicate the
error yesterday with the same input data, and my server worked perfectly
and responded with the correct data. So it doesn't seem input related, but
perhaps the trading partner's server is behaving differently from time to

Hmm. My server is multi-threaded (ugh), but I note that libcurl is
documented as completely thread safe.

I've restarted my production (gulp) server with full debug logging turned
on, although I'm not sure how much more information I'll get out of my
libcurl debug callback with that. We'll see.


List admin:
Received on 2014-05-03