Andriy Gapon
2013-10-12 15:21:20 UTC
panic: solaris assert: zb->zb_object <= td->td_resume->zb_object
(0xffffffffffffffff <= 0xfffffffffffffffe), file:
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c,
line: 165
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a/frame 0xffffff9de0c01e70
kdb_backtrace() at kdb_backtrace+0x3a/frame 0xffffff9de0c01f30
panic() at panic+0x21c/frame 0xffffff9de0c02030
assfail3() at assfail3+0x2c/frame 0xffffff9de0c02050
traverse_visitbp() at traverse_visitbp+0xb8/frame 0xffffff9de0c02130
traverse_dnode() at traverse_dnode+0x79/frame 0xffffff9de0c021a0
traverse_visitbp() at traverse_visitbp+0x5ec/frame 0xffffff9de0c02280
traverse_impl() at traverse_impl+0x311/frame 0xffffff9de0c023c0
traverse_dataset_destroyed() at traverse_dataset_destroyed+0x34/frame
0xffffff9de0c023f0
bptree_iterate() at bptree_iterate+0x169/frame 0xffffff9de0c02540
dsl_scan_sync() at dsl_scan_sync+0x22f/frame 0xffffff9de0c028b0
spa_sync() at spa_sync+0x5b4/frame 0xffffff9de0c02990
txg_sync_thread() at txg_sync_thread+0x30d/frame 0xffffff9de0c02aa0
fork_exit() at fork_exit+0x15a/frame 0xffffff9de0c02af0
(kgdb) p/x *zb
$3 = {zb_objset = 0xffffffffffffffff, zb_object = 0xffffffffffffffff, zb_level =
0x0, zb_blkid = 0x0}
(kgdb) p/x *td->td_resume
$5 = {zb_objset = 0xffffffffffffffff, zb_object = 0xfffffffffffffffe, zb_level =
0x0, zb_blkid = 0x0}
It looks like the objects in the bookmarks are DMU_USERUSED_OBJECT and
DMU_GROUPUSED_OBJECT.
Perhaps the assertion does not have to hold for this type of objects?..
(0xffffffffffffffff <= 0xfffffffffffffffe), file:
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dmu_traverse.c,
line: 165
KDB: stack backtrace:
db_trace_self_wrapper() at db_trace_self_wrapper+0x2a/frame 0xffffff9de0c01e70
kdb_backtrace() at kdb_backtrace+0x3a/frame 0xffffff9de0c01f30
panic() at panic+0x21c/frame 0xffffff9de0c02030
assfail3() at assfail3+0x2c/frame 0xffffff9de0c02050
traverse_visitbp() at traverse_visitbp+0xb8/frame 0xffffff9de0c02130
traverse_dnode() at traverse_dnode+0x79/frame 0xffffff9de0c021a0
traverse_visitbp() at traverse_visitbp+0x5ec/frame 0xffffff9de0c02280
traverse_impl() at traverse_impl+0x311/frame 0xffffff9de0c023c0
traverse_dataset_destroyed() at traverse_dataset_destroyed+0x34/frame
0xffffff9de0c023f0
bptree_iterate() at bptree_iterate+0x169/frame 0xffffff9de0c02540
dsl_scan_sync() at dsl_scan_sync+0x22f/frame 0xffffff9de0c028b0
spa_sync() at spa_sync+0x5b4/frame 0xffffff9de0c02990
txg_sync_thread() at txg_sync_thread+0x30d/frame 0xffffff9de0c02aa0
fork_exit() at fork_exit+0x15a/frame 0xffffff9de0c02af0
(kgdb) p/x *zb
$3 = {zb_objset = 0xffffffffffffffff, zb_object = 0xffffffffffffffff, zb_level =
0x0, zb_blkid = 0x0}
(kgdb) p/x *td->td_resume
$5 = {zb_objset = 0xffffffffffffffff, zb_object = 0xfffffffffffffffe, zb_level =
0x0, zb_blkid = 0x0}
It looks like the objects in the bookmarks are DMU_USERUSED_OBJECT and
DMU_GROUPUSED_OBJECT.
Perhaps the assertion does not have to hold for this type of objects?..
--
Andriy Gapon
Andriy Gapon