Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 09 Jun 2023 22:33:01 +0000
From:      bugzilla-noreply@freebsd.org
To:        ports-bugs@FreeBSD.org
Subject:   [Bug 271927] benchmarks/fio: fio 3.35 segfaults with external I/O engine
Message-ID:  <bug-271927-7788@https.bugs.freebsd.org/bugzilla/>

next in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D271927

            Bug ID: 271927
           Summary: benchmarks/fio: fio 3.35 segfaults with external I/O
                    engine
           Product: Ports & Packages
           Version: Latest
          Hardware: amd64
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: krion@FreeBSD.org
          Reporter: asomers@FreeBSD.org
             Flags: maintainer-feedback?(krion@FreeBSD.org)
          Assignee: krion@FreeBSD.org

When using the external I/O engine, the latest fio-3.35 package from the
official package server immediately segfaults on 14.0-CURRENT amd64.  But it
does NOT segfault on 13-STABLE, or if I rebuild fio-3.35 locally either from
ports, with Poudriere, or directly from fio's git repo.

I am not well-equipped to determine the difference between the official pac=
kage
and the locally built one, but I can do any experiments that the maintainer
suggests.

Steps to Reproduce on 14.0-CURRENT amd64
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D

pkg install -y c-blosc isa-l fio fusefs-libs llvm pkgconf
fetch https://sh.rustup.rs -o rustup.sh
sh rustup.sh -y --profile=3Dminimal
$HOME/.cargo/bin/rustup toolchain install nightly
sysctl vfs.aio.enable_unsafe=3D1   # Not sure if this part is necessary
. $HOME/.cargo/env
git clone git@github.com:bfffs/bfffs.git
cd bfffs
cargo +nightly build --all-features --all
truncate -s 1g /tmp/bfffs.img
cargo +nightly run --all-features --bin bfffs -- pool create testpool
/tmp/bfffs.img
fio bfffs-fio/data/ci.fio

Output
=3D=3D=3D=3D=3D=3D
fio_test_file: (g=3D0): rw=3Drw, bs=3D(R) 128KiB-128KiB, (W) 128KiB-128KiB,=
 (T)
128KiB-128KiB, ioengine=3Dbfffs, iodepth=3D4
fio-3.35
Starting 1 thread
fish: Job 1, 'fio bfffs-fio/data/ci.fio' terminated by signal SIGSEGV (Addr=
ess
boundary error)

Analysis
=3D=3D=3D=3D=3D=3D=3D=3D

The segfault happens in the ioengine's "init" method, where the thread_data=
's
".eo" field is NULL.  So it doesn't seem timing-related.  And it's 100%
reproducible.  And every alternative way I can find to rebuild fio fixes the
crash, so it seems like there's something wrong with the package.

--=20
You are receiving this mail because:
You are the assignee for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-271927-7788>