Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 7 Sep 2013 14:35:45 +0200
From:      Jeremie Le Hen <jlh@FreeBSD.org>
To:        freebsd-current@FreeBSD.org
Subject:   Panic in ZFS: solaris assert: dn->dn_datablkshift != 0
Message-ID:  <20130907123545.GK43281@caravan.chchile.org>

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

I have the following panic every time I do a zfs receive on a given
dataset.

For the background, I synchronize a zfs dataset every couple of minutes
using zfs send/receive.

I think I recently got a panic (I'm running mav@'s geom direct dispatch
patch) which probably happen at a bad time and left the snapshot/data in
an inconsistent state.  Now, whenever my cron job runs, it triggers the
panic.

The process that triggers the panic is:
    zfs receive -F data/jail/caravan

Probably relevant, on boot, I have the following message:
    Solaris: WARNING: can't open objset for data/jail/caravan/%recv


I have a core around if needed to debug.  I will not try to repair the
snapshot/dataset during this weekend, to get a chance to test a patch.
Afterward I will have to start this job again.


panic: solaris assert: dn->dn_datablkshift != 0, file: /usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_tx.c, line: 638
cpuid = 1
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame
0xfffffe00e62401a0
kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe00e6240250
vpanic() at vpanic+0x126/frame 0xfffffe00e6240290
panic() at panic+0x43/frame 0xfffffe00e62402f0
assfail() at assfail+0x22/frame 0xfffffe00e6240300
dmu_tx_hold_free() at dmu_tx_hold_free+0x167/frame 0xfffffe00e62403e0
dmu_free_long_range() at dmu_free_long_range+0x1f5/frame
0xfffffe00e6240450
dmu_free_long_object() at dmu_free_long_object+0x1f/frame
0xfffffe00e6240480
dmu_recv_stream() at dmu_recv_stream+0x86e/frame 0xfffffe00e62406b0
zfs_ioc_recv() at zfs_ioc_recv+0x96c/frame 0xfffffe00e6240920
zfsdev_ioctl() at zfsdev_ioctl+0x54a/frame 0xfffffe00e62409c0
devfs_ioctl_f() at devfs_ioctl_f+0xf0/frame 0xfffffe00e6240a20
kern_ioctl() at kern_ioctl+0x2ca/frame 0xfffffe00e6240a90
sys_ioctl() at sys_ioctl+0x11f/frame 0xfffffe00e6240ae0
amd64_syscall() at amd64_syscall+0x265/frame 0xfffffe00e6240bf0
Xfast_syscall() at Xfast_syscall+0xfb/frame 0xfffffe00e6240bf0
--- syscall (54, FreeBSD ELF64, sys_ioctl), rip = 0x8019ddf1a, rsp =
0x7fffffff5c08, rbp = 0x7fffffff5c90 ---



-- 
Jeremie Le Hen

Scientists say the world is made up of Protons, Neutrons and Electrons.
They forgot to mention Morons.



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