ZFS Kernel Panic on 10.0-RELEASE

Mike Carlson mike at bayphoto.com
Mon Jun 2 20:46:45 UTC 2014


On 6/2/2014 1:44 PM, Steven Hartland wrote:
>
> ----- Original Message ----- From: "Mike Carlson" <mike at bayphoto.com>
> To: "Steven Hartland" <killing at multiplay.co.uk>; <freebsd-fs at freebsd.org>
> Sent: Monday, June 02, 2014 9:15 PM
> Subject: Re: ZFS Kernel Panic on 10.0-RELEASE
>
>
>> On 6/2/2014 1:06 PM, Steven Hartland wrote:
>
>>> I don't have a core.0.txt, I only have:
>>>
>>>      ~/p/z/dump> ls -al
>>>    total 347690
>>>    drwxr-xr-x  3 mikec  wheel              8 Jun  2 03:25 .
>>>    drwxr-xr-x  4 mikec  wheel              5 Jun  2 10:44 ..
>>>    drwxrwxr-x  2 mikec  operator           2 Jun  2 03:07 .snap
>>>    -rw-r--r--  1 mikec  wheel              2 Jun  2 03:24 bounds
>>>    -rw-------  1 mikec  wheel            446 Jun  2 03:24 info.0
>>>    lrwxr-xr-x  1 mikec  wheel              6 Jun  2 03:25 info.last ->
>>>    info.0
>>>    -rw-------  1 mikec  wheel     3469885440 Jun  2 03:25 vmcore.0
>>>    lrwxr-xr-x  1 mikec  wheel              8 Jun  2 03:25 vmcore.last
>>>    -> vmcore.0
>>>
>>> But, here is the kgdb output (with backtrace):
>>>
>>>      ~/p/z/dump> cat ../kgdb_backtrace.txt
>>>    <118>root@:/ # zfs set canmount=on zroot/data/working
>>>    <118>root@:/ # zfs mount zroot/data/working
>>>
>>>
>>>    Fatal trap 12: page fault while in kernel mode
>>>    cpuid = 14; apic id = 22
>>>    fault virtual address   = 0x4a0
>>>    fault code              = supervisor read data, page not present
>>>    instruction pointer     = 0x20:0xffffffff8185a39f
>>>    stack pointer           = 0x28:0xfffffe1834608570
>>>    frame pointer           = 0x28:0xfffffe18346085b0
>>>    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         = 2 (txg_thread_enter)
>>>    trap number             = 12
>>>    panic: page fault
>>>    cpuid = 14
>>>    KDB: stack backtrace:
>>>    #0 0xffffffff808e7ee0 at kdb_backtrace+0x60
>>>    #1 0xffffffff808af9c5 at panic+0x155
>>>    #2 0xffffffff80c8e7b2 at trap_fatal+0x3a2
>>>    #3 0xffffffff80c8ea89 at trap_pfault+0x2c9
>>>    #4 0xffffffff80c8e216 at trap+0x5e6
>>>    #5 0xffffffff80c754b2 at calltrap+0x8
>>>    #6 0xffffffff8182eb5a at dsl_dataset_block_kill+0x3a
>>>    #7 0xffffffff8182b967 at dnode_sync+0x237
>>>    #8 0xffffffff81823fcb at dmu_objset_sync_dnodes+0x2b
>>>    #9 0xffffffff81823e4d at dmu_objset_sync+0x1ed
>>>    #10 0xffffffff8183829a at dsl_pool_sync+0xca
>>>    #11 0xffffffff81853a4e at spa_sync+0x52e
>>>    #12 0xffffffff8185c925 at txg_sync_thread+0x375
>>>    #13 0xffffffff80881a9a at fork_exit+0x9a
>>>    #14 0xffffffff80c759ee at fork_trampoline+0xe
>>>    Uptime: 26m15s
>>>    Dumping 3309 out of 98234
>>>    MB:..1%..11%..21%..31%..41%..51%..61%..71%..81%..91%
>>>
>>>    Reading symbols from /boot/kernel/zfs.ko.symbols...done.
>>>    Loaded symbols for /boot/kernel/zfs.ko.symbols
>>>    Reading symbols from /boot/kernel/opensolaris.ko.symbols...done.
>>>    Loaded symbols for /boot/kernel/opensolaris.ko.symbols
>>>    #0  doadump (textdump=<value optimized out>) at pcpu.h:219
>>>    219             __asm("movq %%gs:%1,%0" : "=r" (td)
>>>    (kgdb) backtrace
>>>    #0  doadump (textdump=<value optimized out>) at pcpu.h:219
>>>    #1  0xffffffff808af640 in kern_reboot (howto=260) at
>>>    /usr/src/sys/kern/kern_shutdown.c:447
>>>    #2  0xffffffff808afa04 in panic (fmt=<value optimized out>) at
>>>    /usr/src/sys/kern/kern_shutdown.c:754
>>>    #3  0xffffffff80c8e7b2 in trap_fatal (frame=<value optimized out>,
>>>    eva=<value optimized out>) at /usr/src/sys/amd64/amd64/trap.c:882
>>>    #4  0xffffffff80c8ea89 in trap_pfault (frame=0xfffffe18346084c0,
>>>    usermode=0) at /usr/src/sys/amd64/amd64/trap.c:699
>>>    #5  0xffffffff80c8e216 in trap (frame=0xfffffe18346084c0) at
>>>    /usr/src/sys/amd64/amd64/trap.c:463
>>>    #6  0xffffffff80c754b2 in calltrap () at
>>>    /usr/src/sys/amd64/amd64/exception.S:232
>>>    #7  0xffffffff8185a39f in bp_get_dsize_sync (spa=0xfffff80041835000,
>>>    bp=0xfffffe001b8a1780)
>>>         at
>>> /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c:1635 
>>>
>>>    #8  0xffffffff8182eb5a in dsl_dataset_block_kill
>>>    (ds=0xfffff800410fec00, bp=0xfffffe001b8a1780,
>>>    tx=0xfffff8004faa0600, async=0)
>>>         at
>>> /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c:129 
>>>
>>>    #9  0xffffffff8182b967 in dnode_sync (dn=0xfffff8004fe626c0,
>>>    tx=0xfffff8004faa0600) at
>>> /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dnode_sync.c:128 
>>>
>>>    #10 0xffffffff81823fcb in dmu_objset_sync_dnodes
>>>    (list=0xfffff80041956b10, newlist=<value optimized out>, tx=<value
>>>    optimized out>)
>>>         at
>>> /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c:945 
>>>
>>>    #11 0xffffffff81823e4d in dmu_objset_sync (os=0xfffff80041956800,
>>>    pio=0xfffff800418c43b0, tx=0xfffff8004faa0600)
>>>         at
>>> /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_objset.c:1062 
>>>
>>>    #12 0xffffffff8183829a in dsl_pool_sync (dp=0xfffff8004183c000,
>>>    txg=<value optimized out>)
>>>         at
>>> /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_pool.c:413 
>>>
>>>    #13 0xffffffff81853a4e in spa_sync (spa=0xfffff80041835000,
>>>    txg=3373534) at
>>> /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:6410 
>>>
>>>    #14 0xffffffff8185c925 in txg_sync_thread (arg=0xfffff8004183c000)
>>>    at
>>> /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/txg.c:515 
>>>
>>>    #15 0xffffffff80881a9a in fork_exit (callout=0xffffffff8185c5b0
>>>    <txg_sync_thread>, arg=0xfffff8004183c000, frame=0xfffffe1834608ac0)
>>>    at /usr/src/sys/kern/kern_fork.c:995
>>>    #16 0xffffffff80c759ee in fork_trampoline () at
>>>    /usr/src/sys/amd64/amd64/exception.S:606
>>>    #17 0x0000000000000000 in ?? ()
>>>    Current language:  auto; currently minimal
>>>
>>>
>>> If anyone wants to help out and check out the vmcore file, email me 
>>> off the list and I'll provide a S3 url of the tar'd + xz file.
>>>
>>>
>> Output of "frame 7":
>>
>>    (kgdb) frame 7
>>    #7  0xffffffff8185a39f in bp_get_dsize_sync (spa=0xfffff80041835000,
>>    bp=0xfffffe001b8a1780)
>>         at
>> /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/spa_misc.c:1635
>>    1635                    dsize = (asize >> SPA_MINBLOCKSHIFT) *
>>    vd->vdev_deflate_ratio;
>>
>> Is that what you were looking for?
>
> Thats the line I gathered it was on but no I need to know what the value
> of vd is, so what you need to do is:
> print vd
>
> If thats valid then:
> print *vd
>
It reports:

(kgdb) print *vd
No symbol "vd" in current context.

Should I rebuild the kernel with additional options?
> Given the panic I'm kind of expecting garbage or null (0x00)
>
>> I'm not familar with this process, so I hope this does not become too 
>> painful in pulling the details out.
>
> No problem, everyone has to learn some time ;-)
>

Thanks Steve :)
> Regards
> Steve
>
>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 6054 bytes
Desc: S/MIME Cryptographic Signature
URL: <http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20140602/4afadc9b/attachment.bin>


More information about the freebsd-fs mailing list