svn commit: r320452 - in head/sys/cddl/contrib/opensolaris/uts/common/fs/zfs: . sys
Andriy Gapon
avg at FreeBSD.org
Mon Jul 17 06:25:31 UTC 2017
On 12/07/2017 22:52, Peter Wemm wrote:
> 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:
Peter,
could you please see if the patch from the bug report you opened helps with the
problems?
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=220691#c3
Sorry for the breakage and thank you for the report.
> root at 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>
>
--
Andriy Gapon
More information about the svn-src-all
mailing list