devd panic on i386 7.2 Release with CARP

Ken Menzel kenfreebsd at icarz.com
Fri May 22 19:50:58 UTC 2009


I am having a problem with one of my freebsd 7.2R boxes panicing on 
start of devd after upgrading to 7.2R.  It is an old DELL 2400 dual 
processor.  This is a build from completely refreshed sources.

-  generic kernel does not panic (built by me)
- custom kernel does not panic with devd_enable="NO" set in rc.conf, but 
!!! __ I can start devd AFTER booting by hand at the command prompt!

-  custom kernel (carp and more memory ) does panic if devd is started 
automatically by rc.d scripts (the default behaviour). 

Do I really need devd for anything if I am not using USB?  Anyone have 
any idea of how to fix this?

My kernel config is pretty simple,  I am building a test i386 box with a 
carp kernel to try and repro this on another box, but that box is really 
slow.

After booting I just run
kes# devd
devd: Setting hw.bus.devctl_disable to 0
kes#

And it does NOT panic!!!!  Weird huh?

kernel config folled by back trace
----------------------------------------------------------------------------------------------------

#
# SMP -- Generic kernel configuration file for FreeBSD/i386 SMP
#        Use this for multi-processor machines
#
# $FreeBSD: src/sys/i386/conf/SMP,v 1.5.6.1 2005/09/18 03:37:58 scottl Exp $

include GENERIC

ident           WHI

# To make an SMP kernel, the next line is needed
#options        SMP                     # Symmetric MultiProcessor Kernel
#options         ASR_COMPAT

options         MAXDSIZ="(1536*1024*1024)"
options         MAXSSIZ="(512*1024*1024)"
options         DFLDSIZ="(1536*1024*1024)"
device          carp
kes#
----------------------------------------------------------------------------------------------------
kgdb back trace of core here

118>
<118>#
<118>Loading configuration files.
<118>kernel dumps on /dev/da0s1b
<118>Entropy harvesting:
<118> interrupts
<118> ethernet
<118> point_to_point
<118> kickstart
<118>.
<118>swapon: adding /dev/da0s1b as swap device
<118>Fast boot: skipping disk checks.
GEOM_LABEL: Label for provider da0s1f is ufsid/3ec3641041d090a9.
<118>Setting hostuuid: 44454c4c-5a9b-1059-8057-b8c04f303031.
<118>Setting hostid: 0xd1c205d3.
<118>Mounting local file systems:
GEOM_LABEL: Label ufsid/3ec3641041d090a9 removed.
WARNING: /usr was not properly dismounted
WARNING: /var was not properly dismounted
<118>.
<118>Setting hostname: kes.icarz.com.
<118>net.inet6.ip6.auto_linklocal:
<118>1
<118> ->
<118>0
<118>
<118>kern.maxfilesperproc:
<118>11095
<118> ->
<118>19000
<118>
<118>kern.maxfiles:
<118>12328
<118> ->
<118>20000
<118>
<118>lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
<118>   inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
<118>   inet6 ::1 prefixlen 128
<118>   inet 127.0.0.1 netmask 0xff000000
<118>fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 
mtu 1500
<118>   options=2009<RXCSUM,VLAN_MTU,WOL_MAGIC>
<118>   ether 00:b0:d0:3e:c7:19
<118>   inet 207.99.22.32 netmask 0xffffff80 broadcast 207.99.22.127
<118>   media: Ethernet autoselect (100baseTX <full-duplex>)
<118>   status: active
<118>add net default: gateway 207.99.22.1
<118>Additional routing options:
<118>.
<118>Starting devd.


Fatal trap 12: page fault while in kernel mode
cpuid = 1; apic id = 00
fault virtual address   = 0x0
fault code              = supervisor read, page not present
instruction pointer     = 0x20:0xc0874488
stack pointer           = 0x28:0xf7bd0b68
frame pointer           = 0x28:0xf7bd0b68
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         = 388 (devd)
trap number             = 12
panic: page fault
cpuid = 1
Uptime: 2m12s
Physical memory: 2035 MB
Dumping 68 MB: 53 37 21 5

Reading symbols from /boot/kernel/acpi.ko...Reading symbols from 
/boot/kernel/acpi.ko.symbols...done.
done.
Loaded symbols for /boot/kernel/acpi.ko
#0  doadump () at pcpu.h:196
196             __asm __volatile("movl %%fs:0,%0" : "=r" (td));
(kgdb) backtrace
#0  doadump () at pcpu.h:196
#1  0xc07e2a07 in boot (howto=260) at /usr/src/sys/kern/kern_shutdown.c:418
#2  0xc07e2cd9 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:574
#3  0xc0ae895c in trap_fatal (frame=0xf7bd0b28, eva=0)
    at /usr/src/sys/i386/i386/trap.c:939
#4  0xc0ae8be0 in trap_pfault (frame=0xf7bd0b28, usermode=0, eva=0)
    at /usr/src/sys/i386/i386/trap.c:852
#5  0xc0ae958c in trap (frame=0xf7bd0b28) at 
/usr/src/sys/i386/i386/trap.c:530
#6  0xc0acdc9b in calltrap () at /usr/src/sys/i386/i386/exception.s:159
#7  0xc0874488 in strlen (str=0x0) at /usr/src/sys/libkern/strlen.c:41
#8  0xc080a46c in devread (dev=0xc548b900, uio=0xf7bd0c60, ioflag=0)
    at /usr/src/sys/kern/subr_bus.c:458
#9  0xc07a6039 in giant_read (dev=0xc548b900, uio=0xf7bd0c60, ioflag=0)
    at /usr/src/sys/kern/kern_conf.c:414
#10 0xc076cecd in devfs_read_f (fp=0xc58ba260, uio=0xf7bd0c60,
    cred=0xc5470300, flags=0, td=0xc56288c0)
    at /usr/src/sys/fs/devfs/devfs_vnops.c:1007
#11 0xc081be86 in dofileread (td=0xc56288c0, fd=3, fp=0xc58ba260,
    auio=0xf7bd0c60, offset=-1, flags=0) at file.h:245
#12 0xc081c1f8 in kern_readv (td=0xc56288c0, fd=3, auio=0xf7bd0c60)
    at /usr/src/sys/kern/sys_generic.c:193
#13 0xc081c2df in read (td=0xc56288c0, uap=0xf7bd0cfc)
    at /usr/src/sys/kern/sys_generic.c:109
---Type <return> to continue, or q <return> to quit---
#14 0xc0ae8f35 in syscall (frame=0xf7bd0d38)
    at /usr/src/sys/i386/i386/trap.c:1090
#15 0xc0acdd00 in Xint0x80_syscall () at 
/usr/src/sys/i386/i386/exception.s:255
#16 0x00000033 in ?? ()
Previous frame inner to this frame (corrupt stack?)
(kgdb)



More information about the freebsd-stable mailing list