too long lines were shrinked: Running `rustc --crate-name futures --edition=2018 /var/tmp/portage/app-emulation/virtiofsd-1.5.1/work/cargo_home/gentoo/futures-0.3.21/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linke Running `rustc --crate-name libseccomp_sys --edition=2018 /var/tmp/portage/app-emulation/virtiofsd-1.5.1/work/cargo_home/gentoo/libseccomp-sys-0.2.1/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-lev Running `rustc --crate-name capng --edition=2018 /var/tmp/portage/app-emulation/virtiofsd-1.5.1/work/cargo_home/gentoo/capng-0.2.2/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plu Compiling virtiofsd v1.5.1 (/var/tmp/portage/app-emulation/virtiofsd-1.5.1/work/virtiofsd-v1.5.1) Running `rustc --crate-name virtiofsd --edition=2018 src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C linker-plugin-lto -C metadata=54fa35c976570f46 -C extra-filename=-54fa35c976570f46 --out Running `rustc --crate-name virtiofsd --edition=2018 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto -C metadata=13d0bde39de23f28 -C extra-filename=-13d0bde39de23f28 --out-dir /var/tmp/portage/ rustc: /var/tmp/portage/dev-lang/rust-1.70.0/work/rustc-1.70.0-src/src/llvm-project/llvm/lib/Analysis/InstructionPrecedenceTracking.cpp:97: void llvm::InstructionPrecedenceTracking::validate(const llvm::BasicBlock*) const: Assertion `It->second == nullptr && "Block is marked as having special instru error: could not compile `virtiofsd` (bin "virtiofsd") ------------------------------------------------------------------- This is an unstable amd64 chroot image at a tinderbox (==build bot) name: 17.1-j5-20230602-204005 ------------------------------------------------------------------- gcc-config -l: [1] x86_64-pc-linux-gnu-13 * clang/llvm (if any): clang version 16.0.5 Target: x86_64-pc-linux-gnu Thread model: posix InstalledDir: /usr/lib/llvm/16/bin Configuration file: /etc/clang/clang.cfg /usr/lib/llvm/16 16.0.5 Python 3.11.4 Available Ruby profiles: [1] ruby31 (with Rubygems) * Available Rust versions: [1] rust-bin-1.69.0 [2] rust-1.70.0 * The following VMs are available for generation-2: 1) OpenJDK 17.0.6_p10 [openjdk-17] 2) Eclipse Temurin JDK 17.0.6_p10 [openjdk-bin-17] *) Eclipse Temurin JDK 8.362_p09 [openjdk-bin-8] Available Java Virtual Machines: [1] openjdk-17 [2] openjdk-bin-8 system-vm [3] openjdk-bin-17 php cli (if any): go version go1.20.5 linux/amd64 HEAD of ::gentoo commit 5f7e8c6a3e0806872e30a4798a8ebef872bbe4db Author: Repository mirror & CI <repomirrorci@gentoo.org> Date: Wed Jun 7 22:32:04 2023 +0000 2023-06-07 22:32:03 UTC emerge -qpvO app-emulation/virtiofsd [ebuild N ] app-emulation/virtiofsd-1.5.1 USE="-debug"
Created attachment 863531 [details] emerge-info.txt
Created attachment 863532 [details] app-emulation:virtiofsd-1.5.1:20230608-014058.log
Created attachment 863533 [details] emerge-history.txt.xz
Created attachment 863534 [details] environment
Created attachment 863535 [details] etc.clang.tar.xz
Created attachment 863536 [details] etc.portage.tar.xz
Created attachment 863537 [details] temp.tar.xz
same issue on 1.6.1: Running `rustc --crate-name virtiofsd --edition=2018 src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C lto -C metadata=0f78cea97902091d -C extra-filename=-0f78cea97902091d --out-dir /dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps -L dependency=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps --extern bitflags=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/libbitflags-96f0feeca24d827f.rlib --extern capng=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/libcapng-4be3f84d1c5b54aa.rlib --extern env_logger=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/libenv_logger-0d9c52ba83a07c7a.rlib --extern futures=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/libfutures-6cbd4acfd8507ee4.rlib --extern libc=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/liblibc-b044a16ae3647b5b.rlib --extern libseccomp_sys=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/liblibseccomp_sys-457ae6e1d60c30a3.rlib --extern log=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/liblog-e092b0e35e95edbe.rlib --extern structopt=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/libstructopt-b3e1a843b5cfd598.rlib --extern syslog=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/libsyslog-bb6ec72c95605d00.rlib --extern vhost=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/libvhost-186f0de368620f3e.rlib --extern vhost_user_backend=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/libvhost_user_backend-109c9a8600bf1039.rlib --extern virtio_bindings=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/libvirtio_bindings-fc6a537af902f61f.rlib --extern virtio_queue=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/libvirtio_queue-a27b713ce32c31e0.rlib --extern virtiofsd=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/libvirtiofsd-95b20c1d1b921960.rlib --extern vm_memory=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/libvm_memory-5421d3176b3fc7ac.rlib --extern vmm_sys_util=/dev/shm/portage/app-emulation/virtiofsd-1.6.1/work/virtiofsd-v1.6.1/target/release/deps/libvmm_sys_util-556c90daff29e627.rlib` rustc: /dev/shm/portage/dev-lang/rust-1.70.0/work/rustc-1.70.0-src/src/llvm-project/llvm/lib/Analysis/InstructionPrecedenceTracking.cpp:97: void llvm::InstructionPrecedenceTracking::validate(const llvm::BasicBlock*) const: Assertion `It->second == nullptr && "Block is marked as having special instructions but in fact it has " "none!"' failed. error: could not compile `virtiofsd` (bin "virtiofsd")
Created attachment 865446 [details] app-emulation/virtiofsd-1.6.1/temp/build.log
I'm wondering whether this is a bug in virtiofsd or in fact rustc/llvm, given the hard failure (basically assertion inside llvm): rustc: /dev/shm/portage/dev-lang/rust-1.70.0/work/rustc-1.70.0-src/src/llvm-project/llvm/lib/Analysis/InstructionPrecedenceTracking.cpp:97: void llvm::InstructionPrecedenceTracking::validate(const llvm::BasicBlock*) const: Assertion `It->second == nullptr && "Block is marked as having special instructions but in fact it has " "none!"' failed.
Having the same issue. Is there a known workaround?
(In reply to r7l from comment #11) > Having the same issue. Is there a known workaround? as I know no, this issue is still present on 1.6.x, maybe we need to wait for 1.7.x (upstream has already been released 1.7.2)
*** Bug 913392 has been marked as a duplicate of this bug. ***
dupe bug 913392 has a report of this w/ virtiofsd-1.6.1-r1 + rust-1.72 (!) this needs an upstream Rust report
(In reply to Sam James from comment #14) > dupe bug 913392 has a report of this w/ virtiofsd-1.6.1-r1 + rust-1.72 (!) > > this needs an upstream Rust report Should this be a bug report with Rust or is it limited to virtiofsd?
I think it's a bug in Rust for it to assert when building any Rust - even if it's invalid Rust code (it would give a real error in that case, but I don't think this Rust is invalid anyway).
It may actually be a bug in LLVM. The only reference that I could find to it in the Rust issues is: https://github.com/rust-lang/rust/issues/98076 which references an LLVM bug (that has already been closed).
Follow-on: it seems like the error is stemming from around line 97 of: https://llvm.org/doxygen/InstructionPrecedenceTracking_8cpp_source.html
It may well be an LLVM bug fwiw but it's not really our problem to determine if Rust is passing something invalid to LLVM or if LLVM is doing something wrong - that's Rust upstream's job. Yeah, I came across that one but the fix there seems to have landed in upstream LLVM long ago. There's a chance it's fixed in Rust's bundled LLVM which has patches on top of LLVM - has anyone reproduced this using either rust-bin or rust[-system-llvm]?
(In reply to Sam James from comment #19) > It may well be an LLVM bug fwiw but it's not really our problem to determine > if Rust is passing something invalid to LLVM or if LLVM is doing something > wrong - that's Rust upstream's job. > > Yeah, I came across that one but the fix there seems to have landed in > upstream LLVM long ago. > > There's a chance it's fixed in Rust's bundled LLVM which has patches on top > of LLVM - has anyone reproduced this using either rust-bin or > rust[-system-llvm]? but I've successfully built virtiofsd 1.7.2 with rust 1.71, maybe we can bump to that version?
Have you tried building virtiofsd-1.7.2 with rust 1.72.0?
Temporarily keywording the live package: >>> # cat /etc/portage/package.accept_keywords =app-emulation/virtiofsd-9999 ** >>> allows it to build successfully with =dev-lang/rust-1.72.0. As such, I think the proper solution here is to get =app-emulation/virtiofsd-1.7.2 bumped and into ~arch.
(In reply to Nathan Zachary from comment #21) > Have you tried building virtiofsd-1.7.2 with rust 1.72.0? yes, I've compiled it with rust 1.72 If you want I have published virtiofsd-1.7.2 ebuild on my overlay amedeos[0] (after gentoo repo bump to this, or greater version I'll remove it) [0] https://github.com/amedeos/amedeos-overlay/blob/master/app-emulation/virtiofsd/virtiofsd-1.7.2.ebuild
(In reply to Nathan Zachary from comment #22) > Temporarily keywording the live package: > > >>> > # cat /etc/portage/package.accept_keywords > =app-emulation/virtiofsd-9999 ** > >>> > > allows it to build successfully with =dev-lang/rust-1.72.0. As such, I > think the proper solution here is to get =app-emulation/virtiofsd-1.7.2 > bumped and into ~arch. Workaround, but yes.
1.8.0 was just released as well: https://gitlab.com/virtio-fs/virtiofsd/-/releases/v1.8.0
Posted rebase for 1.8.0 here: https://github.com/gentoo/gentoo/pull/32647
The bug has been closed via the following commit(s): https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ea202c6f26e0e81ad8e5ba4c433d15e6692b4f8b commit ea202c6f26e0e81ad8e5ba4c433d15e6692b4f8b Author: Michal Privoznik <michal.privoznik@gmail.com> AuthorDate: 2023-09-06 08:08:57 +0000 Commit: Sam James <sam@gentoo.org> CommitDate: 2023-09-06 09:05:44 +0000 app-emulation/virtiofsd: Add 1.8.0 Closes: https://bugs.gentoo.org/908047 Signed-off-by: Michal Privoznik <michal.privoznik@gmail.com> Closes: https://github.com/gentoo/gentoo/pull/32647 Signed-off-by: Sam James <sam@gentoo.org> app-emulation/virtiofsd/Manifest | 43 +++++++ app-emulation/virtiofsd/virtiofsd-1.8.0.ebuild | 148 +++++++++++++++++++++++++ 2 files changed, 191 insertions(+)