12.1-RELEASE-p7 panic in zio_free_issue_4_6
Andriy Gapon
avg at FreeBSD.org
Thu Oct 29 07:18:45 UTC 2020
On 28/10/2020 15:41, Christian Kratzer wrote:
> Hi,
>
> one of my servers with 12.1-RELEASE-p7 started crashing with following
>
> Fatal trap 12: page fault while in kernel mode
> cpuid = 19; apic id = 31
> fault virtual address = 0x30
> fault code = supervisor write data, page not present
> instruction pointer = 0x20:0xffffffff826877f4
> stack pointer = 0x28:0xfffffe011cefeaa0
> frame pointer = 0x28:0xfffffe011cefeaa0
> 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 = 0 (zio_free_issue_2_3)
> trap number = 12
> panic: page fault
> cpuid = 19
> time = 1603797129
> KDB: stack backtrace:
> #0 0xffffffff80c1d2f7 at kdb_backtrace+0x67
> #1 0xffffffff80bd062d at vpanic+0x19d
> #2 0xffffffff80bd0483 at panic+0x43
> #3 0xffffffff810a8dcc at trap_fatal+0x39c
> #4 0xffffffff810a8e19 at trap_pfault+0x49
> #5 0xffffffff810a840f at trap+0x29f
> #6 0xffffffff81081c9c at calltrap+0x8
> #7 0xffffffff8272a903 at zio_ddt_free+0x53
> #8 0xffffffff82727b7c at zio_execute+0xac
> #9 0xffffffff80c2fad4 at taskqueue_run_locked+0x154
> #10 0xffffffff80c30e08 at taskqueue_thread_loop+0x98
> #11 0xffffffff80b90c43 at fork_exit+0x83
> #12 0xffffffff81082cde at fork_trampoline+0xe
> Uptime: 1m12s
> Automatic reboot in 15 seconds - press a key on the console to abort
>
>
> I traced thigs down to importing one of the zpools.
I suspect that you have a silent corruption on that pool (perhaps because of
non-ECC RAM?).
What you see can happen if a block pointer has a deduplication bit set, but the
block is not actually deduplicated or deduplication has never been enabled at all.
It would help -- with analysis -- to get a vmcore (kernel crash dump) and to
install the corresponding kernel debug symbols (if not already).
As to recovery, I think that the best solution is to import the pool read-only
and to copy important data elsewhere. Then re-create the pool.
--
Andriy
More information about the freebsd-fs
mailing list