Once sysklogd upgrade from 1.4.2_pre20061230-r2 to 1.5, klogd crashes at boot and when I try to start sysklogd klogd[31247]: segfault at 00000046 eip b7eafa5d esp bfac3818 error 4 Reproducible: Always Steps to Reproduce: When upgrading to sysklogd 1.5
Portage 2.1.5.4 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.7-r2, 2.6.24-gentoo-r6 i686) ================================================================= System uname: 2.6.24-gentoo-r6 i686 Intel(R) Core(TM)2 Quad CPU Q6600 @ 2.40GHz Timestamp of tree: Tue, 10 Jun 2008 19:00:01 +0000 ccache version 2.4 [enabled] app-shells/bash: 3.2_p39 dev-java/java-config: 1.3.7, 2.1.6 dev-lang/python: 2.4.4-r13, 2.5.2-r4 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: 2.4-r7 sys-apps/baselayout: 2.0.0 sys-apps/openrc: 0.2.5 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.13, 2.62 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.1-r1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 2.2.4 virtual/os-headers: 2.6.25-r4 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=i686 -pipe -O2 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config /var/bind" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/splash /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-march=i686 -pipe -O2 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="ccache distlocks parallel-fetch sandbox sfperms strict unmerge-orphans userfetch userpriv usersandbox" GENTOO_MIRRORS="http://ftp.snt.utwente.nl/pub/os/linux/gentoo " LANG="fr_FR.UTF-8" LC_ALL="fr_FR.UTF-8" LDFLAGS="-Wl,-O1 -Wl,--sort-common -s" LINGUAS="fr" MAKEOPTS="-j5" PKGDIR="/usr/portage/packages/" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage/local/layman/wschlich-testing /usr/portage/local/layman/sunrise /usr/local/portage /usr/local/portage/xgl-coffee" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="X a52 aac acl acpi alsa amr ao aotuv apm asf async automount avahi avi bash-completion berkdb bitmap-fonts bluetooth browserplugin bzip2 cairo cddb cdr cli cracklib crypt cups dbus dhcp directfb divx4linux dmi dri dts dv dvb dvd dvdr dvdread dxr3 eds emboss encode escreen esd evo exif exscalibar extensions fam fame fbcon fbsplash ffmpeg firefox flac fortran gdbm gif gimp gimpprint glitz gnome gphoto2 gpm gsm gstreamer gtk gtk2 hal hddtemp iconv icq ieee1394 ifp imagemagick ipod ipv6 irda isdnlog isight jabber jack jpeg jpeg2k kerberos kipi ldap libclamav libnotify libsexy lm_sensors logitech-mouse lzo mad madwifi midi mikmod mime mjpeg mmap mng modplug mono mp3 mpeg mudflap musepack musicbrainz mysql mythtv nautilus ncurses netjack network nforce2 nfs njb nls nntp nptl nptlonly nsplugin nvidia nvtv oav ogg oggvorbis ole onoe opengl openmp oss pam pcmcia pcre pda pdf perl png portaudio pppd python qt qt3 qt3support qt4 quicktime radius rdesktop readline reflection samba scanner sdl session slp smp sms speex spell spl sqlite ssl svg swat sysfs syslog szip tcpd theora tiff truetype truetype-fonts type1-fonts udev unicode usb v4l v4l2 vcd via vidix visualization vorbis widescreen wifi win32codecs wmf wxwindows x264 x86 xcb xine xinerama xml xml2 xorg xv xvid xvmc zeroconf zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias" DVB_CARDS="bcm3510 dibusb-usb1 dibusb-usb2 nxt2002 nxt200x or51132 or51211 sp8870 sp887x tda1004x ttpci ttusb-dec usb-a800 usb-bluebird usb-dib0700 usb-dtt200u usb-umt usb-vp702x usb-vp7045 usb-wt220u" ELIBC="glibc" INPUT_DEVICES="acecad evdev joystick keyboard mouse synaptics wacom" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="fr" LIRC_DEVICES="pctv" USERLAND="GNU" VIDEO_CARDS="fbev glint nv v4l vesa vga nvidia"
ldd /usr/sbin/klogd linux-gate.so.1 => (0xb7f4e000) libc.so.6 => /lib/libc.so.6 (0xb7df2000) /lib/ld-linux.so.2 (0xb7f4f000)
2237 Jun 11 11:03:14 Sauron syslogd 1.5.0: restart. 2238 Jun 11 11:03:16 Sauron kernel: klogd 1.5.0, log source = /proc/kmsg started. 2239 Jun 11 11:03:16 Sauron kernel: Inspecting /System.map 2240 Jun 11 11:03:16 Sauron kernel: Inspecting /usr/src/linux/System.map 2241 Jun 11 11:03:16 Sauron kernel: Loaded 33325 symbols from /usr/src/linux/System.map. 2242 Jun 11 11:03:16 Sauron kernel: Symbols match kernel version 2.6.24. 2243 Jun 11 11:03:16 Sauron kernel: No module symbols loaded - kernel modules not enabled. 2244 Jun 11 11:03:16 Sauron klogd[16930]: segfault at 00000046 eip b7e13a5d esp bfb7f2a8 error 4 2245 Jun 11 11:05:09 Sauron exiting on signal 15 2246 Jun 11 11:06:11 Sauron klogd[22317]: segfault at 00000046 eip b7e4ea5d esp bff346e8 error 4
gdb /usr/sbin/syslogd GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"... (no debugging symbols found) (gdb) r -d Starting program: /usr/sbin/syslogd -d (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) Allocated parts table for 1024 file descriptors. Starting. (no debugging symbols found) Called init. Called allocate_log, nlogs = -1. cfline(auth,authpriv.* /var/log/auth.log) symbolic name: * ==> 255 symbolic name: auth ==> 32 symbolic name: authpriv ==> 80 leading char in action: / filename: /var/log/auth.log Called allocate_log, nlogs = 0. cfline(*.*;auth,authpriv.none -/var/log/syslog) symbolic name: * ==> 255 symbolic name: none ==> 16 symbolic name: auth ==> 32 symbolic name: authpriv ==> 80 leading char in action: / filename: /var/log/syslog Called allocate_log, nlogs = 1. cfline(daemon.* -/var/log/daemon.log) symbolic name: * ==> 255 symbolic name: daemon ==> 24 leading char in action: / filename: /var/log/daemon.log Called allocate_log, nlogs = 2. cfline(kern.* -/var/log/kern.log) symbolic name: * ==> 255 symbolic name: kern ==> 0 leading char in action: / filename: /var/log/kern.log Called allocate_log, nlogs = 3. cfline(lpr.* -/var/log/lpr.log) symbolic name: * ==> 255 symbolic name: lpr ==> 48 leading char in action: / filename: /var/log/lpr.log Called allocate_log, nlogs = 4. cfline(mail.* /var/log/mail.log) symbolic name: * ==> 255 symbolic name: mail ==> 16 leading char in action: / filename: /var/log/mail.log Called allocate_log, nlogs = 5. cfline(user.* -/var/log/user.log) symbolic name: * ==> 255 symbolic name: user ==> 8 leading char in action: / filename: /var/log/user.log Called allocate_log, nlogs = 6. cfline(uucp.* -/var/log/uucp.log) symbolic name: * ==> 255 symbolic name: uucp ==> 64 leading char in action: / filename: /var/log/uucp.log Called allocate_log, nlogs = 7. cfline(local6.debug /var/log/imapd.log) symbolic name: debug ==> 7 symbolic name: local6 ==> 176 leading char in action: / filename: /var/log/imapd.log Called allocate_log, nlogs = 8. cfline(mail.info -/var/log/mail.info) symbolic name: info ==> 6 symbolic name: mail ==> 16 leading char in action: / filename: /var/log/mail.info Called allocate_log, nlogs = 9. cfline(mail.warn -/var/log/mail.warn) symbolic name: warn ==> 4 symbolic name: mail ==> 16 leading char in action: / filename: /var/log/mail.warn Called allocate_log, nlogs = 10. cfline(mail.err /var/log/mail.err) symbolic name: err ==> 3 symbolic name: mail ==> 16 leading char in action: / filename: /var/log/mail.err Called allocate_log, nlogs = 11. cfline(news.crit /var/log/news/news.crit) symbolic name: crit ==> 2 symbolic name: news ==> 56 leading char in action: / filename: /var/log/news/news.crit Called allocate_log, nlogs = 12. cfline(news.err /var/log/news/news.err) symbolic name: err ==> 3 symbolic name: news ==> 56 leading char in action: / filename: /var/log/news/news.err Called allocate_log, nlogs = 13. cfline(news.notice -/var/log/news/news.notice) symbolic name: notice ==> 5 symbolic name: news ==> 56 leading char in action: / filename: /var/log/news/news.notice Called allocate_log, nlogs = 14. cfline(*.=debug;auth,authpriv.none;news.none;mail.none -/var/log/debug) symbolic name: debug ==> 7 symbolic name: none ==> 16 symbolic name: auth ==> 32 symbolic name: authpriv ==> 80 symbolic name: none ==> 16 symbolic name: news ==> 56 symbolic name: none ==> 16 symbolic name: mail ==> 16 leading char in action: / filename: /var/log/debug Called allocate_log, nlogs = 15. cfline(*.=info;*.=notice;*.=warn;auth,authpriv.none;cron,daemon.none;mail,news.none -/var/log/messages) symbolic name: info ==> 6 symbolic name: notice ==> 5 symbolic name: warn ==> 4 symbolic name: none ==> 16 symbolic name: auth ==> 32 symbolic name: authpriv ==> 80 symbolic name: none ==> 16 symbolic name: cron ==> 72 symbolic name: daemon ==> 24 symbolic name: none ==> 16 symbolic name: mail ==> 16 symbolic name: news ==> 56 leading char in action: / filename: /var/log/messages Called allocate_log, nlogs = 16. cfline(*.emerg *) symbolic name: emerg ==> 0 leading char in action: * write-all Called allocate_log, nlogs = 17. cfline(local2.* -/var/log/ppp.log) symbolic name: * ==> 255 symbolic name: local2 ==> 144 leading char in action: / filename: /var/log/ppp.log Opened UNIX socket `/dev/log'. 0: X X X X FF X X X X X FF X X X X X X X X X X X X X X FILE: /var/log/auth.log 1: FF FF FF FF X FF FF FF FF FF X FF FF FF FF FF FF FF FF FF FF FF FF FF FF FILE: /var/log/syslog 2: X X X FF X X X X X X X X X X X X X X X X X X X X X FILE: /var/log/daemon.log 3: FF X X X X X X X X X X X X X X X X X X X X X X X X FILE: /var/log/kern.log 4: X X X X X X FF X X X X X X X X X X X X X X X X X X FILE: /var/log/lpr.log 5: X X FF X X X X X X X X X X X X X X X X X X X X X X FILE: /var/log/mail.log 6: X FF X X X X X X X X X X X X X X X X X X X X X X X FILE: /var/log/user.log 7: X X X X X X X X FF X X X X X X X X X X X X X X X X FILE: /var/log/uucp.log 8: X X X X X X X X X X X X X X X X X X X X X X FF X X FILE: /var/log/imapd.log 9: X X 7F X X X X X X X X X X X X X X X X X X X X X X FILE: /var/log/mail.info 10: X X 1F X X X X X X X X X X X X X X X X X X X X X X FILE: /var/log/mail.warn 11: X X F X X X X X X X X X X X X X X X X X X X X X X FILE: /var/log/mail.err 12: X X X X X X X 7 X X X X X X X X X X X X X X X X X FILE: /var/log/news/news.crit 13: X X X X X X X F X X X X X X X X X X X X X X X X X FILE: /var/log/news/news.err 14: X X X X X X X 3F X X X X X X X X X X X X X X X X X FILE: /var/log/news/news.notice 15: 80 80 X 80 X 80 80 X 80 80 X 80 80 80 80 80 80 80 80 80 80 80 80 80 80 FILE: /var/log/debug 16: 70 70 X X X 70 70 X 70 X X 70 70 70 70 70 70 70 70 70 70 70 70 70 70 FILE: /var/log/messages 17: 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 WALL: 18: X X X X X X X X X X X X X X X X X X FF X X X X X X FILE: /var/log/ppp.log logmsg: syslog.info<46>, flags 4, from Sauron, msg syslogd 1.5.0: restart. Called fprintlog, logging to FILE /var/log/syslog Called fprintlog, logging to FILE /var/log/messages syslogd: restarted. Debugging disabled, SIGUSR1 to turn on debugging. Program received signal SIGUSR1, User defined signal 1. 0xb7f3e410 in __kernel_vsyscall () (gdb) bt #0 0xb7f3e410 in __kernel_vsyscall () #1 0xb7e9f6fd in select () from /lib/libc.so.6 #2 0x0804cc25 in ?? () #3 0x00000007 in ?? () #4 0xbf9bc1d4 in ?? () #5 0x00000000 in ?? () (gdb) quit The program is running. Exit anyway? (y or n) y
The backtrace is useless. Try again after reading http://www.gentoo.org/proj/en/qa/backtraces.xml .
I tried that but I don't know how to debug klogd, it's a kernel process I think (inside square brackets) I re-emerge sysklogd with -ggdb and without stripping When I launch klogd alone into gdb (with /etc/conf.d/sysklogd parameters), not detecting the segfault ... # gdb /usr/sbin/klogd GNU gdb 6.8 Copyright (C) 2008 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"... (no debugging symbols found) (gdb) r -c 3 -2 Starting program: /usr/sbin/klogd -c 3 -2 (no debugging symbols found) (no debugging symbols found) (no debugging symbols found) And a ps tell me :: root 27959 27957 0 22:18 pts/2 00:00:00 /usr/sbin/klogd -c 3 -2 root 27962 27959 0 22:18 ? 00:00:00 [klogd] <defunct> And messages :: Jun 11 22:18:20 Sauron klogd[27939]: segfault at 00000046 eip b7e516cd esp bfe16338 error 4 Do I need to do a kernel debugging ?
After a log analyse, I realize that : *) the 1.5 version loaded /usr/src/linux/System.map *) the 1.4 version not 3596 Jun 11 22:16:19 Sauron syslogd 1.5.0: restart. 3597 Jun 11 22:16:20 Sauron kernel: klogd 1.5.0, log source = /proc/kmsg started. 3598 Jun 11 22:16:20 Sauron kernel: Inspecting /System.map 3599 Jun 11 22:16:20 Sauron kernel: Inspecting /usr/src/linux/System.map 3600 Jun 11 22:16:20 Sauron kernel: Loaded 33325 symbols from /usr/src/linux/System.map. 3601 Jun 11 22:16:20 Sauron kernel: Symbols match kernel version 2.6.24. 3602 Jun 11 22:16:20 Sauron kernel: No module symbols loaded - kernel modules not enabled. 3603 Jun 11 22:16:20 Sauron klogd[27939]: segfault at 00000046 eip b7e516cd esp bfe16338 error 4 3607 Jun 11 22:43:10 Sauron syslogd 1.4.1: restart. 3608 Jun 11 22:43:11 Sauron kernel: klogd 1.4.1, log source = /proc/kmsg started. 3609 Jun 11 22:43:11 Sauron kernel: Inspecting /System.map 3610 Jun 11 22:43:11 Sauron kernel: Cannot find map file. Could "this" might be the reason of segfault ? NB : the link /usr/src/linux is correct
Not sure it is a segmentation fault on my side but since sysklogd-1.5 the klogd deamon is not starting at boot and neither after foo@bar $ sudo /etc/init.d/sysklogd start Password: * sysklogd -> start: syslogd ... [ ok ] * sysklogd -> start: klogd ... * start-stop-daemon: failed to start `/usr/sbin/klogd' * Failed to start klogd [ !! ] * sysklogd -> stop: syslogd ... [ ok ] * ERROR: sysklogd failed to start Reproducible: Always Then I emerged =sysklod-1.4 and boot was fine.
Just installed sysklog-1.5 and it does indeed segfaults as reported.
should be fixed in sysklogd-1.5-r1
wow! two and half year later. cool :)