Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 813954 - dev-lang/rust-1.55.0 Deadlock handler panic when parallel-compiler USE flag enabled
Summary: dev-lang/rust-1.55.0 Deadlock handler panic when parallel-compiler USE flag e...
Status: RESOLVED CANTFIX
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Georgy Yakovlev
URL: https://github.com/rust-lang/rust/iss...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-09-20 01:08 UTC by Nathan Withers
Modified: 2022-12-16 19:51 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info, offending rust input file, and full backtrace (files.zip,5.77 KB, application/zip)
2021-09-20 01:08 UTC, Nathan Withers
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nathan Withers 2021-09-20 01:08:06 UTC
Created attachment 740193 [details]
emerge --info, offending rust input file, and full backtrace

emerge --info output, box1.rs which caused the panic, and a full backtrace are attached in files.zip 

### Steps to reproduce

curl -L ht tps://git.io/install-rustlings | bash
cd rustlings
rustlings run box1

### Use flags
gentoo /etc/portage # grep 'rust' package.use/world
# required for rust
dev-lang/rust clippy nightly parallel-compiler rls rustfmt abi_x86_64

### Meta

rustc --version --verbose:

rustc 1.55.0-nightly (gentoo)
binary: rustc
commit-hash: unknown
commit-date: unknown
host: x86_64-unknown-linux-gnu
release: 1.55.0-nightly
LLVM version: 12.0.1


### Error output

✓ Successfully tested exercises/quiz3.rs
! Compiling of exercises/standard_library_types/box1.rs failed! Please try again. Here's the output:
thread '<unnamed>' panicked at 'WorkerLocal can only be used on the thread pool it was created on', /rustc/1.55.0/vendor/rustc-rayon-core/src/worker_local.rs:49:17
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: <URL omitted>

note: rustc 1.55.0-nightly (gentoo) running on x86_64-unknown-linux-gnu

query stack during panic:
end of query stack
deadlock handler panicked, aborting process
Comment 1 Nathan Withers 2021-09-20 01:11:22 UTC
Portage 3.0.23 (python 3.9.7-final-0, default/linux/amd64/17.1/desktop, gcc-11.2.0, glibc-2.33-r1, 5.14.5-gentoo-x86_64 x86_64)
=================================================================
System uname: Linux-5.14.5-gentoo-x86_64-x86_64-AMD_Ryzen_9_3900X_12-Core_Processor-with-glibc2.33
KiB Mem:    65803444 total,  41777516 free
KiB Swap:    2097148 total,   2097148 free
Timestamp of repository gentoo: Mon, 20 Sep 2021 00:00:01 +0000
Head commit of repository gentoo: 8822b5327ccaf55bf073409ec566781cbf1482f7
Head commit of repository steam-overlay: d90ce0627d7c30027f4971dce6f67f22abd71e6d

sh bash 5.1_p8
ld GNU ld (Gentoo 2.37_p1 p0) 2.37
app-shells/bash:          5.1_p8::gentoo
dev-java/java-config:     2.3.1::gentoo
dev-lang/perl:            5.34.0-r2::gentoo
dev-lang/python:          2.7.18_p13::gentoo, 3.9.7::gentoo, 3.10.0_rc2::gentoo
dev-lang/rust:            1.55.0::gentoo
dev-util/cmake:           3.21.2::gentoo
sys-apps/baselayout:      2.7-r3::gentoo
sys-apps/openrc:          0.44.4::gentoo
sys-apps/sandbox:         2.25::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.71-r1::gentoo
sys-devel/automake:       1.16.4::gentoo
sys-devel/binutils:       2.37_p1::gentoo
sys-devel/gcc:            8.5.0-r1::gentoo, 11.2.0::gentoo
sys-devel/gcc-config:     2.4::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.14::gentoo (virtual/os-headers)
sys-libs/glibc:           2.33-r1::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: rsync
    sync-uri: rs ync://rsync.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: 
    sync-rsync-verify-max-age: 24
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-metamanifest: yes

