Panic after vdev loss: assert: zap_update([...]) == 0 (0x6 == 0x0), [...]/zfs/dsl_scan.c, line: 41

Fabian Keil freebsd-listen at fabiankeil.de
Fri Dec 26 14:49:46 UTC 2014


Yesterday I got a panic after a zpool that was being scrubbed
lost its (only) vdev:

[6507] GEOM_ELI: g_eli_read_done() failed (error=5) label/extreme.eli[READ(offset=2507528704, length=12800)]
[6507] GEOM_ELI: g_eli_read_done() failed (error=5) label/extreme.eli[READ(offset=2507494912, length=33792)]
[6507] (da1:umass-sim1:1:0:0): READ(10). CDB: 28 00 00 4a bb 06 00 00 05 00 
[6507] (da1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
[6507] (da1:umass-sim1:1:0:0): Retrying command
[6507] (da1:umass-sim1:1:0:0): READ(10). CDB: 28 00 00 4a bb 06 00 00 05 00 
[6507] (da1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
[6507] (da1:umass-sim1:1:0:0): Retrying command
[6507] (da1:umass-sim1:1:0:0): READ(10). CDB: 28 00 00 4a bb 06 00 00 05 00 
[6507] (da1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
[6507] (da1:umass-sim1:1:0:0): Retrying command
[6507] (da1:umass-sim1:1:0:0): READ(10). CDB: 28 00 00 4a bb 06 00 00 05 00 
[6507] (da1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
[6507] (da1:umass-sim1:1:0:0): Retrying command
[6507] (da1:umass-sim1:1:0:0): READ(10). CDB: 28 00 00 4a bb 06 00 00 05 00 
[6507] (da1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
[6507] (da1:umass-sim1:1:0:0): Error 5, Retries exhausted
[6507] GEOM_ELI: g_eli_read_done() failed (error=5)(da1:umass-sim1:1:0:0): READ(10). CDB: 28 00 00 37 25 ad 00 00 6a 00 
[6507]  label/extreme.eli[READ(offset=4022607872, length=8192)](da1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
[6507] 
[6507] (da1:GEOM_ELIumass-sim1:1:: g_eli_read_done() failed (error=5)0: 0): label/extreme.eli[READ(offset=4022870016, length=8192)]Retrying command
[6507] 
[6507] GEOM_ELI: g_eli_read_done() failed (error=5) label/extreme.eli[READ(offset=270336, length=8192)](da1:umass-sim1:1:0:0): READ(10). CDB: 28 00 00 37 25 ad 00 00 6a 00 
[6507] 
[6507] GEOM_ELI(da1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
[6507] : g_eli_read_done() failed (error=5)(da1: umass-sim1:1:label/extreme.eli[READ(offset=2507541504, length=2560)]0:
[6507] 0): Retrying command
[6507] (da1:umass-sim1:1:0:0): READ(10). CDB: 28 00 00 37 25 ad 00 00 6a 00 
[6507] (da1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
[6507] (da1:umass-sim1:1:0:0): Retrying command
[6507] (da1:umass-sim1:1:0:0): READ(10). CDB: 28 00 00 37 25 ad 00 00 6a 00 
[6507] (da1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
[6507] (da1:umass-sim1:1:0:0): Retrying command
[6507] (da1:umass-sim1:1:0:0): READ(10). CDB: 28 00 00 37 25 ad 00 00 6a 00 
[6507] (da1:umass-sim1:1:0:0): CAM status: CCB request completed with an error
[6507] (da1:umass-sim1:1:0:0): Error 5, Retries exhausted
[6507] GEOM_ELI: g_eli_read_done() failed (error=5) label/extreme.eli[READ(offset=1850432000, length=54272)]
[6507] da1 at umass-sim1 bus 1 scbus3 target 0 lun 0
[6507] da1: <USB Mass Storage Device \134001\134000\134000?> s/n 812320100708 detached
[6507] pass3 at umass-sim1 bus 1 scbus3 target 0 lun 0
[6507] pass3: <USB Mass Storage Device \134001\134000\134000?> s/n 812320100708 detached
[6507] (pass3:umass-sim1:1:0:0): Periph destroyed
[6507] panic: solaris assert: zap_update(scn->scn_dp->dp_meta_objset, 1, "scan", sizeof (uint64_t), (sizeof (dsl_scan_phys_t) / sizeof (uint64_t)), &scn->scn_phys, tx) == 0 (0x6 == 0x0), file: /usr/src/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/dsl_scan.c, line: 41
[6507] cpuid = 0
[6507] KDB: stack backtrace:
[6507] db_trace_self_wrapper() at db_trace_self_wrapper+0x2b/frame 0xfffffe0095157520
[6507] kdb_backtrace() at kdb_backtrace+0x39/frame 0xfffffe00951575d0
[6507] panic() at panic+0x1c1/frame 0xfffffe0095157690
[6507] assfail3() at assfail3+0x2f/frame 0xfffffe00951576b0
[6507] dsl_scan_sync() at dsl_scan_sync+0xa83/frame 0xfffffe0095157a00
[6507] spa_sync() at spa_sync+0x5c1/frame 0xfffffe0095157ae0
[6507] txg_sync_thread() at txg_sync_thread+0x3a6/frame 0xfffffe0095157bb0
[6507] fork_exit() at fork_exit+0x9a/frame 0xfffffe0095157bf0
[6507] fork_trampoline() at fork_trampoline+0xe/frame 0xfffffe0095157bf0
[6507] --- trap 0, rip = 0, rsp = 0xfffffe0095157cb0, rbp = 0 ---
[6507] KDB: enter: panic

The assertion in dsl_scan_sync_state() seems to expect that the pool
is available and apparently spa->spa_state was still POOL_STATE_ACTIVE.

Additional details:
http://www.fabiankeil.de/bilder/freebsd/kernel-panic-r275748-zfs/

Fabian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freebsd.org/pipermail/freebsd-fs/attachments/20141226/b51546d3/attachment.sig>


More information about the freebsd-fs mailing list