openzfs / zfs

OpenZFS on Linux and FreeBSD
https://openzfs.github.io/openzfs-docs
Other
10.56k stars 1.74k forks source link

dsl_pool_sync() ASSERTION(dp->dp_tempreserved[txg & TXG_MASK] == 0) #1095

Closed behlendorf closed 10 years ago

behlendorf commented 11 years ago

Triggered by xfstests test 013 with --enable-debug. Once again I suspect this is a 32-bit issue regarding how a 64-bit value is updated, but I wanted to fix it so we can track it. spl/zfs-0.6.0-rc12.

SPLError: 19557:0:(dsl_pool.c:548:dsl_pool_sync()) ASSERTION(dp->dp_tempreserved[txg & TXG_MASK] == 0) failed
SPLError: 19557:0:(dsl_pool.c:548:dsl_pool_sync()) SPL PANIC
SPL: Showing stack for process 19557
Pid: 19557, comm: txg_sync Tainted: P           O 3.2.0-32-generic-pae #51-Ubuntu
Call Trace:
 [<c1590bac>] ? printk+0x2d/0x2f
 [<f881f41a>] spl_debug_dumpstack+0x2a/0x40 [spl]
 [<f88204b9>] spl_debug_bug+0x89/0xe0 [spl]
 [<f8b22b84>] dsl_pool_sync+0x934/0x9a0 [zfs]
 [<f8b41dd7>] spa_sync+0x317/0xdf0 [zfs]
 [<f882fb44>] ? __gethrtime+0x14/0x40 [spl]
 [<f8b5b4a7>] txg_sync_thread+0x2b7/0x780 [zfs]
 [<f8b5b1f0>] ? txg_do_callbacks+0x110/0x110 [zfs]
 [<f88293e6>] thread_generic_wrapper+0x66/0xe0 [spl]
 [<c104122e>] ? complete+0x4e/0x60
 [<f8829380>] ? __thread_create+0x360/0x360 [spl]
 [<c10792dd>] kthread+0x6d/0x80
 [<c1079270>] ? flush_kthread_worker+0x80/0x80
 [<c15ae33e>] kernel_thread_helper+0x6/0x10
ryao commented 11 years ago

Were you running the xfstests on a 32-bit system or is this an end-user report?

behlendorf commented 11 years ago

This was just from internal testing when I added a 32bit builder for the regression tests. This was mainly just to get an idea of where things stand... it needs work as expected.

behlendorf commented 10 years ago

Closing as stale. We now run xfstests on every commit and I haven't seen this failure in years.