[BUG] zfs panic in dsl_dir_open_spa() because of NULL ptr
Samir Desai
hellosamirdesai at gmail.com
Thu Sep 29 12:48:04 UTC 2011
hi
We are seeing ZFS v28 panic on FreeBSD, which seems to be caused by a race
condition between a thread loading spa and another trying to access it. The
two thread stacks trace these paths
1. zfs_ioc_snapshot -> zfs_unmount_snap -> ...-> spa_load ->vdev_open .....
-> vdev_geom_open ......-> biowait
2. zfs_secpolicy_write_perms -> ...-> dmu_objset_snapshot -> ...
->dsl_dir_open_spa -> _sx_slock
the two threads should be serialized by spa_namespace_lock, but apparently
the first thread, which is initializing spa, drops the lock in
vdev_geom_open(). This lets the second thread come in and see and
uninitialized spa. The spa->spa_dsl_pool pointer is NULL. The second thread
tries to take lock in dsl_dir_open_spa() dp = spa_get_dsl(spa);
rw_enter(&dp->dp_config_rwlock, RW_READER); This panics because "dp" is NULL
Should we be dropping the spa_namespace_lock in vdev_geom_open() ? What
serializes the spa operations ?
Some searching around the net showed up this thread, which has very similar
problem
http://freebsd.1045724.n5.nabble.com/ZFS-RAID-Z-panic-on-vdev-failure-subsequent-panics-and-hangs-td4032243.html
Note that one of the devices was in UNAVAIL state because we had removed it
on purpose
Here are the stacktraces of the two threads
-------------------------- thread 1
--------------------------------------------------------------
Thread 537 (Thread 100398):
#0 sched_switch (td=0xffffff0002d118c0, newtd=0xffffff00023c38c0,
flags=Variable "flags" is not available.
) at ../../../kern/sched_ule.c:1858
#1 0xffffffff805cb166 in mi_switch (flags=260, newtd=0x0) at
../../../kern/kern_synch.c:449
#2 0xffffffff805fe7b2 in sleepq_timedwait (wchan=0xffffff00027bb0e8,
pri=76) at ../../../kern/subr_sleepqueue.c:644
#3 0xffffffff805cb6c1 in _sleep (ident=0xffffff00027bb0e8,
lock=0xffffff800021a2b0, priority=Variable "priority" is not av
ailable.
) at ../../../kern/kern_synch.c:230
#4 0xffffffff80638680 in biowait (bp=0xffffff00027bb0e8,
wchan=0xffffffff80f09406 "vdev_geom_io") at ../../../kern/vfs_bio
.c:3189
#5 0xffffffff80ea77d3 in vdev_geom_open_by_path (vd=0x1e07c0000,
check_guid=262144) at /usr/src/sys/modules/zfs/../../cddl
/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c:388
#6 0xffffffff80ea81f2 in vdev_geom_open (vd=0xffffff00027bce00,
psize=0xffffff804d00a670, ashift=0xffffff804d00a668) at /u
sr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/vdev_geom.c:362
#7 0xffffffff80e5e877 in vdev_open (vd=0xffffff0002d86800) at
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/
common/fs/zfs/vdev.c:1248
#8 0xffffffff80e5f411 in vdev_compact_children (pvd=0xffffff0002d86800) at
/usr/src/sys/modules/zfs/../../cddl/contrib/ope
nsolaris/uts/common/fs/zfs/vdev.c:269
#9 0xffffffff80e681cc in zap_idx_to_blk (zap=0xffffff0002747000,
idx=18446743525245626136, valp=0xffffff804d00a720) at /us
r/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zap.c:297
#10 0xffffffff80e5e877 in vdev_open (vd=0xffffffff80e681cc) at
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/
common/fs/zfs/vdev.c:1248
#11 0xffffffff80e4fef1 in spa_load (spa=0xffffff0002747000,
state=SPA_LOAD_OPEN, type=SPA_IMPORT_EXISTING, mosconfig=411852
80) at
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:1922
#12 0xffffffff80e513c2 in spa_open_common (pool=0x1 <Address 0x1 out of
bounds>, spapp=0x0, tag=0x1, nvpolicy=0xffffff00027
47000, config=0x0) at
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:2376
#13 0xffffffff80e516ba in spa_open_common (pool=0xffffff8000b0b000 "sp3",
spapp=0xffffff804d00a920, tag=0xffffffff80ef7800,
nvpolicy=Variable "nvpolicy" is not available.
) at
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/spa.c:2439
#14 0xffffffff80e8e459 in zfs_unmount_snap (name=0xffffff8000b0b000 "sp3",
arg=Variable "arg" is not available.
) at
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c:3112
#15 0xffffffff80e8e6b3 in zfs_ioc_snapshot (zc=0x0) at
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/f
s/zfs/zfs_ioctl.c:2397
#16 0xffffffff8054cedb in devfs_ioctl_f (fp=0xffffff0023b20c30,
com=3583531538, data=Variable "data" is not available.
) at ../../../fs/devfs/devfs_vnops.c:678
#17 0xffffffff806043b2 in kern_ioctl (td=Variable "td" is not available.
) at file.h:262
#18 0xffffffff806045ed in ioctl (td=0xffffff0002d118c0,
uap=0xffffff804d00abb0) at ../../../kern/sys_generic.c:679
#19 0xffffffff80600dc5 in syscallenter (td=0xffffff0002d118c0,
sa=0xffffff804d00aba0) at ../../../kern/subr_trap.c:315
#20 0xffffffff808acb7b in syscall (frame=0xffffff804d00ac40) at
../../../amd64/amd64/trap.c:888
#21 0xffffffff808953c2 in Xfast_syscall () at
../../../amd64/amd64/exception.S:377
#22 0x0000000801104f8c in ?? ()
Previous frame inner to this frame (corrupt stack?)
-------------------------------------------------------------------------------------------------------------------
----------------------------------- thread 2 ------------------------ panic
thread ----------------------------
Thread 548 (Thread 100432):
#0 doadump () at pcpu.h:224
#1 0xffffffff805c28ae in boot (howto=260) at
../../../kern/kern_shutdown.c:419
#2 0xffffffff805c2ce1 in panic (fmt=Variable "fmt" is not available.
) at ../../../kern/kern_shutdown.c:592
#3 0xffffffff808ac720 in trap_fatal (frame=0xc, eva=Variable "eva" is not
available.
) at ../../../amd64/amd64/trap.c:783
#4 0xffffffff808acaff in trap_pfault (frame=0xffffff804d0b4600, usermode=0)
at ../../../amd64/amd64/trap.c:699
#5 0xffffffff808acfdf in trap (frame=0xffffff804d0b4600) at
../../../amd64/amd64/trap.c:449
#6 0xffffffff808950e4 in calltrap () at
../../../amd64/amd64/exception.S:224
#7 0xffffffff805cae61 in _sx_slock (sx=0x368, opts=0,
file=0xffffffff80ef9ee0 "/home/chs/freebsd/8.2/src/sys/modules/zfs/.
./../cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c", line=334) at
../../../kern/kern_sx.c:239
#8 0xffffffff80e30a7b in dsl_dir_open_spa (spa=0xffffff0002747000,
name=Variable "name" is not available.
) at
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c:396
#9 0xffffffff80e3498b in dsl_dataset_hold (name=Variable "name" is not
available.
) at
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dataset.c:642
#10 0xffffffff80e26973 in dmu_objset_snapshot (fsname=0xffffff0002d1d460
"\200}\xb6\200\xff\xff\xff\xff", snapname=0x0, tag
=0xffffffff80ef9ee0
"/home/chs/freebsd/8.2/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_dir.c",
props=0x14e, recursive=47305824, temporary=1, cleanup_fd=0) at
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts
/common/fs/zfs/dmu_objset.c:946
#11 0xffffffff80e8d3ab in zfs_ioc_vdev_set_state (zc=0xffffff804d0b4918) at
/usr/src/sys/modules/zfs/../../cddl/contrib/ope
nsolaris/uts/common/fs/zfs/zfs_ioctl.c:1629
#12 0xffffffff80e8e576 in zfs_secpolicy_write_perms (name=Variable "name" is
not available.
) at
/usr/src/sys/modules/zfs/../../cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c:360
#13 0xffffffff8054cedb in devfs_ioctl_f (fp=0xffffffff80f0e820,
com=18446742974794065712, data=Variable "data" is not avail
able.
) at ../../../fs/devfs/devfs_vnops.c:678
#14 0xffffffff806043b2 in kern_ioctl (td=Variable "td" is not available.
) at file.h:262
#15 0xffffffff806045ed in ioctl (td=0xffffff0002d1d460,
uap=0xffffff804d0b4bb0) at ../../../kern/sys_generic.c:679
#16 0xffffffff80600dc5 in syscallenter (td=0xffffff0002d1d460,
sa=0xffffff804d0b4ba0) at ../../../kern/subr_trap.c:315
#17 0xffffffff808acb7b in syscall (frame=0xffffff804d0b4c40) at
../../../amd64/amd64/trap.c:888
#18 0xffffffff808953c2 in Xfast_syscall () at
../../../amd64/amd64/exception.S:377
#19 0x0000000801104f8c in ?? ()
----------------------------------------------------------------------------------------------------
here is the spa structure
---------------------------------
(kgdb) print {spa_t}0xffffff0002747000
$1 = {spa_name = "sp3", '\0' <repeats 252 times>, spa_avl = {avl_child =
{0x0, 0x0}, avl_pcb = 18446742974239113477},
spa_config = 0xffffff0002b73820, spa_config_syncing = 0x0,
spa_config_splitting = 0x0,
spa_load_info = 0xffffff0002715c60, spa_config_txg = 10, spa_sync_pass =
0, spa_state = POOL_STATE_ACTIVE,
spa_inject_ref = 0, spa_sync_on = 0 '\0', spa_load_state = SPA_LOAD_OPEN,
spa_import_flags = 0, spa_zio_taskq = {{
0xffffff0023c09790, 0x0, 0xffffff0023c09330, 0x0},
{0xffffff0023c09800, 0x0, 0xffffff00239b1050, 0x0}, {
0xffffff0023c093b0, 0xffffff0023c091e0, 0xffffff0023a1f900,
0xffffff0023c09260}, {0xffffff0023a1f570, 0x0,
0xffffff0023c09620, 0x0}, {0xffffff0002b9a830, 0x0,
0xffffff0023a1f530, 0x0}, {0xffffff0023a1f7d0, 0x0,
0xffffff0023a1f960, 0x0}}, spa_dsl_pool = 0x0, spa_normal_class =
0xffffff0002feca80,
spa_log_class = 0xffffff0002bf8b40, spa_first_txg = 0, spa_final_txg =
18446744073709551615,
spa_freeze_txg = 18446744073709551615, spa_load_max_txg =
18446744073709551615, spa_claim_max_txg = 0, spa_loaded_ts = {
tv_sec = 1317106605, tv_nsec = 601195533}, spa_meta_objset = 0x0,
spa_vdev_txg_list = {tl_lock = {lock_object = {
lo_name = 0xffffffff80f072bb "tl->tl_lock", lo_flags = 40960000,
lo_data = 0, lo_witness = 0x0}, sx_lock = 1},
tl_offset = 1040, tl_head = {0x0, 0x0, 0x0, 0x0}}, spa_root_vdev =
0xffffff0002d89800,
spa_load_guid = 4958651374771581097, spa_config_dirty_list = {list_size =
1800, list_offset = 1096, list_head = {
list_next = 0xffffff00027472e0, list_prev = 0xffffff00027472e0}},
spa_state_dirty_list = {list_size = 1800,
list_offset = 1112, list_head = {list_next = 0xffffff0002747300,
list_prev = 0xffffff0002747300}}, spa_spares = {
sav_object = 0, sav_config = 0x0, sav_vdevs = 0x0, sav_count = 0,
sav_sync = 0, sav_pending = 0x0, sav_npending = 0},
spa_l2cache = {sav_object = 0, sav_config = 0x0, sav_vdevs = 0x0,
sav_count = 0, sav_sync = 0, sav_pending = 0x0,
sav_npending = 0}, spa_config_object = 0, spa_config_generation = 0,
spa_syncing_txg = 0, spa_deferred_bpobj = {
bpo_lock = {lock_object = {lo_name = 0x0, lo_flags = 0, lo_data = 0,
lo_witness = 0x0}, sx_lock = 0}, bpo_os = 0x0,
bpo_object = 0, bpo_epb = 0, bpo_havecomp = 0 '\0', bpo_havesubobj = 0
'\0', bpo_phys = 0x0, bpo_dbuf = 0x0,
bpo_cached_dbuf = 0x0}, spa_free_bplist = {{bpl_lock = {lock_object =
{lo_name = 0xffffffff80f05bd9 "bpl->bpl_lock",
lo_flags = 40960000, lo_data = 0, lo_witness = 0x0}, sx_lock = 1},
bpl_list = {list_size = 144,
list_offset = 128, list_head = {list_next = 0xffffff0002747408,
list_prev = 0xffffff0002747408}}}, {bpl_lock = {
lock_object = {lo_name = 0xffffffff80f05bd9 "bpl->bpl_lock",
lo_flags = 40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, bpl_list = {list_size = 144, list_offset = 128,
list_head = {list_next = 0xffffff0002747448,
list_prev = 0xffffff0002747448}}}, {bpl_lock = {lock_object =
{lo_name = 0xffffffff80f05bd9 "bpl->bpl_lock",
lo_flags = 40960000, lo_data = 0, lo_witness = 0x0}, sx_lock = 1},
bpl_list = {list_size = 144,
list_offset = 128, list_head = {list_next = 0xffffff0002747488,
list_prev = 0xffffff0002747488}}}, {bpl_lock = {
lock_object = {lo_name = 0xffffffff80f05bd9 "bpl->bpl_lock",
lo_flags = 40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, bpl_list = {list_size = 144, list_offset = 128,
list_head = {list_next = 0xffffff00027474c8,
list_prev = 0xffffff00027474c8}}}}, spa_ubsync = {ub_magic = 0,
ub_version = 28, ub_txg = 0, ub_guid_sum = 0,
ub_timestamp = 0, ub_rootbp = {blk_dva = {{dva_word = {0, 0}}, {dva_word
= {0, 0}}, {dva_word = {0, 0}}}, blk_prop = 0,
blk_pad = {0, 0}, blk_phys_birth = 0, blk_birth = 0, blk_fill = 0,
blk_cksum = {zc_word = {0, 0, 0, 0}}},
---Type <return> to continue, or q <return> to quit---
ub_software_version = 0}, spa_uberblock = {ub_magic = 0, ub_version = 0,
ub_txg = 0, ub_guid_sum = 0, ub_timestamp = 0,
ub_rootbp = {blk_dva = {{dva_word = {0, 0}}, {dva_word = {0, 0}},
{dva_word = {0, 0}}}, blk_prop = 0, blk_pad = {0, 0},
blk_phys_birth = 0, blk_birth = 0, blk_fill = 0, blk_cksum = {zc_word
= {0, 0, 0, 0}}}, ub_software_version = 0},
spa_extreme_rewind = 0, spa_last_io = 0, spa_scrub_lock = {lock_object = {
lo_name = 0xffffffff80f07134 "spa->spa_scrub_lock", lo_flags =
40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, spa_scrub_inflight = 0, spa_scrub_io_cv = {cv_description
= 0xffffffff80f071a2 "spa->spa_scrub_io_cv)",
cv_waiters = 0}, spa_scrub_active = 0 '\0', spa_scrub_type = 0 '\0',
spa_scrub_finished = 0 '\0',
spa_scrub_started = 0 '\0', spa_scrub_reopen = 0 '\0', spa_scan_pass_start
= 0, spa_scan_pass_exam = 0, spa_async_lock = {
lock_object = {lo_name = 0xffffffff80f070b2 "spa->spa_async_lock",
lo_flags = 40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, spa_async_thread = 0x0, spa_async_suspended = 0,
spa_async_cv = {
cv_description = 0xffffffff80f07179 "spa->spa_async_cv)", cv_waiters =
0}, spa_async_tasks = 0, spa_root = 0x0,
spa_ena = 0, spa_last_open_failed = 0, spa_last_ubsync_txg = 0,
spa_last_ubsync_txg_ts = 0, spa_load_txg = 0,
spa_load_txg_ts = 0, spa_load_meta_errors = 0, spa_load_data_errors = 0,
spa_verify_min_txg = 0, spa_errlog_lock = {
lock_object = {lo_name = 0xffffffff80f070de "spa->spa_errlog_lock",
lo_flags = 40960000, lo_data = 0,
lo_witness = 0x0}, sx_lock = 1}, spa_errlog_last = 0, spa_errlog_scrub
= 0, spa_errlist_lock = {lock_object = {
lo_name = 0xffffffff80f070c7 "spa->spa_errlist_lock", lo_flags =
40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, spa_errlist_last = {avl_root = 0x0, avl_compar =
0xffffffff80e4d180 <spa_vdev_remove+352>,
avl_offset = 40, avl_numnodes = 0, avl_size = 64}, spa_errlist_scrub =
{avl_root = 0x0,
avl_compar = 0xffffffff80e4d180 <spa_vdev_remove+352>, avl_offset = 40,
avl_numnodes = 0, avl_size = 64},
spa_deflate = 0, spa_history = 0, spa_history_lock = {lock_object = {
lo_name = 0xffffffff80f070f4 "spa->spa_history_lock", lo_flags =
40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, spa_pending_vdev = 0x0, spa_props_lock = {lock_object = {
lo_name = 0xffffffff80f0711f "spa->spa_props_lock", lo_flags =
40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, spa_pool_props_object = 0, spa_bootfs = 0, spa_failmode =
0, spa_delegation = 0, spa_config_list = {
list_size = 24, list_offset = 0, list_head = {list_next =
0xffffff0002735000, list_prev = 0xffffff0002735000}},
spa_async_zio_root = 0xffffff00028b7760, spa_suspend_zio_root = 0x0,
spa_suspend_lock = {lock_object = {
lo_name = 0xffffffff80f07149 "spa->spa_suspend_lock", lo_flags =
40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, spa_suspend_cv = {cv_description = 0xffffffff80f071ba
"spa->spa_suspend_cv)", cv_waiters = 0},
spa_suspended = 0 '\0', spa_claiming = 0 '\0', spa_is_root = 0, spa_minref
= 0, spa_mode = 1,
spa_log_state = SPA_LOG_UNKNOWN, spa_autoexpand = 0, spa_ddt = {0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
spa_ddt_stat_object = 0, spa_dedup_ditto = 0, spa_dedup_checksum = 0,
spa_dspace = 0, spa_vdev_top_lock = {lock_object = {
lo_name = 0xffffffff80f07160 "spa->spa_vdev_top_lock", lo_flags =
40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, spa_proc_lock = {lock_object = {lo_name =
0xffffffff80f0710b "spa->spa_proc_lock", lo_flags = 40960000,
lo_data = 0, lo_witness = 0x0}, sx_lock = 1}, spa_proc_cv =
{cv_description = 0xffffffff80f0718e "spa->spa_proc_cv)",
---Type <return> to continue, or q <return> to quit---
cv_waiters = 0}, spa_proc_state = SPA_PROC_NONE, spa_proc =
0xffffffff80b5db60, spa_did = 0, spa_autoreplace = 0,
spa_vdev_locks = 0, spa_creation_version = 0, spa_prev_software_version =
0, spa_config_lock = {{scl_lock = {
lock_object = {lo_name = 0xffffffff80f071d0 "scl->scl_lock",
lo_flags = 40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, scl_writer = 0xffffff0002d118c0, scl_write_wanted = 0,
scl_cv = {
cv_description = 0xffffffff80f071e0 "scl->scl_cv)", cv_waiters = 0},
scl_count = {rc_count = 1}}, {scl_lock = {
lock_object = {lo_name = 0xffffffff80f071d0 "scl->scl_lock",
lo_flags = 40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, scl_writer = 0xffffff0002d118c0, scl_write_wanted = 0,
scl_cv = {
cv_description = 0xffffffff80f071e0 "scl->scl_cv)", cv_waiters = 0},
scl_count = {rc_count = 1}}, {scl_lock = {
lock_object = {lo_name = 0xffffffff80f071d0 "scl->scl_lock",
lo_flags = 40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, scl_writer = 0xffffff0002d118c0, scl_write_wanted = 0,
scl_cv = {
cv_description = 0xffffffff80f071e0 "scl->scl_cv)", cv_waiters = 0},
scl_count = {rc_count = 1}}, {scl_lock = {
lock_object = {lo_name = 0xffffffff80f071d0 "scl->scl_lock",
lo_flags = 40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, scl_writer = 0xffffff0002d118c0, scl_write_wanted = 0,
scl_cv = {
cv_description = 0xffffffff80f071e0 "scl->scl_cv)", cv_waiters = 0},
scl_count = {rc_count = 1}}, {scl_lock = {
lock_object = {lo_name = 0xffffffff80f071d0 "scl->scl_lock",
lo_flags = 40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, scl_writer = 0xffffff0002d118c0, scl_write_wanted = 0,
scl_cv = {
cv_description = 0xffffffff80f071e0 "scl->scl_cv)", cv_waiters = 0},
scl_count = {rc_count = 1}}, {scl_lock = {
lock_object = {lo_name = 0xffffffff80f071d0 "scl->scl_lock",
lo_flags = 40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, scl_writer = 0xffffff0002d118c0, scl_write_wanted = 0,
scl_cv = {
cv_description = 0xffffffff80f071e0 "scl->scl_cv)", cv_waiters = 0},
scl_count = {rc_count = 1}}, {scl_lock = {
lock_object = {lo_name = 0xffffffff80f071d0 "scl->scl_lock",
lo_flags = 40960000, lo_data = 0, lo_witness = 0x0},
sx_lock = 1}, scl_writer = 0xffffff0002d118c0, scl_write_wanted = 0,
scl_cv = {
cv_description = 0xffffffff80f071e0 "scl->scl_cv)", cv_waiters = 0},
scl_count = {rc_count = 1}}}, spa_refcount = {
rc_count = 1}, spa_splitting_newspa = 0}
------------------------------------------------------------------
Here is the panic message
------------------------------------
Fatal trap 12: page fault while in kernel mode
cpuid = 0; apic id = 00
fault virtual address = 0x380
fault code = supervisor read data, page not present
instruction pointer = 0x20:0xffffffff805cae61
stack pointer = 0x28:0xffffff804d0b46b0
frame pointer = 0x28:0xffffff804d0b4860
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 = 1698 (initial thread)
trap number = 12
panic: page fault
cpuid = 0
KDB: stack backtrace:
#0 0xffffffff805f4dfe at kdb_backtrace+0x5e
#1 0xffffffff805c2cf7 at panic+0x187
#2 0xffffffff808ac720 at trap_fatal+0x290
#3 0xffffffff808acaff at trap_pfault+0x28f
#4 0xffffffff808acfdf at trap+0x3df
#5 0xffffffff808950e4 at calltrap+0x8
#6 0xffffffff80e3498b at dsl_dataset_hold+0x3b
#7 0xffffffff80e26973 at dmu_objset_hold+0x23
#8 0xffffffff80e8d3ab at zfs_ioc_objset_stats+0x2b
#9 0xffffffff80e8e576 at zfsdev_ioctl+0xe6
#10 0xffffffff8054cedb at devfs_ioctl_f+0x7b
#11 0xffffffff806043b2 at kern_ioctl+0x102
#12 0xffffffff806045ed at ioctl+0xfd
#13 0xffffffff80600dc5 at syscallenter+0x1e5
#14 0xffffffff808acb7b at syscall+0x4b
#15 0xffffffff808953c2 at Xfast_syscall+0xe2
Uptime: 1m12s
Dumping 1023 MB (2 chunks)
------------------------------------------------------------------
regards
Samir
More information about the zfs-devel
mailing list