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