syslogd problem with sysklogd-2.2.0
by chrisVV from LinuxQuestions.org on (#5D3E9)
I have a strange problem with syslogd as provided by the latest package in slackware-current, namely sysklogd-2.2.0. I normally run a slimmed-down version of the slackware kernel with a number of modules irrelevant to my computer removed. If I boot up my slimmed-down kernel with syslogd-2.2.0, syslogd fails to start correctly. I get a log entry in /var/log/syslog which reports 'syslogd[pid]: klog read(): Broken pipe' and syslogd then exits. This is new to sysklogd-2.2.0 - if I revert to sysklogd-2.1.2 then everything works fine.
However, if I run '/etc/rc.d/rc.syslog start' from a console following a syslogd failure on a boot-up of my slimmed-down kernel, then syslogd does start correctly. Furthermore, weirdly, if I boot up using the full slackware kernel then syslog starts normally during boot up without the need to start it from the console.
This points to a timing problem, but possibly my slimmed-down kernel is missing a sysklogd requirement, although I have found nothing which actually states what sysklogd's requirements are. 'grep LOG .config' for my slimmed-down kernel shows this:
Quote:
Does anyone have any ideas about how to take this further?
Edit: I see from that Changelog that sysklogd-2.2.0 now uses /dev/kmsg instead of /proc/kmsg on Linux. Possibly a red herring but I wonder if that has introduced a timing issue in the slackware scripts.


However, if I run '/etc/rc.d/rc.syslog start' from a console following a syslogd failure on a boot-up of my slimmed-down kernel, then syslogd does start correctly. Furthermore, weirdly, if I boot up using the full slackware kernel then syslog starts normally during boot up without the need to start it from the console.
This points to a timing problem, but possibly my slimmed-down kernel is missing a sysklogd requirement, although I have found nothing which actually states what sysklogd's requirements are. 'grep LOG .config' for my slimmed-down kernel shows this:
Quote:
CONFIG_LOG_BUF_SHIFT=15 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_PRINTK_SAFE_LOG_BUF_SHIFT=13 CONFIG_X86_MCELOG_LEGACY=y CONFIG_NETFILTER_NETLINK_LOG=m CONFIG_NF_LOG_COMMON=m # CONFIG_NF_LOG_NETDEV is not set CONFIG_NETFILTER_XT_TARGET_LOG=m CONFIG_NETFILTER_XT_TARGET_NFLOG=m # CONFIG_NF_LOG_ARP is not set CONFIG_NF_LOG_IPV4=m CONFIG_NF_LOG_IPV6=m # CONFIG_SCSI_LOGGING is not set # CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_QLOGIC_1280 is not set # CONFIG_NET_VENDOR_QLOGIC is not set CONFIG_MOUSE_PS2_LOGIPS2PP=y # CONFIG_MEDIA_ANALOG_TV_SUPPORT is not set # CONFIG_DRM_ANALOGIX_ANX78XX is not set CONFIG_LOGO=y # CONFIG_LOGO_LINUX_MONO is not set # CONFIG_LOGO_LINUX_VGA16 is not set CONFIG_LOGO_LINUX_CLUT224=y # CONFIG_SND_HDA_CODEC_ANALOG is not set # CONFIG_HID_UCLOGIC is not set CONFIG_HID_LOGITECH=m # CONFIG_HID_LOGITECH_DJ is not set # CONFIG_HID_LOGITECH_HIDPP is not set # CONFIG_LOGITECH_FF is not set # CONFIG_LOGIRUMBLEPAD2_FF is not set # CONFIG_LOGIG940_FF is not set # CONFIG_LOGIWHEELS_FF is not set # CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set CONFIG_CONSOLE_LOGLEVEL_DEFAULT=7 CONFIG_CONSOLE_LOGLEVEL_QUIET=4 CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 |
Edit: I see from that Changelog that sysklogd-2.2.0 now uses /dev/kmsg instead of /proc/kmsg on Linux. Possibly a red herring but I wonder if that has introduced a timing issue in the slackware scripts.