steam-overlay
    location: /usr/local/portage/steam-overlay
    sync-type: git
    sync-uri: ht tps://github.com/anyc/steam-overlay.git
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/easy-rsa /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS="-march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-march=native -O2 -pipe"
GENTOO_MIRRORS="ht tp://www.gtlib.gatech.edu/pub/gentoo rs ync://rsync.gtlib.gatech.edu/gentoo ht tps://gentoo.osuosl.org/ ht tp://gentoo.osuosl.org/ ht tps://mirrors.rit.edu/gentoo/ ht tp://mirrors.rit.edu/gentoo/ ft p://mirrors.rit.edu/gentoo/ rs ync://mirrors.rit.edu/gentoo/"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j20"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 bash-completion bluetooth branding bzip2 cairo cdda cdr cjk cli crypt cups curl dbus dri dts dvd dvdr elogind emboss encode exif firefox flac fortran gdbm gif glib glut gpm gtk gui ibus iconv icu immqt-bc ipv6 java jpeg latex lcms libglvnd libnotify libtirpc lz4 mad mng modules mp3 mp4 mpeg multilib ncurses nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt5 readline sdl seccomp spell split-usr ssl startup-notification suid svg tcpd threads tiff truetype udev udisks unicdoe unicode upower usb vorbis vulkan wxwidgets x264 xattr xcb xinerama xml xv xvid zip zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="efi-64" INPUT_DEVICES="libinput" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-3 php7-4" POSTGRES_TARGETS="postgres12 postgres13" PYTHON_SINGLE_TARGET="python3_9" PYTHON_TARGETS="python3_9" RUBY_TARGETS="ruby26" USERLAND="GNU" VIDEO_CARDS="nvidia" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq proto steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, RUSTFLAGS
Comment 2 Georgy Yakovlev archtester gentoo-dev 2021-09-24 17:53:30 UTC
did previous versions work fine?
please open upstream issue about it, not much I can do.
if they have a patch I can probably add it.

But I really suggest not to rely on parallel-compiler, it's experimental and masked for a reason =)
Comment 3 Nathan Withers 2021-09-24 21:00:11 UTC
I had initially created an upstream bug ht tps://github.com/rust-lang/rust/issues/89108#issuecomment-922537950
Comment 4 Larry the Git Cow gentoo-dev 2021-09-30 03:47:42 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=828d6ee124ce4658465c26a9429bd06221cce3b7

commit 828d6ee124ce4658465c26a9429bd06221cce3b7
Author:     Georgy Yakovlev <gyakovlev@gentoo.org>
AuthorDate: 2021-09-30 03:46:25 +0000
Commit:     Georgy Yakovlev <gyakovlev@gentoo.org>
CommitDate: 2021-09-30 03:47:13 +0000

    dev-lang/rust: mention than parallel-compiler flag is experimental
    
    Bug: https://bugs.gentoo.org/813954
    Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>

 dev-lang/rust/metadata.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
Comment 5 Georgy Yakovlev archtester gentoo-dev 2021-09-30 03:48:48 UTC
I've added better description of the useflag for now.
Comment 6 Larry the Git Cow gentoo-dev 2021-10-07 15:58:41 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=25ec14cae2ed7886732cba4ba57f08124896e8a2

commit 25ec14cae2ed7886732cba4ba57f08124896e8a2
Author:     Georgy Yakovlev <gyakovlev@gentoo.org>
AuthorDate: 2021-10-07 15:54:32 +0000
Commit:     Georgy Yakovlev <gyakovlev@gentoo.org>
CommitDate: 2021-10-07 15:58:02 +0000

    profiles/base: mask rust[parallel-compiler]
    
    https://github.com/rust-lang/rust/issues/89108
    Closes: https://bugs.gentoo.org/813954
    Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>

 profiles/base/package.use.mask | 9 +++++++++
 1 file changed, 9 insertions(+)

Additionally, it has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=f5c9b3c808695302b7db8f1693e22bd5f0a543d3

commit f5c9b3c808695302b7db8f1693e22bd5f0a543d3
Author:     Georgy Yakovlev <gyakovlev@gentoo.org>
AuthorDate: 2021-10-07 15:55:26 +0000
Commit:     Georgy Yakovlev <gyakovlev@gentoo.org>
CommitDate: 2021-10-07 15:58:18 +0000

    profiles/base: remove rust[parallel-compiler] stable mask
    
    it's now masked completely, not just on stable
    
    https://github.com/rust-lang/rust/issues/89108
    Bug: https://bugs.gentoo.org/813954
    Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>

 profiles/base/package.use.stable.mask | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=770863afa7c9dad6cc01cb6ae40207f9ee2cd53d

commit 770863afa7c9dad6cc01cb6ae40207f9ee2cd53d
Author:     Georgy Yakovlev <gyakovlev@gentoo.org>
AuthorDate: 2021-10-07 15:50:02 +0000
Commit:     Georgy Yakovlev <gyakovlev@gentoo.org>
CommitDate: 2021-10-07 15:57:44 +0000

    dev-lang/rust: update metadata.xml parallel-compiler description
    
    https://github.com/rust-lang/rust/issues/89108
    Bug: https://bugs.gentoo.org/813954
    Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>

 dev-lang/rust/metadata.xml | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)