Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 23 Sep 2008 17:35:32 +0400
From:      Oleg Sharoiko <os@rsu.ru>
To:        freebsd-geom@freebsd.org
Subject:   Kernel panic with gmultipath
Message-ID:  <1222176932.22343.54.camel@brain.cc.rsu.ru>

next in thread | raw e-mail | index | archive | help
Hi!

I'm getting reproducable  panics with geom_multipath. As soon as active
provider has been removed from system any I/O activity on consumer will
trigger kernel panic. I'll continue debugging this problem and I'll
greatly appreciate any help with it, because my knowledge of GEOM
subsystem are somewhat limited.

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x0
fault code              = supervisor read data, page not present
instruction pointer     = 0x8:0xffffffff801f8006
stack pointer           = 0x10:0xffffffffabe63bc0
frame pointer           = 0x10:0xffffff000342f680
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 4 (g_down)
trap number             = 12
panic: page fault

(kgdb) bt
#0  doadump () at pcpu.h:194
#1  0x0000000000000004 in ?? ()
#2  0xffffffff80235d18 in boot (howto=260)
    at /usr/src/sys/kern/kern_shutdown.c:409
#3  0xffffffff80236150 in panic (fmt=Variable "fmt" is not available.
) at /usr/src/sys/kern/kern_shutdown.c:563
#4  0xffffffff80397284 in trap_fatal (frame=0xc, eva=Variable "eva" is
not available.)
    at /usr/src/sys/amd64/amd64/trap.c:724
#5  0xffffffff80397665 in trap_pfault (frame=0xffffffffabe63b10,
usermode=0)
    at /usr/src/sys/amd64/amd64/trap.c:641
#6  0xffffffff80397f44 in trap (frame=0xffffffffabe63b10)
    at /usr/src/sys/amd64/amd64/trap.c:410
#7  0xffffffff80380dee in calltrap ()
    at /usr/src/sys/amd64/amd64/exception.S:169
#8  0xffffffff801f8006 in g_io_request (bp=0xffffff0003d3c1b0, 
    cp=0xffffff000342f680) at /usr/src/sys/geom/geom_io.c:364
#9  0xffffffff801f892d in g_io_schedule_down (tp=Variable "tp" is not
available.
)
    at /usr/src/sys/geom/geom_io.c:540
#10 0xffffffff801f8d38 in g_down_procbody ()
    at /usr/src/sys/geom/geom_kern.c:118
#11 0xffffffff8021a663 in fork_exit (
    callout=0xffffffff801f8ce0 <g_down_procbody>, arg=0x0, 
    frame=0xffffffffabe63c80) at /usr/src/sys/kern/kern_fork.c:781
#12 0xffffffff803811be in fork_trampoline ()
---Type <return> to continue, or q <return> to quit---
    at /usr/src/sys/amd64/amd64/exception.S:415
#13 0x0000000000000000 in ?? ()
#14 0x0000000000000000 in ?? ()
#15 0x0000000000000001 in ?? ()


(kgdb) list *0xffffffff801f8006
0xffffffff801f8006 is in g_io_request (/usr/src/sys/geom/geom_io.c:364).
359                     KASSERT(bp->bio_length %
cp->provider->sectorsize == 0,
360                         ("wrong length %jd for sectorsize %u",
361                         bp->bio_length, cp->provider->sectorsize));
362             }
363
364             g_trace(G_T_BIO, "bio_request(%p) from %p(%s) to %p(%s)
cmd %d",
365                 bp, cp, cp->geom->name, pp, pp->name, bp->bio_cmd);
366
367             bp->bio_from = cp;
368             bp->bio_to = pp;


(kgdb) frame 8
#8  0xffffffff801f8006 in g_io_request (bp=0xffffff0003d3c1b0, 
    cp=0xffffff000342f680) at /usr/src/sys/geom/geom_io.c:364
364             g_trace(G_T_BIO, "bio_request(%p) from %p(%s) to %p(%s)
cmd %d",
(kgdb) print pp
$1 = (struct g_provider *) 0x0
(kgdb) print *cp
$2 = {geom = 0xffffff000367a300, consumer = {le_next = 0x0, 
    le_prev = 0xffffff0003ddf008}, provider = 0x0, consumers = {le_next
= 0x0, 
    le_prev = 0xffffff000342f720}, acr = 0, acw = 0, ace = 0, spoiled =
0, 
  stat = 0xffffff00033b4d80, nstart = 24279, nend = 24279, 
  private = 0xffffff000342f600, index = 2}


-- 
Oleg Sharoiko.
Software and Network Engineer
Computer Center of Rostov State University.




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1222176932.22343.54.camel>