[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#413450: marked as done (libc6: svc_getreqset doesn't work on 64bit hosts)



Your message dated Mon, 05 Mar 2007 19:40:05 +0100
with message-id <[🔎] 45EC6405.7060305@aurel32.net>
and subject line Bug#413450: libc6: svc_getreqset doesn't work on 64bit hosts
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: libc6
Version: 2.3.6.ds1-13
Severity: normal
Tags: patch

On 64bit machines, svc_getreqset ignores filedescriptors 32-63 and others.
This has been fixed in glibc 2.4 but needs to be
fixed in 2.3.6.debian while we keep using it. 
The consequence of this bug is that if mountd (or any other rpc server) 
gets 26 or more concurrent tcp connections, it goes into a spin constantly 
using CPU, and not servicing requests on those connections.

Following patch fixes it.

Thanks,
NeilBrown


### Diffstat output
 ./sunrpc/svc.c |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff .prev/sunrpc/svc.c ./sunrpc/svc.c
--- .prev/sunrpc/svc.c	2007-03-05 14:50:06.000000000 +1100
+++ ./sunrpc/svc.c	2007-03-05 14:50:44.000000000 +1100
@@ -372,7 +372,7 @@ svc_getreqset (fd_set *readfds)
     setsize = FD_SETSIZE;
   maskp = readfds->fds_bits;
   for (sock = 0; sock < setsize; sock += NFDBITS)
-    for (mask = *maskp++; (bit = ffs (mask)); mask ^= (1 << (bit - 1)))
+    for (mask = *maskp++; (bit = ffsl (mask)); mask ^= (1L << (bit - 1)))
       INTUSE(svc_getreq_common) (sock + bit - 1);
 }
 INTDEF (svc_getreqset)




-- System Information:
Debian Release: 4.0
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.18-4-amd64
Locale: LANG=en_AU.UTF-8, LC_CTYPE=en_AU.UTF-8 (charmap=UTF-8)

Versions of packages libc6 depends on:
ii  tzdata                        2007b-1    Time Zone and Daylight Saving Time

libc6 recommends no packages.

-- no debconf information


--- End Message ---
--- Begin Message ---
Version: 2.5-0exp6

Neil Brown a écrit :
> Package: libc6
> Version: 2.3.6.ds1-13
> Severity: normal
> Tags: patch
> 
> On 64bit machines, svc_getreqset ignores filedescriptors 32-63 and others.
> This has been fixed in glibc 2.4 but needs to be
> fixed in 2.3.6.debian while we keep using it. 
> The consequence of this bug is that if mountd (or any other rpc server) 
> gets 26 or more concurrent tcp connections, it goes into a spin constantly 
> using CPU, and not servicing requests on those connections.
> 
> Following patch fixes it.
> 

Thanks, the patch has been added to our SVN, but it probably won't be
fixed until the release of Debian 4.0r1.

I am closing the bug with the version from experimental, which has the fix.

-- 
  .''`.  Aurelien Jarno	            | GPG: 1024D/F1BCDB73
 : :' :  Debian developer           | Electrical Engineer
 `. `'   aurel32@debian.org         | aurelien@aurel32.net
   `-    people.debian.org/~aurel32 | www.aurel32.net


--- End Message ---

Reply to: