This service will be undergoing maintenance at 00:00 UTC, 2016-08-01. It is expected to last about 1 hours

Bug 337771

Summary: rpc.idmapd consumes 100% CPU time
Product: [Fedora] Fedora Reporter: Helge Deller <helge.deller>
Component: nfs-utilsAssignee: Steve Dickson <steved>
Status: CLOSED WONTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: low Docs Contact:
Priority: low    
Version: 7CC: linux, nphilipp, rdoty, triage
Target Milestone: ---   
Target Release: ---   
Hardware: i386   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2008-06-16 22:41:18 EDT Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Bug Depends On:    
Bug Blocks: 462522    

Description Helge Deller 2007-10-18 08:02:09 EDT
Description of problem:
We are running some kind of a "Linux Terminal Server" based on FC7. This 
server is used for many users to log in remotely (NX, VNC), and it has NFS 
directories mounted (many user home directories are e.g. on NFSv3).
The server ran without any flaws, but since 2-3 days we see, that the 
rpc.idmapd process consumes 100% CPU time. This is from "top":

 1504 root      20   0 46372  40m  432 R  100  1.0 138:35.83 rpc.idmapd

An strace attached to PID 1504 gives:
....
open("/var/lib/nfs/rpc_pipefs/nfs", O_RDONLY|O_NONBLOCK|O_LARGEFILE|
O_DIRECTORY) = 9768
fstat64(9768, {st_mode=S_IFDIR|0555, st_size=0, ...}) = 0
fcntl64(9768, F_SETFD, FD_CLOEXEC)      = 0
getdents(9768, /* 171 entries */, 4096) = 4088
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 170 entries */, 4096) = 4080
getdents(9768, /* 177 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 204 entries */, 4096) = 4080
getdents(9768, /* 77 entries */, 4096)  = 1540
getdents(9768, /* 0 entries */, 4096)   = 0
close(9768)                             = 0
...
... now it sleeps for 1-5 seconds, then you can see the same output.

We are running "nfs-utils-1.1.0-3.fc7.rpm", which is currently the latest 
available version for FC7.

The directory "/var/lib/nfs/rpc_pipefs/nfs" holds ~9780 entries (is this maybe 
a problem?):
[root@ls3163 nfs]# ll /var/lib/nfs/rpc_pipefs/nfs | wc -l
9780

The system log quite regularily shows this type of message:
Oct 18 04:57:39 ls3163 rpc.idmapd[12525]: dirscancb: 
open(/var/lib/nfs/rpc_pipefs/nfs/clnt227b5): No such file or directory

Stopping and restarting rpc.idmapd does not change anything. The process uses 
100% CPU after stop/start again.

We run for all rpm packages the latest available updates. 
Only the Linux kernel is still running at kernel-2.6.22.1-41.fc7 and we didn't 
faced any problems with it and rpc.idmapd until around 2-3 days ago.
Kernel kernel-2.6.22.9-91.fc7 is installed, but I would like to avoid 
rebooting the server without any need, since there are more than 100 users 
online and I would prefer if I don't need to kick them out...

Any ideas ?
Comment 1 Steve Dickson 2007-11-01 07:32:59 EDT
Is SELinux in the picture? 

Also note there is an updated nfs-utils available but nothing was added to 
address something like this. 
Comment 2 Helge Deller 2007-11-03 05:09:20 EDT
No, SELinux is disabled on this server.
Comment 3 Bug Zapper 2008-05-14 10:47:06 EDT
This message is a reminder that Fedora 7 is nearing the end of life. Approximately 30 (thirty) days from now Fedora will stop maintaining and issuing updates for Fedora 7. It is Fedora's policy to close all bug reports from releases that are no longer maintained. At that time this bug will be closed as WONTFIX if it remains open with a Fedora 'version' of '7'.

Package Maintainer: If you wish for this bug to remain open because you plan to fix it in a currently maintained version, simply change the 'version' to a later Fedora version prior to Fedora 7's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that we may not be able to fix it before Fedora 7 is end of life. If you would still like to see this bug fixed and are able to reproduce it against a later version of Fedora please change the 'version' of this bug. If you are unable to change the version, please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's lifetime, sometimes those efforts are overtaken by events. Often a more recent Fedora release includes newer upstream software that fixes bugs or makes them obsolete. If possible, it is recommended that you try the newest available Fedora distribution to see if your bug still exists.

Please read the Release Notes for the newest Fedora distribution to make sure it will meet your needs:
http://docs.fedoraproject.org/release-notes/

The process we are following is described here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Comment 4 Bug Zapper 2008-06-16 22:41:17 EDT
Fedora 7 changed to end-of-life (EOL) status on June 13, 2008. 
Fedora 7 is no longer maintained, which means that it will not 
receive any further security or bug fix updates. As a result we 
are closing this bug. 

If you can reproduce this bug against a currently maintained version 
of Fedora please feel free to reopen this bug against that version.

Thank you for reporting this bug and we are sorry it could not be fixed.