GEOM panic

D. Rock D.Rock at t-online.de
Tue Jul 8 13:27:14 PDT 2003


Hi,

I get a reproduceable panic each time I run the command "sysctl -a"

Stack backtrace from a panic'd kernel:

(kgdb) bt
#0  doadump () at ../../../kern/kern_shutdown.c:240
#1  0xc025f6e9 in boot (howto=256) at ../../../kern/kern_shutdown.c:372
#2  0xc025f9e9 in panic () at ../../../kern/kern_shutdown.c:550
#3  0xc03dbd8f in trap_fatal (frame=0xc5718c00, eva=20)
     at ../../../i386/i386/trap.c:836
#4  0xc03dbad7 in trap_pfault (frame=0xc5718c00, usermode=0, eva=20)
     at ../../../i386/i386/trap.c:750
#5  0xc03db6d9 in trap (frame=
       {tf_fs = 24, tf_es = 16, tf_ds = 16, tf_edi = -1058813152, tf_esi = 
-1069448180, tf_ebp = -982414260, tf_isp = -982414292, tf_ebx = 0, tf_edx = 
-1058284352, tf_ecx = 218, tf_eax = 0, tf_trapno = 12, tf_err = 0, tf_eip = 
-1069774746, tf_cs = 8, tf_eflags = 66118, tf_esp = -1058284352, tf_ss = 
-1058284352})
     at ../../../i386/i386/trap.c:435
#6  0xc03cdc48 in calltrap () at {standard input}:96
#7  0xc02233ca in g_conf_geom (sb=0xc0e3cb20, gp=0xc041840c, pp=0x0, cp=0x0)
     at ../../../geom/geom_dump.c:206
#8  0xc022347d in g_conf_class (sb=0xc0e3cb20, mp=0xc0ebdcc0, gp=0x0, pp=0x0,
     cp=0x0) at ../../../geom/geom_dump.c:233
#9  0xc02234e4 in g_conf_specific (sb=0xc0e3cb20, mp=0x0, gp=0x0, pp=0x0,
     cp=0x0) at ../../../geom/geom_dump.c:248
#10 0xc0223527 in g_confxml (p=0xc0e3cb20, flag=0)
     at ../../../geom/geom_dump.c:260
#11 0xc0223966 in one_event () at ../../../geom/geom_event.c:180
---Type <return> to continue, or q <return> to quit---
#12 0xc02239fd in g_run_events () at ../../../geom/geom_event.c:200
#13 0xc0224a45 in g_event_procbody () at ../../../geom/geom_kern.c:134
#14 0xc024dc0d in fork_exit (callout=0xc0224a24 <g_event_procbody>, arg=0x0,
     frame=0xc5718d48) at ../../../kern/kern_fork.c:794
(kgdb) frame 8
#8  0xc022347d in g_conf_class (sb=0xc0e3cb20, mp=0xc0ebdcc0, gp=0x0, pp=0x0,
     cp=0x0) at ../../../geom/geom_dump.c:233
233                     g_conf_geom(sb, gp2, pp, cp);
(kgdb) print *gp2
$37 = {name = 0xc0e1d950 "ad1", class = 0xc04b6240, geom = {
     le_next = 0xc0e41e80, le_prev = 0xc04b6264}, consumer = {lh_first = 0x0},
   provider = {lh_first = 0xc0edfb80}, geoms = {tqe_next = 0x0,
     tqe_prev = 0xc0e41e98}, rank = 1, start = 0xc0224ef0 <g_slice_start>,
   spoiled = 0xc0225674 <g_slice_spoiled>,
   dumpconf = 0xc03c8854 <g_mbr_dumpconf>,
   access = 0xc0224d50 <g_slice_access>, orphan = 0xc022579c <g_slice_orphan>,
   softc = 0x0, flags = 1}
   ^^^^^^^^^^^

This causes the panic. In g_mbr_dumpconf() this pointer will be deferenced
causing a page fault. I don't know why softc is NULL in this case.

If it matters: I'm using the disks in DD mode.

Kernel config and dmesg output or anything else needed on request.


-- 
Daniel



More information about the freebsd-current mailing list