cURL
Haxx ad
libcurl

curl's project page on SourceForge.net

Sponsors:
Haxx

cURL > Mailing List > Monthly Index > Single Mail

curl-tracker mailing list Archives

[ curl-Bugs-2111613 ] multi object is stuck

From: SourceForge.net <noreply_at_sourceforge.net>
Date: Mon, 15 Sep 2008 06:33:26 +0000

Bugs item #2111613, was opened at 2008-09-15 09:33
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=100976&aid=2111613&group_id=976

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: libcurl
Group: hang
Status: Open
Resolution: None
Priority: 5
Private: No
Submitted By: Igor (ketamin)
Assigned to: Daniel Stenberg (bagder)
Summary: multi object is stuck

Initial Comment:
Configuration
-------------
libcurl/7.18.2 OpenSSL/0.9.8h zlib/1.2.3 Windows XP/SP2

Application
-----------
My application is a single-thread client application
that accesses XCAP server in order to manipulate documents
stored on it.
The application uses 'multi' and curl_multi_socket() API
in order to work asynchronously.

Scenario
--------
The application performs following transactions in sequential order:
1. PUT-401-PUT-500 - trial to create doc on server
2. PUT-401-PUT-500 - trial to modify doc on server
3. GET-401-GET-500 - trial to fetch doc from server
4. POST-401-POST-500 - trial to search on server
5. DELETE-401-DELETE-500 - trial to delete doc

All transactions share same 'multi' object.
Each of transactions use dedicated 'easy' object.
Same 'easy' object is used for both original request and
for next authorization retrial request:
on receiving 401 the 'easy' is removed for the 'multi',
the username/password are set into it,
and it is added back to the 'multi' again.

Problem
-------
Sometimes after the 'easy' is added back to the 'multi'
in order to send authorized request nothing happens -> the application is stuck.

Logs

----
To my sorrow the problem doesn't appear when debugging info is printed.
Therefore I added 'printf'-s into the all libcurl API functions/callbacks
used/implemented by the application.
At the begining of the attached file you can see snip of the full log,
where the last good transaction and the next to it bad transaction are logged.
After snip the full log appears.
As it can be seen from the log,
the call to last curl_multi_add_handle() doesn't initiate any activity,
because 'timer_lastcall' is equeal to the 'multi->timetree->key'.
Is there any chance that the millisecond timer resolution is not enough?
----------------------------------------------------------------------
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=100976&aid=2111613&group_id=976
Received on 2008-09-15

These mail archives are generated by hypermail.

donate! Page updated November 12, 2010.
web site info

File upload with ASP.NET