cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Bug: curl 7.18.2/7.19.2 looses timeouts

From: <koettermarkus_at_gmx.de>
Date: Sat, 15 Nov 2008 17:38:42 +0100

Hi,

thanks for your time.

Yang Tse wrote:
> Due to yours and some other reports previously done related with
> timing issues I would like to rule out something which has been
> silently bouncing in my head. But I have no way of personally testing
> this so I need your help to do some small test.

As I guess you expect this to be a smp issue, I tried the same code on a
  single cpu machine with curl 7.19.2. and the problem persists.

> Which SMP linux kernel is the one on which this problem manifests?

Linux 2.6.27-7-generic #1 SMP Tue Nov 4 19:33:06 UTC 2008 x86_64 GNU/Linux

> Do you happen to know if there is some issue with the use of the
> clock_gettime() function with the monotonic time source
> CLOCK_MONOTONIC on this SMP kernel?
>
> When you build 7.19.2 from source what is the output from the
> configure script relative to the following three lines?
>
> checking for monotonic clock_gettime...
> checking for clock_gettime in libraries...
> checking if monotonic clock_gettime works...
>
> In case the configure script detects that you have a monotonic
> clock_gettime and it works, which I'm quite confident is your case,clock_gettime()

checking for monotonic clock_gettime... yes
checking for clock_gettime in libraries... -lrt
checking if monotonic clock_gettime works... yes

correct

> can you do the following test ?

yes

> Edit the configure script distributed with 7.19.2
> http://curl.haxx.se/download/curl-7.19.2.tar.gz and change line number
> 28619 from ac_cv_func_clock_gettime="yes" to
> ac_cv_func_clock_gettime="no" save it and do a clean build.

> The above will force libcurl to use gettimeofday() instead of
> clock_gettime(CLOCK_MONOTONIC, ...). Now verify if the problem still
> persists or if it disappears with the library built above, and report
> back the results.

Problem persists.

Summary,
problem persists on smp with clock_gettime disabled and exists on single
core machines with clock_gettime enabled.

MfG
Markus
Received on 2008-11-15