Kernel Panik, wenn hald startet

From: Karsten Rothemund <karsten(at)photor.de>
Date: Fri, 20 Jul 2007 00:08:17 +0200

Hallo Liste,

sobald ich versuche hald zu starten (hier jetzt mittels
/usr/local/etc/rc.d/hald forcestart), panikt der Kernel. Ich hatte
dazu (hier?) schon mal nachgefragt und die Info war, es liegt nicht am
hald sondern am Kernel und ich solle mal einen Backtrace liefern.

Damals war leider nicht die Zeit dazu. Jetzt aber habe ich einen
Kernel mit Debugging-Info (cvsup von heute; Kernel und World frisch)
gebaut.

Der Backtrace sieht so aus:

-----8<----------8<----------8<----------8<----------8<-----

worf# kgdb kernel.debug vmcore.1
kgdb: kvm_nlist(_stopped_cpus):
kgdb: kvm_nlist(_stoppcbs):
[GDB will not be able to debug user-mode threads: /usr/lib/libthread_db.so: Un fined symbol "ps_pglobal_lookup"]
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd".

Unread portion of the kernel message buffer:
<118>Jul 19 23:03:48 worf init: /bin/sh on /etc/rc.shutdown terminated abnorma y, going to single user mode
<118>Jul 19 23:03:48 worf syslogd: exiting on signal 15
<118>Enter full pathname of shell or RETURN for /bin/sh:
<118>#
<118>/dev/ad0s1a on / (ufs, local)
<118>devfs on /dev (devfs, local)
<118>/dev/ufs/usr on /usr (ufs, local, soft-updates)
<118>/dev/ufs/backup on /usr/Backup (ufs, local, soft-updates)
<118>/dev/ufs/var on /var (ufs, local, soft-updates)
<118>/dev/ufs/home on /usr/home (ufs, local, soft-updates)
<118>/dev/ufs/media on /usr/media (ufs, local, soft-updates)
<118>/dev/ufs/ports on /usr/ports (ufs, local, soft-updates)
<118>/dev/ufs/home2 on /usr/home2 (ufs, local, soft-updates)
<118>/dev/md0 on /tmp (ufs, local, soft-updates)
<118>procfs on /proc (procfs, local)
<118>#
<118>#
<118>#
<118>#
<118>#
<118>/dev/ad0s1a on / (ufs, local)
<118>devfs on /dev (devfs, local)
<118>/dev/ufs/usr on /usr (ufs, local, soft-updates)
<118>/dev/ufs/backup on /usr/Backup (ufs, local, soft-updates)
<118>/dev/ufs/var on /var (ufs, local, soft-updates)
<118>/dev/md0 on /tmp (ufs, local, soft-updates)
<118>procfs on /proc (procfs, local)
<118>#
<118>#
<118>Starting hald.

Fatal trap 12: page fault while in kernel mode
fault virtual address = 0x54
fault code = supervisor read, page not present
instruction pointer = 0x20:0xc0442fd5
stack pointer = 0x28:0xdd710ad8
frame pointer = 0x28:0xdd710ae8
code segment = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, def32 1, gran 1
processor eflags = interrupt enabled, resume, IOPL = 0
current process = 1180 (hald-probe-storage)
trap number = 12
panic: page fault
Uptime: 15m18s
Dumping 511 MB (2 chunks)
  chunk 0: 1MB (159 pages) ... ok
  chunk 1: 511MB (130800 pages) 495 479 463 447 431 415 399 383 367 351 335 31 303 287 271 255 239 223 207 191 175 159 143 127 111 95 79 63 47 31 15

#0 doadump () at pcpu.h:165
165 pcpu.h: No such file or directory.
        in pcpu.h
(kgdb) bt
#0 doadump () at pcpu.h:165
#1 0xc04d8112 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:409
#2 0xc04d83a8 in panic (fmt=0xc06111ed "%s")
    at /usr/src/sys/kern/kern_shutdown.c:565
#3 0xc05f0a64 in trap_fatal (frame=0xdd710a98, eva=84)
    at /usr/src/sys/i386/i386/trap.c:837
#4 0xc05f07cb in trap_pfault (frame=0xdd710a98, usermode=0, eva=84)
    at /usr/src/sys/i386/i386/trap.c:745
#5 0xc05f0429 in trap (frame=
      {tf_fs = 8, tf_es = 40, tf_ds = 40, tf_edi = 0, tf_esi = -1018177536, tf_ebp = -579794200, tf_isp = -579794236, tf_ebx = -1019589920, tf_edx = -1020556800, tf_ecx = 384750786, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = -1069273131, tf_cs = 32, tf_eflags = 66182, tf_esp = -1002170368, tf_ss = 0})
    at /usr/src/sys/i386/i386/trap.c:435
