Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 8 Sep 2023 07:49:25 -0700
From:      Mark Millard <marklmi@yahoo.com>
To:        Martin Matuska <mm@FreeBSD.org>
Cc:        Alexander Motin <mav@FreeBSD.org>, Glen Barber <gjb@FreeBSD.org>, Current FreeBSD <freebsd-current@freebsd.org>, FreeBSD-STABLE Mailing List <freebsd-stable@freebsd.org>, Pawel Jakub Dawidek <pjd@freebsd.org>
Subject:   Re: main [and, likely, stable/14]: do not set vfs.zfs.bclone_enabled=1 with that zpool feature enabled because it still leads to panics
Message-ID:  <62BE6390-3893-4909-B5A0-A98015FF5083@yahoo.com>
In-Reply-To: <15df58d3-4603-132f-112e-d10a6d4419bf@FreeBSD.org>
References:  <7CE2CAAF-8BB0-4422-B194-4A6B0A4BC12C@yahoo.com> <08B7E72B-78F1-4ACA-B09D-E8C34BCE2335@yahoo.com> <20230907184823.GC4090@FreeBSD.org> <F4ED7034-6776-402C-8706-DED08F41455E@yahoo.com> <4f4e2b68-57e0-a475-e2bd-1f2b8844ebfe@FreeBSD.org> <354C5B8C-4216-4171-B8C2-8E827817F8E5@yahoo.com> <8B8B3707-4B37-4621-8124-D6A77CAF6879@yahoo.com> <15df58d3-4603-132f-112e-d10a6d4419bf@FreeBSD.org>

index | next in thread | previous in thread | raw e-mail

On Sep 8, 2023, at 06:52, Martin Matuska <mm@FreeBSD.org> wrote:

> I digged a little and was able to reproduce the panic without poudriere with a shell script.
> 
> You may want to increase "repeats".
> The script causes the panic in dmu_buf_hold_array_by_dnode() on my VirtualBox with the cat command on 9th iteration.
> 
> Here is the script:
> 
> #!/bin/sh
> nl='
> '
> sed_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
> for ac_i in 1 2 3 4 5 6 7; do
>     sed_script="$sed_script$nl$sed_script"
> done
> echo "$sed_script" 2>/dev/null | sed 99q >conftest.sed
> 
> repeats=8
> count=0
> echo -n 0123456789 >"conftest.in"
> while :
> do
>     cat "conftest.in" "conftest.in" >"conftest.tmp"
>     mv "conftest.tmp" "conftest.in"
>     cp "conftest.in" "conftest.nl"
>     echo '' >> "conftest.nl"
>     sed -f conftest.sed < "conftest.nl" >"conftest.out" 2>/dev/null || break
>     diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
>     count=$(($count + 1))
>     echo "count: $count"
>     # 10*(2^10) chars as input seems more than enough
>     test $count -gt $repeats && break
> done
> rm -f conftest.in conftest.tmp conftest.nl conftest.out

. . . (history removed) . . .

# uname -apKU
FreeBSD amd64-ZFS 15.0-CURRENT FreeBSD 15.0-CURRENT amd64 1500000 #0 main-n265205-03a7c36ddbc0: Thu Sep  7 03:10:34 UTC 2023     root@releng3.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64 amd64 1500000 1500000

In my test environment with yesterday's snapshot kernel
in use and with vfs.zfs.bclone_enabled=1 :

# ~/bclone_panic.sh
count: 1
count: 2
count: 3
count: 4
count: 5
count: 6
count: 7
count: 8

then panic: no 9.


===
Mark Millard
marklmi at yahoo.com



home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?62BE6390-3893-4909-B5A0-A98015FF5083>