If I do 

strace -f /etc/init.d/udev start 

while my network is down, I get

[pid  5186] stat64("/etc/libnss-ldap.conf", {st_mode=S_IFREG|
0644, st_size=9094, ...}) = 0
[pid  5186] geteuid32()                 = 0
[pid  5186] socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 7
[pid  5186] setsockopt(7, SOL_TCP, TCP_NODELAY, [1], 4) = 0
[pid  5186] fcntl64(7, F_GETFL)         = 0x2 (flags O_RDWR)
[pid  5186] fcntl64(7, F_SETFL, O_RDWR|O_NONBLOCK) = 0
[pid  5186] connect(7, {sa_family=AF_INET, 
sin_port=htons(389), sin_addr=inet_addr("10.10.7.99")}, 16) 
= -1 ENETUNREACH (Network is unreachable)
[pid  5186] shutdown(7, 2 /* send and receive */) = -1 
ENOTCONN (Transport endpoint is not connected)
[pid  5186] close(7)                    = 0
[pid  5186] time([1151237416])          = 1151237416
[pid  5186] stat64("/etc/localtime", {st_mode=S_IFREG|0644, 
st_size=56, ...}) = 0
[pid  5186] stat64("/etc/localtime", {st_mode=S_IFREG|0644, 
st_size=56, ...}) = 0
[pid  5186] stat64("/etc/localtime", {st_mode=S_IFREG|0644, 
st_size=56, ...}) = 0
[pid  5186] send(6, "<83>Jun 25 12:10:16 udevd[5186]:"..., 
117, MSG_NOSIGNAL) = 117
[pid  5186] time([1151237416])          = 1151237416
[pid  5186] stat64("/etc/localtime", {st_mode=S_IFREG|0644, 
st_size=56, ...}) = 0
[pid  5186] stat64("/etc/localtime", {st_mode=S_IFREG|0644, 
st_size=56, ...}) = 0
[pid  5186] stat64("/etc/localtime", {st_mode=S_IFREG|0644, 
st_size=56, ...}) = 0
[pid  5186] send(6, "<86>Jun 25 12:10:16 udevd[5186]:"..., 
118, MSG_NOSIGNAL) = 118
[pid  5186] time([1151237416])          = 1151237416
[pid  5186] stat64("/etc/localtime", {st_mode=S_IFREG|0644, 
st_size=56, ...}) = 0
[pid  5186] stat64("/etc/localtime", {st_mode=S_IFREG|0644, 
st_size=56, ...}) = 0
[pid  5186] stat64("/etc/localtime", {st_mode=S_IFREG|0644, 
st_size=56, ...}) = 0
[pid  5186] send(6, "<86>Jun 25 12:10:16 udevd[5186]:"..., 94, 
MSG_NOSIGNAL) = 94
[pid  5186] rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
[pid  5186] rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
[pid  5186] rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
[pid  5186] nanosleep({8, 0},  <unfinished ...>


The line 

[pid  5186] connect(7, {sa_family=AF_INET, 
sin_port=htons(389), sin_addr=inet_addr("10.10.7.99")}, 16) 
= -1 ENETUNREACH (Network is unreachable)

clearly means network is not setup properly to be able to 
reach LDAP server, since there's no matching route.

The 'getent passwd' command also blocks, while waiting for 
response from unavailable LDAP server. The old libnss-ldap 
returned immediately.

That's why I think this is a bug in libnss-ldap, not in udev.

If strace from 'getent passwd' is of use, check here; they're 
a bit lengthy to include here.

http://www.kiberpipa.org/~hruske/libnss-ldap-238-1
http://www.kiberpipa.org/~hruske/libnss-ldap-251-3


Regards, 
Gasper Zejn


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to