You are not logged in.

#1 2021-05-18 20:21:59

thorstenhirsch
Member
Registered: 2005-08-03
Posts: 127

[SOLVED] kernel: Attempted to advance past end of bvec iter

Every time a chia (the proof of space and time blockchain) plot is finished I get the following message in dmesg:

[Mai18 22:00] ------------[ cut here ]------------
[  +0,000004] Attempted to advance past end of bvec iter
[  +0,000007] WARNING: CPU: 5 PID: 9957 at include/linux/bvec.h:105 iov_iter_advance+0x3a1/0x3b0
[  +0,000009] Modules linked in: xt_nat xt_tcpudp veth xt_conntrack xt_MASQUERADE nf_conntrack_netlink nfnetlink xt_addrtype iptable_filter iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 br_netfilter bridge stp llc hid_jabra uvcvideo videobuf2_vmalloc videobuf2_memops videobuf2_v4l2 videobuf2_common snd_usb_audio videodev snd_usbmidi_lib snd_rawmidi snd_seq_device mc intel_rapl_msr joydev mousedev wmi_bmof amdgpu intel_rapl_common snd_hda_codec_ca0110 snd_hda_codec_generic edac_mce_amd snd_hda_codec_hdmi ledtrig_audio kvm_amd snd_hda_intel snd_intel_dspcfg snd_intel_sdw_acpi usbhid kvm snd_hda_codec gpu_sched i2c_algo_bit drm_ttm_helper ttm snd_hda_core drm_kms_helper irqbypass ccp crct10dif_pclmul crc32_pclmul snd_hwdep ghash_clmulni_intel snd_pcm rng_core aesni_intel r8169 crypto_simd cec nls_iso8859_1 cryptd realtek snd_timer mdio_devres vfat syscopyarea fat sysfillrect snd uas sysimgblt rapl psmouse k10temp libphy i2c_piix4 soundcore fb_sys_fops usb_storage wmi mac_hid
[  +0,000061]  gpio_amdpt pinctrl_amd gpio_generic acpi_cpufreq zfs(POE) zunicode(POE) zzstd(OE) zlua(OE) zavl(POE) icp(POE) zcommon(POE) znvpair(POE) spl(OE) vboxnetflt(OE) vboxnetadp(OE) vboxdrv(OE) drm sg fuse crypto_user agpgart bpf_preload ip_tables x_tables btrfs blake2b_generic libcrc32c crc32c_generic xor raid6_pq serio_raw atkbd libps2 sr_mod i8042 xhci_pci crc32c_intel cdrom xhci_pci_renesas serio
[  +0,000031] CPU: 5 PID: 9957 Comm: chia Tainted: P           OE     5.12.4-arch1-2 #1
[  +0,000003] Hardware name: Gigabyte Technology Co., Ltd. AB350M-DS3H/AB350M-DS3H-CF, BIOS F50d 07/02/2020
[  +0,000001] RIP: 0010:iov_iter_advance+0x3a1/0x3b0
[  +0,000005] Code: 8a fe ff ff 4d 89 e1 45 31 d2 e9 42 ff ff ff 49 89 f2 e9 70 ff ff ff 48 c7 c7 38 73 fa ba c6 05 66 4b 70 01 01 e8 d0 c9 57 00 <0f> 0b 4c 8b 4b 18 eb b6 0f 1f 80 00 00 00 00 41 57 41 56 41 55 41
[  +0,000002] RSP: 0018:ffffb33580773bd8 EFLAGS: 00010286
[  +0,000003] RAX: 0000000000000000 RBX: ffffb33580773d38 RCX: 0000000000000027
[  +0,000001] RDX: ffff9f308eb586e8 RSI: 0000000000000001 RDI: ffff9f308eb586e0
[  +0,000002] RBP: 0000000000000000 R08: 0000000000000000 R09: ffffb33580773a08
[  +0,000001] R10: ffffb33580773a00 R11: ffff9f309f32f5a8 R12: ffff9f2f27b31900
[  +0,000001] R13: 0000000000000000 R14: ffffb33580773c90 R15: ffffb33580773d38
[  +0,000002] FS:  00007fe771c8b740(0000) GS:ffff9f308eb40000(0000) knlGS:0000000000000000
[  +0,000002] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[  +0,000002] CR2: 000011ec045d0000 CR3: 00000002b0d98000 CR4: 00000000003506e0
[  +0,000002] Call Trace:
[  +0,000005]  zpl_iter_write+0x18b/0x1b0 [zfs]
[  +0,000125]  do_iter_readv_writev+0x12d/0x190
[  +0,000005]  do_iter_write+0x7c/0x1b0
[  +0,000003]  iter_file_splice_write+0x2b8/0x430
[  +0,000005]  direct_splice_actor+0x2c/0x40
[  +0,000003]  splice_direct_to_actor+0xf6/0x220
[  +0,000002]  ? do_splice_direct+0xd0/0xd0
[  +0,000003]  do_splice_direct+0x8b/0xd0
[  +0,000003]  do_sendfile+0x320/0x490
[  +0,000003]  __x64_sys_sendfile64+0x65/0xc0
[  +0,000004]  do_syscall_64+0x33/0x40
[  +0,000004]  entry_SYSCALL_64_after_hwframe+0x44/0xae
[  +0,000003] RIP: 0033:0x7fe771f6d10e
[  +0,000003] Code: c3 0f 1f 00 4c 89 d2 4c 89 c6 e9 bd fd ff ff 0f 1f 44 00 00 31 c0 c3 0f 1f 44 00 00 f3 0f 1e fa 49 89 ca b8 28 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 52 4d 0d 00 f7 d8 64 89 01 48
[  +0,000001] RSP: 002b:00007ffc39c438d8 EFLAGS: 00000246 ORIG_RAX: 0000000000000028
[  +0,000003] RAX: ffffffffffffffda RBX: 00007ffc39c442d0 RCX: 00007fe771f6d10e
[  +0,000001] RDX: 00007ffc39c43918 RSI: 0000000000000004 RDI: 0000000000000005
[  +0,000002] RBP: 0000000000000004 R08: 0000000000000000 R09: 00007ffc39c442d0
[  +0,000001] R10: 0000001957932d6a R11: 0000000000000246 R12: 0000000000000005
[  +0,000001] R13: 0000000000000001 R14: 00000000020679e8 R15: 0000001957932d6a
[  +0,000004] ---[ end trace 2e01ae0616223b21 ]---

When I google for "Attempted to advance past end of bvec iter" all results seem to be kernel patches, so only the source code with the error message is being found. Nobody else seems to have the problem... so undervolting was my first thought. But I'm only slightly undervolting (CORE -0.080V, Ryzen 1600X) and it has never been an issue. Since the error can be reproduced accurately, I don't think that it's related to undervolting. Maybe my storage setup for chia is a bit unusual:

- temp filesystem for plots is a ZFS stripe pool consisting of 2 SSD drives that are connected via USB (each SSD is too small, so I need to stripe them together to be big enough for chia's work files)
- final filesystem for plots is my ZFS raidz pool consisting of 3 HDD drives connected via SATA (that's my huge backup/archive volume)

kernel 5.12.4, zfs 2.0.4 (with the backport that has been released some days ago to make it work on kernel 5.12)

Any ideas what a bvec iter(ator?) is?

Last edited by thorstenhirsch (2021-05-18 21:18:19)

Offline

#2 2021-05-18 21:18:03

thorstenhirsch
Member
Registered: 2005-08-03
Posts: 127

Re: [SOLVED] kernel: Attempted to advance past end of bvec iter

Seems to be a bug in ZFS: github issue

Offline

Board footer

Powered by FluxBB