Actions
Bug #13455
openassert in zfs dmu_send when doing zfs send
Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Start date:
Due date:
% Done:
0%
Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
Description
panic[cpu3]/thread=fffffeb5d004e820: assertion failed: zb->zb_object > dsa->dsa_resume_object || (zb->zb_object == dsa->dsa_resume_object && zb->zb_blkid * blksz >= dsa->dsa_resume_offset), file: ../../common/fs/zfs/dmu_send.c, line: 878 fffffe00fa0526f0 genunix:process_type+12a09d () fffffe00fa0527b0 zfs:do_dump+36b () fffffe00fa052960 zfs:dmu_send_impl+737 () fffffe00fa052ab0 zfs:dmu_send+282 () fffffe00fa052b80 zfs:zfs_ioc_send_new+15a () fffffe00fa052c60 zfs:zfsdev_ioctl+557 () fffffe00fa052ca0 genunix:cdev_ioctl+2b () fffffe00fa052cf0 specfs:spec_ioctl+45 () fffffe00fa052d80 genunix:fop_ioctl+5b () fffffe00fa052ea0 genunix:ioctl+153 () fffffe00fa052f00 unix:brand_sys_sysenter+2dc ()
Got woken up by this, will upload dump in the morning.
Updated by Jorge Schrauwen over 1 year ago
Looks like i never tripped this before because this was the first time using resumable send/recv
Updated by Jorge Schrauwen over 1 year ago
Updated by Jorge Schrauwen over 1 year ago
I can easily reproduce it with zrepl...
But I think any zfs send that is being resumed will trigger it.
global: logging: - type: "stdout" level: "debug" format: "human" jobs: - name: zdata type: push connect: type: tls address: "bck.acheron.be:8888" ca: "/opt/custom/etc/zrepl-ca.crt" cert: "/opt/custom/etc/zrepl-server.crt" key: "/opt/custom/etc/zrepl-server.key" server_cn: "bck.acheron.be" filesystems: { "zones/data<": true, } snapshotting: type: periodic prefix: zrepl_ interval: 3h pruning: keep_sender: - type: not_replicated - type: regex regex: "^manual_" - type: last_n count: 16 keep_receiver: - type: last_n count: 8 - type: grid regex: "^zrepl_" grid: 30x1d | 12x30d
Just start a replication, stop zrepl before it completes and start zrepl again. Once it tries to resume the send the assert is tripped.
Updated by Jorge Schrauwen over 1 year ago
zfs send data/test | zfs recv -s data/newtest <ctrl-c> to abort the send
zfs get -H -o value receive_resume_token data/newtest zfs send -t '<token here>' | zfs recv -s data/newtest
Will also trigger it, which is basically what zrepl was doing.
Actions