nscd crashes upon sudo when hosts caching is enabled (NIS, NFS)
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
eglibc (Ubuntu) |
New
|
Undecided
|
Unassigned |
Bug Description
We use nscd in our diskless clients, but we've found regular evidence of crashes in our dmesg output, and I've been able to easily reproduce it by running sudo ls while hosts caching is enabled. The debug output when running nscd -d is as follows:
Wed 17 Dec 2014 11:42:48 AM BRST - 3627: handle_request: request received (Version = 2) from PID 3649
Wed 17 Dec 2014 11:42:48 AM BRST - 3627: GETFDPW
Wed 17 Dec 2014 11:42:48 AM BRST - 3627: provide access to FD 5, for passwd
Wed 17 Dec 2014 11:42:48 AM BRST - 3627: handle_request: request received (Version = 2) from PID 3649
Wed 17 Dec 2014 11:42:48 AM BRST - 3627: GETFDGR
Wed 17 Dec 2014 11:42:48 AM BRST - 3627: provide access to FD 7, for group
Wed 17 Dec 2014 11:42:48 AM BRST - 3627: handle_request: request received (Version = 2) from PID 3649
Wed 17 Dec 2014 11:42:48 AM BRST - 3627: GETFDHST
Wed 17 Dec 2014 11:42:48 AM BRST - 3627: provide access to FD 9, for hosts
Wed 17 Dec 2014 11:42:48 AM BRST - 3627: handle_request: request received (Version = 2) from PID 3649
Wed 17 Dec 2014 11:42:48 AM BRST - 3627: GETAI (gasolinux)
Wed 17 Dec 2014 11:42:48 AM BRST - 3627: Haven't found "gasolinux" in hosts cache!
and then it dies.
ProblemType: Bug
DistroRelease: Ubuntu 14.04
Package: nscd 2.19-0ubuntu6.4
ProcVersionSign
Uname: Linux 3.13.0-43-generic x86_64
ApportVersion: 2.14.1-0ubuntu3.6
Architecture: amd64
CurrentDesktop: Unity
Date: Wed Dec 17 11:45:11 2014
SourcePackage: eglibc
UpgradeStatus: No upgrade log present (probably fresh install)
modified.
mtime.conffile.
I've also noticed that with hosts cache enabled that lookups for the same name seem to always be reported as missing; here's the output of subsequent "ping gasolinux" commands:
Wed 17 Dec 2014 11:42:02 AM BRST - 3627: handle_request: request received (Version = 2) from PID 3642
Wed 17 Dec 2014 11:42:02 AM BRST - 3627: GETFDHST
Wed 17 Dec 2014 11:42:02 AM BRST - 3627: provide access to FD 9, for hosts
Wed 17 Dec 2014 11:42:02 AM BRST - 3627: handle_request: request received (Version = 2) from PID 3642
Wed 17 Dec 2014 11:42:02 AM BRST - 3627: GETHOSTBYNAME (gasolinux)
Wed 17 Dec 2014 11:42:02 AM BRST - 3627: Haven't found "gasolinux" in hosts cache!
Wed 17 Dec 2014 11:42:02 AM BRST - 3627: handle_request: request received (Version = 2) from PID 3642
Wed 17 Dec 2014 11:42:02 AM BRST - 3627: GETHOSTBYADDR (192.168.99.14)
Wed 17 Dec 2014 11:42:02 AM BRST - 3627: Haven't found "192.168.99.14" in hosts cache!
Wed 17 Dec 2014 11:42:09 AM BRST - 3627: handle_request: request received (Version = 2) from PID 3643
Wed 17 Dec 2014 11:42:09 AM BRST - 3627: GETFDHST
Wed 17 Dec 2014 11:42:09 AM BRST - 3627: provide access to FD 9, for hosts
Wed 17 Dec 2014 11:42:09 AM BRST - 3627: handle_request: request received (Version = 2) from PID 3643
Wed 17 Dec 2014 11:42:09 AM BRST - 3627: GETHOSTBYNAME (gasolinux)
Wed 17 Dec 2014 11:42:09 AM BRST - 3627: Haven't found "gasolinux" in hosts cache!
Wed 17 Dec 2014 11:42:09 AM BRST - 3627: handle_request: request received (Version = 2) from PID 3643
Wed 17 Dec 2014 11:42:09 AM BRST - 3627: GETHOSTBYADDR (192.168.99.14)
Wed 17 Dec 2014 11:42:09 AM BRST - 3627: Haven't found "192.168.99.14" in hosts cache!