NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: kern/57024: panic: solaris assert: arc_decompress(buf) == 0 (0x5 == 0x0), f ile: /home/riastradh/netbsd/current/src/sys/../external/cddl/osnet/dist/uts/common/fs/zfs/arc.c, line: 4962
The following reply was made to PR kern/57024; it has been noted by GNATS.
From: Harold Gutch <logix%foobar.franken.de@localhost>
To: gnats-bugs%NetBSD.org@localhost
Cc:
Subject: Re: kern/57024: panic: solaris assert: arc_decompress(buf) == 0 (0x5 == 0x0), f ile: /home/riastradh/netbsd/current/src/sys/../external/cddl/osnet/dist/uts/common/fs/zfs/arc.c, line: 4962
Date: Sun, 25 Sep 2022 14:52:17 +0200
On Sun, Sep 25, 2022 at 07:15:01AM +0000, campbell+netbsd%mumble.net@localhost wrote:
> (gdb) print *buf->b_hdr
> [...]
> b_lsize = 2
According to src/external/cddl/osnet/dist/uts/common/fs/zfs/arc.c this
is in units of SPA_MINBLOCKSIZE and means the decompressed buffer is
1024 bytes. If I decompress to a 1024 byte buffer, lz4_decompress()
returns 1 for me, but the actual target size seems to be 1152, for a
target buffer of (at least) that size, lz4_decompress() returns 0 and
I get (beyond your 1024 bytes):
00000400 a4 fa 0f 00 00 00 00 80 00 00 00 00 00 00 69 71 ..............iq
00000410 32 30 30 30 2e 6f 70 74 00 00 00 00 00 00 00 00 2000.opt........
00000420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000430 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
00000440 92 fa 0f 00 00 00 00 80 00 00 00 00 00 00 69 71 ..............iq
00000450 32 30 30 30 2d 70 72 6f 74 6f 73 2e 68 00 00 00 2000-protos.h...
00000460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
(and all zeros after this).
So I think b_lsize here should probably be (at least) 3. Where/how is
this value set?
Harold
Home |
Main Index |
Thread Index |
Old Index