Marco Moock
2024-08-01 19:44:29 UTC
Hello!
I wanna run nscd to cache DNS entries.
After reinstalling glibc, I can properly start it. If I do a
system restart, I can't anymore. I haven't changed any config files. I
can reproduce that.
I get error 1 when trying to start it manually.
***@localhost:~# LANG=C /usr/sbin/nscd
child exited with status 1
***@localhost:~#
openat(AT_FDCWD, "/etc/nscd.conf", O_RDONLY) = 3
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=2717, ...}) = 0
read(3, "#\n# /etc/nscd.conf\n#\n# An exampl"..., 4096) = 2717
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/var/run/nscd/nscd.pid", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
pipe([3, 4]) = 0
I think it is normal that the pid file doesn't exist when the process
isn't running, isn't it?
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7f276e8) = 1115
close(4) = 0
read(3, "\1\0\0\0", 4) = 4
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 1115
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=1115, si_uid=0, si_status=1, si_utime=0, si_stime=0} ---
openat(AT_FDCWD, "/usr/share/locale/de_DE.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
openat(AT_FDCWD, "/usr/share/locale/de_DE.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
openat(AT_FDCWD, "/usr/share/locale/de_DE/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
openat(AT_FDCWD, "/usr/share/locale/de.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
openat(AT_FDCWD, "/usr/share/locale/de.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
openat(AT_FDCWD, "/usr/share/locale/de/LC_MESSAGES/libc.mo", O_RDONLY) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=149079, ...}) = 0
mmap2(NULL, 149079, PROT_READ, MAP_PRIVATE, 4, 0) = 0xb7c9a000
close(4) = 0
write(2, "Der Kind-Prozess endete mit Stat"..., 37Der Kind-Prozess endete mit Status 1
) = 37
close(3) = 0
exit_group(1) = ?
+++ exited with 1 +++
This is the init script.
#!/bin/sh
#
# nscd: Name Service Cache Daemon
#
# /etc/rc.d/rc.nscd
#
# Start/stop the nscd daemon
case "$1" in
start)
echo "Starting nscd..."
/usr/sbin/nscd
;;
stop)
echo "Stopping nscd..."
killall nscd
;;
restart)
$0 stop
$0 start
;;
status)
if pgrep nscd > /dev/null; then
echo "nscd is running."
else
echo "nscd is not running."
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0
-------
What causes the problem here?
After reinstalling glibc, I can start and stop nscd without problem
until I do a restart.
I wanna run nscd to cache DNS entries.
After reinstalling glibc, I can properly start it. If I do a
system restart, I can't anymore. I haven't changed any config files. I
can reproduce that.
I get error 1 when trying to start it manually.
***@localhost:~# LANG=C /usr/sbin/nscd
child exited with status 1
***@localhost:~#
openat(AT_FDCWD, "/etc/nscd.conf", O_RDONLY) = 3
statx(3, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=2717, ...}) = 0
read(3, "#\n# /etc/nscd.conf\n#\n# An exampl"..., 4096) = 2717
read(3, "", 4096) = 0
close(3) = 0
openat(AT_FDCWD, "/var/run/nscd/nscd.pid", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
pipe([3, 4]) = 0
I think it is normal that the pid file doesn't exist when the process
isn't running, isn't it?
clone(child_stack=NULL, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7f276e8) = 1115
close(4) = 0
read(3, "\1\0\0\0", 4) = 4
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 1115
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=1115, si_uid=0, si_status=1, si_utime=0, si_stime=0} ---
openat(AT_FDCWD, "/usr/share/locale/de_DE.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
openat(AT_FDCWD, "/usr/share/locale/de_DE.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
openat(AT_FDCWD, "/usr/share/locale/de_DE/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
openat(AT_FDCWD, "/usr/share/locale/de.UTF-8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
openat(AT_FDCWD, "/usr/share/locale/de.utf8/LC_MESSAGES/libc.mo", O_RDONLY) = -1 ENOENT (Datei oder Verzeichnis nicht gefunden)
openat(AT_FDCWD, "/usr/share/locale/de/LC_MESSAGES/libc.mo", O_RDONLY) = 4
statx(4, "", AT_STATX_SYNC_AS_STAT|AT_NO_AUTOMOUNT|AT_EMPTY_PATH, STATX_BASIC_STATS, {stx_mask=STATX_BASIC_STATS|STATX_MNT_ID, stx_attributes=0, stx_mode=S_IFREG|0644, stx_size=149079, ...}) = 0
mmap2(NULL, 149079, PROT_READ, MAP_PRIVATE, 4, 0) = 0xb7c9a000
close(4) = 0
write(2, "Der Kind-Prozess endete mit Stat"..., 37Der Kind-Prozess endete mit Status 1
) = 37
close(3) = 0
exit_group(1) = ?
+++ exited with 1 +++
This is the init script.
#!/bin/sh
#
# nscd: Name Service Cache Daemon
#
# /etc/rc.d/rc.nscd
#
# Start/stop the nscd daemon
case "$1" in
start)
echo "Starting nscd..."
/usr/sbin/nscd
;;
stop)
echo "Stopping nscd..."
killall nscd
;;
restart)
$0 stop
$0 start
;;
status)
if pgrep nscd > /dev/null; then
echo "nscd is running."
else
echo "nscd is not running."
fi
;;
*)
echo "Usage: $0 {start|stop|restart|status}"
exit 1
;;
esac
exit 0
-------
What causes the problem here?
After reinstalling glibc, I can start and stop nscd without problem
until I do a restart.
--
kind regards
Marco
Send spam to ***@cartoonies.org
kind regards
Marco
Send spam to ***@cartoonies.org