#6 0xc05de46a in calltrap () at /usr/src/sys/i386/i386/exception.s:139
#7 0xc0442fd5 in amdexecutesrb (arg=0xc33a4ae0, dm_segs=0xc32b8a00, nseg=1,
    error=0) at /usr/src/sys/dev/amd/amd.c:314
#8 0xc05dbffd in bus_dmamap_load (dmat=0xc335e800, map=0x0, buf=0xd30d34a0,
    buflen=34, callback=0xc0442fc0 <amdexecutesrb>, callback_arg=0xc33a4ae0,
    flags=0) at /usr/src/sys/i386/i386/busdma_machdep.c:736
#9 0xc04432d0 in amd_action (psim=0xc33a4ae0, pccb=0xc34fd800)
    at /usr/src/sys/dev/amd/amd.c:440
#10 0xc0432675 in xpt_run_dev_sendq (bus=0xc337dd80)
    at /usr/src/sys/cam/cam_xpt.c:4059
#11 0xc0431b5d in xpt_action (start_ccb=0xc34fd800)
    at /usr/src/sys/cam/cam_xpt.c:3153
#12 0xc042e81a in cam_periph_runccb (ccb=0xc34fd800, error_routine=0,
    camflags=CAM_RETRY_SELTO, sense_flags=1, ds=0xc34e40f0)
    at /usr/src/sys/cam/cam_periph.c:861
#13 0xc043d7f0 in passsendccb (periph=0x0, ccb=0xc34fd800, inccb=0xc33d3c00)
    at /usr/src/sys/cam/scsi/scsi_pass.c:596
#14 0xc043d710 in passioctl (dev=0x0, cmd=3274410496, addr=0xc34fd800 "",
    flag=3, td=0xc3522c00) at /usr/src/sys/cam/scsi/scsi_pass.c:513
#15 0xc04aeede in giant_ioctl (dev=0xc351dc00, cmd=3261076738,
    data=0xc33d3c00 "", fflag=3, td=0xc3522c00)
    at /usr/src/sys/kern/kern_conf.c:306
#16 0xc0499363 in devfs_ioctl_f (fp=0xc3aef870, com=3261076738,
    data=0xc33d3c00, cred=0xc32bbd80, td=0xc3522c00)
    at /usr/src/sys/fs/devfs/devfs_vnops.c:479
#17 0xc04fa7a5 in ioctl (td=0xc3522c00, uap=0xdd710d04) at file.h:265
#18 0xc05f0d7b in syscall (frame=
      {tf_fs = 59, tf_es = 59, tf_ds = 59, tf_edi = -1077943952, tf_esi = 134526916, tf_ebp = -1077943976, tf_isp = -579793564, tf_ebx = 673522672, tf_edx = 34, tf_ecx = 134590464, tf_eax = 54, tf_trapno = 12, tf_err = 2, tf_eip = 674433399, tf_cs = 51, tf_eflags = 534, tf_esp = -1077944004, tf_ss = 59})
    at /usr/src/sys/i386/i386/trap.c:983
#19 0xc05de4bf in Xint0x80_syscall () at /usr/src/sys/i386/i386/exception.s:200
#20 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)

-----8<----------8<----------8<----------8<----------8<-----

noch zur Info: vor dem ausloesen des Paniks habe ich alles umountet
was geht. Was mich irritiert, ist "(corrupt stack?)" am Ende.

System-Info: uname -a
FreeBSD worf.mydomain.home 6.2-STABLE FreeBSD 6.2-STABLE #35: Thu Jul 19 22:04:13 CEST 2007 root(at)worf.mydomain.home:/usr/obj/usr/src/sys/ATHLON i386

Hardware: ATHLON 700, 512MB RAM, IDE-Platten, SCSI-CDRom und -Brenner
an Tekram SCSI-Karte,

Kernel-Config oder dmesg liefere ich nach, wenn sie gebraucht werden
(Mail ist schon reichlich lang). Ich hoffe aber, die Info hier hilft
schon mal weiter.

Vielen Dank jedenfalls fuer jeden Tipp,

Karsten

-- 
Karsten Rothemund <karsten(at)photor.de>     /"\
PGP-Key:     0x7019CAA5                   \ /
Fingerprint: E752 C759 B9B2 2057 E42F      \  ASCII Ribbon Campaign
             50EE 47AC A7CE 7019 CAA5     / \ Against HTML Mail and News
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Fri 20 Jul 2007 - 00:09:26 CEST

search this site