On Tuesday, July 11, 2017 11:55:47 PM Peter Wemm wrote:
> On Tuesday, July 11, 2017 11:08:15 PM Peter Wemm wrote:
> > On Wednesday, June 28, 2017 01:59:20 PM Andriy Gapon wrote:
> > >   A side bonus of this change is that now a vdev zio has a pointer
> > >   to its corresponding bio while the zio is active.
> > 
> > fault virtual address   = 0x28
> > 
> > 
> > db> where
> > Tracing pid 0 tid 100471 td 0xfffff80005452000
> > vdev_geom_io_done() at vdev_geom_io_done+0x36/frame 0xfffffe0239f9eaa0
> > zio_vdev_io_done() at zio_vdev_io_done+0x176/frame 0xfffffe0239f9ead0
> > zio_execute() at zio_execute+0xac/frame 0xfffffe0239f9eb20
> 
> Oops, truncated.
> 
> 
> taskqueue_run_locked() at taskqueue_run_locked+0x127/frame
> 0xfffffe0239f9eb80 taskqueue_thread_loop() at
> taskqueue_thread_loop+0xc8/frame 0xfffffe0239f9ebb0 fork_exit() at
> fork_exit+0x85/frame 0xfffffe0239f9ebf0
> fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0239f9ebf0
> --- trap 0, rip = 0, rsp = 0, rbp = 0 ---

Likewise with a disk failing or being put offline.   eg: the explicit offlining 
case, making a vdev degrade:

r...@nope.ysv:/home/peter # zpool offline zroot mfid5p3

atal trap 12: page fault while in kernel mode
cpuid = 4; apic id = 04

Fatal trap 12: page fault while in kernel mode
fault virtual address   = 0x28
Fatal trap 12: page fault while in kernel mode

Fatal trap 12: page fault while in kernel mode
Fatal trap 12: page fault while in kernel mode
cpuid = 7; apic id = 07
cpuid = 1; apic id = 01
fault virtual address   = 0x28
fault code              = supervisor read data, page not present
cpuid = 3; cpuid = 5; apic id = 03
Fatal trap 12: page fault while in kernel mode
apic id = 05
fault virtual address   = 0x28
fault virtual address   = 0x28
fault code              = supervisor read data, page not present
instruction pointer     = 0x20:0xffffffff803aab56
stack pointer           = 0x28:0xfffffe085fb3aa90
instruction pointer     = 0x20:0xffffffff803aab56
fault code              = supervisor read data, page not present
cpuid = 6; fault virtual address        = 0x28
Fatal trap 12: page fault while in kernel mode
fault code              = supervisor read data, page not present
instruction pointer     = 0x20:0xffffffff803aab56
stack pointer           = 0x28:0xfffffe085fb3fa90
frame pointer           = 0x28:0xfffffe085fb3aaa0
fault code              = supervisor read data, page not present
cpuid = 2; apic id = 02
apic id = 06
instruction pointer     = 0x20:0xffffffff803aab56
fault virtual address   = 0x28
fault code              = supervisor read data, page not present
stack pointer           = 0x28:0xfffffe085fb30a90
instruction pointer     = 0x20:0xffffffff803aab56
stack pointer           = 0x28:0xfffffe085fb35a90
frame pointer           = 0x28:0xfffffe085fb3faa0
code segment            = base 0x0, limit 0xfffff, type 0x1b
stack pointer           = 0x28:0xfffffe085fb44a90
frame pointer           = 0x28:0xfffffe085fb44aa0
code segment            = base 0x0, limit 0xfffff, type 0x1b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
fault virtual address   = 0x28
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, instruction pointer        = 0x20:6
frame pointer           = 0x28:0xfffffe085fb30aa0
code segment            = base 0x0, limit 0xfffff, type 0x1b
code segment            = base 0x0, limit 0xfffff, type 0x1b
frame pointer           = 0x28:0xfffffe085fb35aa0
code segment            = base 0x0, limit 0xfffff, type 0x1b
resume, IOPL = 0
stack pointer           = 0x28:0xfffffe085fb26a90
                        = DPL 0, pres 1, long 1, def32 0, gran 1
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = fault code            = supervisor read data, page not
frame pointer           = 0x28:0xfffffe085fb26aa0
instruction pointer     = 0x20:0xffffffff803aab56
processor eflags        = interrupt enabled, code segment               = base b
                        = DPL 0, pres 1, long 1, def32 0, gran 1
processor eflags        = interrupt enabled, resume, IOPL = 0
current process         = 0 (zio_write_intr_2)
[ thread pid 0 tid 100500 ]
Stopped at      vdev_geom_io_done+0x36: movq    0x28(%rbx),%rsi
db> where
Tracing pid 0 tid 100500 td 0xfffff8000aae6000
vdev_geom_io_done() at vdev_geom_io_done+0x36/frame 0xfffffe085fb30aa0
zio_vdev_io_done() at zio_vdev_io_done+0x176/frame 0xfffffe085fb30ad0
zio_execute() at zio_execute+0xac/frame 0xfffffe085fb30b20
taskqueue_run_locked() at taskqueue_run_locked+0x127/frame 0xfffffe085fb30b80
taskqueue_thread_loop() at taskqueue_thread_loop+0xc8/frame 0xfffffe085fb30bb0
fork_exit() at fork_exit+0x85/frame 0xfffffe085fb30bf0
fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe085fb30bf0
--- trap 0, rip = 0, rsp = 0, rbp = 0 ---
db> 

-- 
Peter Wemm - pe...@wemm.org; pe...@freebsd.org; pe...@yahoo-inc.com; KI6FJV
UTF-8: for when a ' or ... just won\342\200\231t do\342\200\246

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to