[OpenIndiana-discuss] [zfs] damaged rpool c < SPA_MAXBLOCKSIZE >> SPA_MINBLOCKSHIFT

Ray Arachelian ray at arachelian.com
Wed Sep 12 21:46:00 UTC 2012


(Sorry, meant to also send to the lists)

On 09/12/2012 03:06 PM, George Wilson wrote:
> Ray,
>
> It looks like that it's trying to allocate a block that is larger that
> what ZFS supports. You may want to use the 32-bit version of zdb
> (/usr/sbin/i86/zdb) so that the corefile will display all the
> arguments. Then can you post the stack trace by running 'mdb core' and
> at the mdb prompt type $c.
>
> Thanks,
> George

No, thank you. :)

root at openindiana:/jack# /usr/sbin/i86/zdb -e -bcsvLF  6427596636711879020
Assertion failed: c < SPA_MAXBLOCKSIZE >> SPA_MINBLOCKSHIFT, file
../../../uts/common/fs/zfs/zio.c, line 217, function zio_buf_alloc
Abort (core dumped)
root at openindiana:/jack# mdb core
Loading modules: [ libumem.so.1 libc.so.1 libzpool.so.1 libavl.so.1
libcmdutils.so.1 libtopo.so.1 libnvpair.so.1 ld.so.1 ]
> $c
libc_hwcap1.so.1`_lwp_kill+0x15(40, 6, faddb3d8, fee980de)
libc_hwcap1.so.1`raise+0x22(6, 0, faddb428, fee6fa9a)
libc_hwcap1.so.1`abort+0xf2(65737341, 6f697472, 6166206e, 64656c69,
2063203a, 5053203c)
libc_hwcap1.so.1`_assert_c99+0x85(fee05624, fee05600, d9, fedd226e)
libzpool.so.1`zio_buf_alloc+0x4f(800200, fee27d58, faddb6a8, fed17afe)
libzpool.so.1`arc_get_data_buf+0x2f0(90c2ee0, 100, 3ce, fed14776)
libzpool.so.1`arc_buf_alloc+0x152(85d5000, 800200, 0, 1)
libzpool.so.1`arc_read_nolock+0x12a(0, 85d5000, 90c6040, 0, 0, 6)
libzpool.so.1`arc_read+0x119(0, 85d5000, 90c6040, 90c2f70, 0, 0)
libzpool.so.1`dsl_read+0x39(0, 85d5000, 90c6040, 90c2f70, 0, 0)
libzpool.so.1`traverse_prefetcher+0x12a(85d5000, 0, 90c6040, 90c2f70,
faddb930, 90c6000)
libzpool.so.1`traverse_visitbp+0x1e1(faddbf20, 90c6000, 90c2f70,
90c6040, faddb930, 0)
libzpool.so.1`traverse_dnode+0xbb(faddbf20, 90c6000, 90c2f70, 158, 0, 20028)
libzpool.so.1`traverse_visitbp+0x443(faddbf20, 8a24c00, 8c5b8a0,
8c95080, faddba70, faddbb10)
libzpool.so.1`traverse_visitbp+0x587(faddbf20, 8a24c00, 8993148,
8a2d000, faddbb10, faddbbb0)
libzpool.so.1`traverse_visitbp+0x587(faddbf20, 8a24c00, 89931d8,
8a27000, faddbbb0, faddbc50)
libzpool.so.1`traverse_visitbp+0x587(faddbf20, 8a24c00, 8993268,
855e000, faddbc50, faddbcf0)
libzpool.so.1`traverse_visitbp+0x587(faddbf20, 8a24c00, 89932f8,
8556000, faddbcf0, faddbd90)
libzpool.so.1`traverse_visitbp+0x587(faddbf20, 8a24c00, 8993388,
87e4000, faddbd90, faddbe20)
libzpool.so.1`traverse_visitbp+0x587(faddbf20, 8a24c00, 8993538,
8a24c40, faddbe20, aecfad77)
libzpool.so.1`traverse_dnode+0xbb(faddbf20, 8a24c00, 8993538, 158, 0, 0)
libzpool.so.1`traverse_visitbp+0x2ba(faddbf20, 0, 0, 87c3c80, faddbf50)
libzpool.so.1`traverse_prefetch_thread+0xa6(80478d0)
libzpool.so.1`taskq_thread+0x9c(80baf08, fef60000, faddbfe8, feeff3be)
libc_hwcap1.so.1`_thrp_setup+0x9b(feb5f240)
libc_hwcap1.so.1`_lwp_start(feb5f240, 0, 0, 0, 0, 0)
>
root at openindiana:/jack#

I tried to roll back to the last txg, but same thing happened (reboot)
even though I had used mdb to set zfs_recover=1, will try again with the
next txg down the line.
I sorted them and ran them through uniq, here's the last ones incase
they're meaningful to the above stacktrace:

180765362
180765363
180765364
180765365
180765366
180765367
180765368
180765369
180765370
180765371
180765372
180765373







More information about the OpenIndiana-discuss mailing list