Project

General

Profile

Actions

Bug #16066

open

zfs: assertion failed in arc_cksum_is_equal()

Added by Toomas Soome 13 days ago. Updated about 12 hours ago.

Status:
Pending RTI
Priority:
Normal
Assignee:
Category:
zfs - Zettabyte File System
Start date:
Due date:
% Done:

90%

Estimated time:
Difficulty:
Medium
Tags:
Gerrit CR:
External Bug:

Description

While running 'zfstest -T compression', the kernel got panic:

> ::status
debugging crash dump vmcore.0 (64-bit) from test
operating system: 5.11 master-0-g4634152cb6c (i86pc)
build version: heads/master-0-g4634152cb6c

image uuid: d1a5adc5-3dc9-42b0-9f49-cd814352cda3
panic message: assertion failed: ((enum zio_compress)((((hdr)->b_flags) >> ((highbit64(ARC_FLAG_COMPRESS_0) - 1))) & ((1U << (7)) - 1))) == ZIO_COMPRESS_OFF (0xf == 0x2), file: ../../common/fs/zfs/arc.c, line: 1354
dump content: kernel pages only
> ::stack
vpanic()
0xfffffffffbdcca91()
arc_cksum_is_equal+0x200(fffffe09040f08e0, fffffe06567ae9c0)
l2arc_read_done+0x296(fffffe06567ae9c0)
zio_done+0x53c(fffffe06567ae9c0)
zio_execute+0x105(fffffe06567ae9c0)
taskq_thread+0x2ee(fffffe0698916c50)
thread_start+0xb()

It appears, the related code was removed in OpenZFS by 'Native Encryption for ZFS on Linux' update, however, for some reason, it is still there in our tree. But of course, this is just question resulting from quick code compare and more investigation is needed.

With arc_cksum_is_equal() changed to match OpenZFS, the compression tests do not end up with panic:

tsoome@test:~$ /opt/zfs-tests/bin/zfstest -T compression
Test: /opt/zfs-tests/tests/functional/compression/setup (run as root) [08:18] [PASS]
Test: /opt/zfs-tests/tests/functional/compression/compress_001_pos (run as root) [01:05] [PASS]
Test: /opt/zfs-tests/tests/functional/compression/compress_002_pos (run as root) [01:05] [PASS]
Test: /opt/zfs-tests/tests/functional/compression/compress_003_pos (run as root) [00:13] [PASS]
Test: /opt/zfs-tests/tests/functional/compression/compress_004_pos (run as root) [01:01] [PASS]
Test: /opt/zfs-tests/tests/functional/compression/l2arc_compressed_arc (run as root) [10:40] [PASS]
Test: /opt/zfs-tests/tests/functional/compression/l2arc_compressed_arc_disabled (run as root) [00:38] [PASS]
Test: /opt/zfs-tests/tests/functional/compression/cleanup (run as root) [00:00] [PASS]

Results Summary
PASS       8

Running Time:   00:23:05
Percent passed: 100.0%
Log directory:  /var/tmp/test_results/20231118T205952
tsoome@test:~$ /opt/zfs-tests/bin/zfstest

The OpenZFS issue is https://github.com/openzfs/zfs/commit/b52563034230b35f0562b6f40ad1a00f02bd9a05 and arc_cksum_is_equal() is in arc.c


Related issues

Related to illumos gate - Feature #8727: Native data and metadata encryption for zfsClosedJerry Jelinek2017-10-21

Actions
Actions #1

Updated by Toomas Soome 13 days ago

  • Related to Feature #8727: Native data and metadata encryption for zfs added
Actions #2

Updated by Toomas Soome 13 days ago

  • Description updated (diff)
Actions #3

Updated by Electric Monk 13 days ago

  • Gerrit CR set to 3141
Actions #4

Updated by Toomas Soome 10 days ago

  • Description updated (diff)
Actions #5

Updated by Toomas Soome about 12 hours ago

  • Status changed from New to Pending RTI
  • Assignee set to Toomas Soome
  • % Done changed from 0 to 90
Actions

Also available in: Atom PDF