Hallo Leute, ich habe hier seit kurzem SuSE 9.0 Pro installiert (als Update [1]) und das Problem, dass sich einige Programme mit segfault "verabschieden". Bisher habe ich das Problem bei den Programmen sleep, hwclock, ps, awk und cron festgestellt. Die Ausgabe von strace habe ich unten an die Mail angehängt [2] Der Fehler scheint irgendwie mit dem Kernel zusammenzuhängen, da mit meinem "alten" 2.4.16-vanilla fast alle der o. g. Programme laufen (außer cron). Der SuSE-Kernel, der die Probleme macht, ist k_deflt-2.4.21-99. Beide Kernel werden mit append = "splash=verbose BOOT_FILE=/boot/vmlinuz vga=771 mem=192M hdc=ide-scsi" gebootet; eine initrd hat allerdings nur der SuSE-Kernel. Der Stand der Updates ist vom letzten Sonntag, da war u. a. ein cron-Update dabei - das hat das Problem aber weder ausgelöst noch beseitigt. Sprich: der Fehler tritt mit Original-cron (von CD) und auch mit dem Update (cron-3.0.1-824) auf. Kennt irgendjemand das Problem oder sogar die Ursache? Gruß Christian Boltz [1] 7.0 -> 7.2 -> 7.3 -> 8.1 -> 8.2 -> 9.0 [2] hier die strace-Logs (jeweils die letzten 20 Zeilen) ==> cron <== (bei beiden getesteten Kerneln gleiche Ausgabe mit Ausnahme der PID) brk(0x806f564) = 0x806f564 brk(0) = 0x806f564 brk(0x8070000) = 0x8070000 fstat64(3, {st_mode=S_IFREG|0644, st_size=5, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x4001a000 _llseek(3, 0, [0], SEEK_CUR) = 0 flock(3, LOCK_EX|LOCK_NB) = 0 fcntl64(3, F_SETFD, FD_CLOEXEC) = 0 _llseek(3, 0, [0], SEEK_SET) = 0 getpid() = 1777 write(3, "1777\n", 5) = 5 _llseek(3, 0, [5], SEEK_CUR) = 0 ftruncate(3, 5) = 0 setresuid32(0xffffffff, 0, 0xffffffff) = 0 stat64("/var/spool/cron", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0 chdir("/var/spool/cron") = 0 stat64("tabs", {st_mode=S_IFDIR|0700, st_size=4096, ...}) = 0 fork() = 1778 --- SIGCHLD (Child exited) @ 0 (0) --- exit_group(0) = ? ==> hwclock <== (geht nur beim SuSE-Kernel schief) open("/usr/lib/locale/de_DE/LC_NUMERIC", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0 mmap2(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4002f000 close(3) = 0 open("/usr/lib/locale/de_DE@euro/LC_CTYPE", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=207996, ...}) = 0 mmap2(NULL, 207996, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40167000 close(3) = 0 geteuid32() = 0 open("/dev/rtc", O_RDONLY|O_LARGEFILE) = 3 close(3) = 0 stat64("/etc/adjtime", {st_mode=S_IFREG|0644, st_size=44, ...}) = 0 open("/etc/adjtime", O_RDONLY|O_LARGEFILE) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=44, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x40030000 read(3, "0.000000 1067686982 0.000000\n106"..., 4096) = 44 close(3) = 0 munmap(0x40030000, 4096) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ ==> ps <== (Probleme ebenfalls nur beim SuSE-Kernel) rt_sigaction(SIGABRT, {0x8049850, ~[], SA_RESTORER, 0x4005daa8}, NULL, 8) = 0 rt_sigaction(SIGTRAP, {0x8049850, ~[], SA_RESTORER, 0x4005daa8}, NULL, 8) = 0 rt_sigaction(SIGILL, {0x8049850, ~[], SA_RESTORER, 0x4005daa8}, NULL, 8) = 0 rt_sigaction(SIGHUP, {0x8049850, ~[], SA_RESTORER, 0x4005daa8}, NULL, 8) = 0 open("/proc/self/stat", O_RDONLY) = 3 read(3, "1788 (ps) R 1787 1787 1724 1025 "..., 1023) = 177 close(3) = 0 ioctl(1, TIOCGWINSZ, {ws_row=38, ws_col=118, ws_xpixel=0, ws_ypixel=0}) = 0 ioctl(1, SNDCTL_TMR_TIMEBASE, {B38400 opost isig icanon echo ...}) = 0 geteuid32() = 0 open("/proc/uptime", O_RDONLY) = 3 lseek(3, 0, SEEK_SET) = 0 read(3, "287.98 244.74\n", 1023) = 14 --- SIGSEGV (Segmentation fault) @ 0 (0) --- write(2, "\n\nSignal 11 (SEGV) caught by ps "..., 133) = 133 exit_group(139) = ? ==> sleep <== (und schon wieder nur beim SuSE-Kernel) mmap2(NULL, 21499, PROT_READ, MAP_PRIVATE, 3, 0) = 0x40028000 close(3) = 0 open("/usr/lib/locale/de_DE.ISO-8859-1/LC_TIME", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/de_DE.iso88591/LC_TIME", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/de_DE/LC_TIME", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=2348, ...}) = 0 mmap2(NULL, 2348, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4002e000 close(3) = 0 open("/usr/lib/locale/de_DE.ISO-8859-1/LC_NUMERIC", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/de_DE.iso88591/LC_NUMERIC", O_RDONLY) = -1 ENOENT (No such file or directory) open("/usr/lib/locale/de_DE/LC_NUMERIC", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=59, ...}) = 0 mmap2(NULL, 59, PROT_READ, MAP_PRIVATE, 3, 0) = 0x4002f000 close(3) = 0 open("/usr/lib/locale/de_DE@euro/LC_CTYPE", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=207996, ...}) = 0 mmap2(NULL, 207996, PROT_READ, MAP_PRIVATE, 3, 0) = 0x401ef000 close(3) = 0 --- SIGSEGV (Segmentation fault) @ 0 (0) --- +++ killed by SIGSEGV +++ --
Liegt nicht an meinem .spec. Das sagt jeder ;-) Naja, aber ich zu Recht ;)) Sagt auch jeder ;-) *SCNR* [> David Haller und Christian Boltz in fontlinge-devel]