cURL / Mailing Lists / curl-library / Single Mail

curl-library

Re: Helgrind errors with multi-threaded libcurl

From: Daniel Stenberg <daniel_at_haxx.se>
Date: Fri, 10 Dec 2010 18:54:44 +0100 (CET)

On Thu, 9 Dec 2010, leoakr_at_uth.gr wrote:

> the Helgrind tool keeps producing hundreds of "data race condition" errors.
>
> ==3827== Possible data race during read of size 1 at 0xbeff358 by thread #6
> ==3827== at 0xBEFF358: _nss_dns_gethostbyname3_r (dns-host.c:239)
> ==3827== by 0xBEFF5C3: _nss_dns_gethostbyname2_r (dns-host.c:251)
> ==3827== by 0x5D01C32: gaih_inet (getaddrinfo.c:769)
> ==3827== by 0x5D03831: getaddrinfo (getaddrinfo.c:2160)
>
> ==3827== Possible data race during read of size 1 at 0xbefe272 by thread #5
> ==3827== at 0xBEFE272: getanswer_r (dns-host.c:763)
> ==3827== by 0xBEFF355: _nss_dns_gethostbyname3_r (dns-host.c:237)
> ==3827== by 0xBEFF5C3: _nss_dns_gethostbyname2_r (dns-host.c:251)
> ==3827== by 0x5D01C32: gaih_inet (getaddrinfo.c:769)
> ==3827== by 0x5D03831: getaddrinfo (getaddrinfo.c:2160)

Both these problems are within the getaddrinfo() function so I feel rather
certain that they are either false positives or a problem within your (g)libc.

"The freeaddrinfo() and getaddrinfo() functions shall be thread-safe"[1]

[1] = http://www.opengroup.org/onlinepubs/009695399/functions/getaddrinfo.html

-- 
  / daniel.haxx.se
-------------------------------------------------------------------
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html
Received on 2010-12-10