Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 922526 - net-libs/webkit-gtk-2.42.4-r600: crash in late build phase due to SIGILL in libatomic.so
Summary: net-libs/webkit-gtk-2.42.4-r600: crash in late build phase due to SIGILL in l...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-01-20 11:41 UTC by satmd
Modified: 2024-01-31 20:10 UTC (History)
2 users (show)

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


Attachments
build.log for -r410 (file is broken) (build.log.xz,125.68 KB, application/x-xz)
2024-01-20 11:44 UTC, satmd
Details
build.log (xz) of net-libs/webkit-gtk-2.42.4-r600 (build.log.xz,335.19 KB, application/x-xz)
2024-01-21 23:32 UTC, satmd
Details
failed command (failed_cmd.sh,24.63 KB, application/x-shellscript)
2024-01-21 23:49 UTC, satmd
Details

Note You need to log in before you can comment on or make changes to this bug.
Description satmd 2024-01-20 11:41:46 UTC
I'm trying to build webkit-gtk 2.42.4 on my (older) laptop. It crashes at the very end of the build while trying to execute Webkit-6.0 on dump.xml.

dmesg reports a crash in libatomic which belongs to gcc.

I'm having this problem with -r410 and -r600, I set the subject to -r410 because that's what the build.log belongs to

Reproducible: Always

Steps to Reproduce:
1. emerge -1 webgit-gtk
2. wait a long time
3. notice a failed build and messages in dmesg
Actual Results:  
Build process is unsuccessfull

Expected Results:  
Build process is successfull

Portage 3.0.61 (python 3.11.7-final-0, default/linux/amd64/17.1/hardened, gcc-13, glibc-2.38-r9, 6.6.10-gentoo x86_64)
=================================================================
System uname: Linux-6.6.10-gentoo-x86_64-Intel-R-_Core-TM-_i7-6700HQ_CPU_@_2.60GHz-with-glibc2.38
KiB Mem:    16220480 total,   2335756 free
KiB Swap:          0 total,         0 free
Timestamp of repository gentoo: Fri, 19 Jan 2024 02:00:01 +0000
Head commit of repository gentoo: b937b6c90a9f028eb71fcb1d75a6fdb1f8377961
Head commit of repository brother-overlay: 0d059637b01926488e1eedfa078323f6e48a6130

Head commit of repository guru: 525ae37dc260121a9cff2d975b77ef5c55dce32d

Head commit of repository pf4public: a18055240815fbdc692df0614fe93172f4784b93

Head commit of repository satmd: 14b9db2fe8726b6bd17d95629fa8322e164f59cb

Head commit of repository steam-overlay: de98a6015a167bdc979fc5325752692b5179a2fc

Head commit of repository torbrowser: dbd1f8d1470ce8fe22936b7d01f178d35933e8ec

sh bash 5.2_p26
ld GNU ld (Gentoo 2.41 p4) 2.41.0
distcc 3.4 x86_64-pc-linux-gnu [enabled]
ccache version 4.9 [enabled]
app-misc/pax-utils:        1.3.7::gentoo
app-shells/bash:           5.2_p26::gentoo
dev-build/autoconf:        2.13-r8::gentoo, 2.71-r7::gentoo, 2.72-r1::gentoo
dev-build/automake:        1.16.5-r1::gentoo
dev-build/cmake:           3.28.1-r1::gentoo
dev-build/libtool:         2.4.7-r2::gentoo
dev-build/make:            4.4.1-r1::gentoo
dev-build/meson:           1.3.1-r1::gentoo
dev-java/java-config:      2.3.3-r1::gentoo
dev-lang/perl:             5.38.2-r1::gentoo
dev-lang/python:           3.11.7::gentoo, 3.12.1_p1::gentoo
dev-lang/rust:             1.74.1::gentoo
dev-util/ccache:           4.9::gentoo
sys-apps/baselayout:       2.14-r1::gentoo
sys-apps/openrc:           0.53::gentoo
sys-apps/sandbox:          2.38::gentoo
sys-devel/binutils:        2.41-r4::gentoo
sys-devel/binutils-config: 5.5::gentoo
sys-devel/clang:           16.0.6::gentoo, 17.0.6::gentoo
sys-devel/gcc:             13.2.1_p20240113-r1::gentoo
sys-devel/gcc-config:      2.11::gentoo
sys-devel/lld:             16.0.6::gentoo, 17.0.6::gentoo
sys-devel/llvm:            16.0.6::gentoo, 17.0.6::gentoo
sys-kernel/linux-headers:  6.6::gentoo (virtual/os-headers)
sys-libs/glibc:            2.38-r9::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: ssh://gentoo@portage.satmd.de/gentoo-portage
    priority: -1000
    volatile: True
    sync-rsync-extra-opts:
    sync-rsync-verify-max-age: 3
    sync-rsync-verify-jobs: 1
    sync-rsync-verify-metamanifest: yes

brother-overlay
    location: /var/lib/portage/repositories/brother
    sync-type: git
    sync-uri: https://github.com/stefan-langenmaier/brother-overlay.git
    masters: gentoo
    volatile: True

custom
    location: /var/lib/portage/repositories/custom
    masters: gentoo
    volatile: True

guru
    location: /var/lib/portage/repositories/guru
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/repo/proj/guru.git
    masters: gentoo
    volatile: True

pf4public
    location: /var/lib/portage/repositories/pf4public
    sync-type: git
    sync-uri: https://github.com/PF4Public/gentoo-overlay
    masters: gentoo
    volatile: True

satmd
    location: /var/lib/portage/repositories/satmd
    sync-type: git
    sync-uri: https://git.satmd.de/projects/gentoo/portage-overlay/
    masters: gentoo
    volatile: True

steam-overlay
    location: /var/lib/portage/repositories/steam
    sync-type: git
    sync-uri: https://github.com/anyc/steam-overlay/
    masters: gentoo
    volatile: True

torbrowser
    location: /var/lib/portage/repositories/torbrowser
    sync-type: git
    sync-uri: https://github.com/MeisterP/torbrowser-overlay.git
    masters: gentoo
    volatile: True

Binary Repositories:

binhost
    priority: 10
    sync-uri: https://portage.satmd.de/portage/packages

Installed sets: @satmd
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/maven-bin-3.9/conf"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php8.2/ext-active/ /etc/php/apache2-php8.3/ext-active/ /etc/php/cgi-php8.2/ext-active/ /etc/php/cgi-php8.3/ext-active/ /etc/php/cli-php8.2/ext-active/ /etc/php/cli-php8.3/ext-active/ /etc/php/fpm-php8.2/ext-active/ /etc/php/fpm-php8.3/ext-active/ /etc/php/phpdbg-php8.2/ext-active/ /etc/php/phpdbg-php8.3/ext-active/ /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="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=y --keep-going --with-bdeps=y --binpkg-respect-use=y"
ENV_UNSET="CARGO_HOME DBUS_SESSION_BUS_ADDRESS DISPLAY GDK_PIXBUF_MODULE_FILE 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 XDG_STATE_HOME"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs binpkg-multi-instance buildpkg-live buildsyspkg ccache config-protect-if-modified distcc distlocks downgrade-backup ebuild-locks fail-clean fakeroot fixlafiles getbinpkg ipc-sandbox merge-sync multilib-strict network-sandbox news noinfo parallel-fetch parallel-install pid-sandbox pkgdir-index-trusted preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LEX="flex"
MAKEOPTS="-j2 -s"
PKGDIR="/usr/portage/packages"
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"
SHELL="/bin/bash"
USE="X a52 acl alsa amd64 audit build_options_symbols=strip bzip2 caps cet cjk cli crypt dracut_modules_caps dracut_modules_crypt dracut_modules_lvm dracut_modules_plymouth dri dts elogind flac gdbm gif hardened iconv idn ipv6 jpeg libtirpc linguas_de linguas_en mng mp3 mpeg multilib ncurses nls ogg opengl openmp pam pcre pic pie pipewire png privsep pulseaudio readline seccomp split-usr ssl ssp svg test-rust threads tiff truetype unicode vaapi vdpau vorbis wayland x264 x265 xa xattr xcb xinerama xorg xtpax xv xvid xvmc zlib" ABI_X86="64" ADA_TARGET="gnat_2021" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_anon authn_dbm authn_file authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir env expires ext_filter file_cache filter headers include info log_config logio 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="ntrip sirf nmea" GRUB_PLATFORMS="efi-64 pc" INPUT_DEVICES="libinput evdev" KERNEL="linux" L10N="de en" LCD_DEVICES="bayrad cfontz glk hd44780 lb216 lcdm001 mtxorb text" LUA_SINGLE_TARGET="lua5-1" LUA_TARGETS="lua5-1" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php8-1" POSTGRES_TARGETS="postgres15" PYTHON_SINGLE_TARGET="python3_11" PYTHON_TARGETS="python3_11 python3_7" RUBY_TARGETS="ruby31" SANE_BACKENDS="net" VIDEO_CARDS="intel nouveau d3d12 nvidia virgl" XTABLES_ADDONS="quota2 psd lscan length2 ipv4options ipp2p iface geoip fuzzy condition tarpit sysrq proto ipmark dhcpmac delude chaos"
Unset:  ADDR2LINE, AR, ARFLAGS, AS, ASFLAGS, CC, CCLD, CONFIG_SHELL, CPP, CPPFLAGS, CTARGET, CXX, CXXFILT, ELFEDIT, EXTRA_ECONF, F77FLAGS, FC, GCOV, GPROF, INSTALL_MASK, LC_ALL, LD, LFLAGS, LIBTOOL, LINGUAS, MAKE, MAKEFLAGS, NM, OBJCOPY, OBJDUMP, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PYTHONPATH, RANLIB, READELF, RUSTFLAGS, SIZE, STRINGS, STRIP, YACC, YFLAGS
Comment 1 satmd 2024-01-20 11:44:48 UTC
Created attachment 882681 [details]
build.log for -r410 (file is broken)
Comment 2 satmd 2024-01-20 11:45:52 UTC
dmesgs from attempts with -r410 (WebKit-2.4.1) and -r600 (WebKit-6.0):

[ 9275.775625] traps: WebKit-6.0[14581] trap invalid opcode ip:7f484fc853c4 sp:7fffdf6c3ee8 error:0 in libatomic.so.1.2.0[7f484fc83000+3000]
[138650.963824] traps: WebKit2-4.1[22115] trap invalid opcode ip:7f7dfa8ad3c4 sp:7fff7e477eb8 error:0 in libatomic.so.1.2.0[7f7dfa8ab000+3000]
[221134.185616] traps: WebKit-6.0[2303] trap invalid opcode ip:7fca35c5d3c4 sp:7fff4009a658 error:0 in libatomic.so.1.2.0[7fca35c5b000+3000]
[729778.098678] traps: WebKit2-4.1[10057] trap invalid opcode ip:7fcc35eaa3c4 sp:7ffdec038a98 error:0 in libatomic.so.1.2.0[7fcc35ea8000+3000]
Comment 3 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-01-20 14:27:09 UTC
can you run the failing command manually in the build dir under gdb and get a bt and disassembly? Thanks
Comment 4 satmd 2024-01-21 23:31:42 UTC
As I said in the chat today, a cronjob started building webkit-gtk again which causes build.log to be truncated. I will provide new log and try gdb when the build fails again. Sorry, building webkit-gtk on this machine takes a while.
Comment 5 satmd 2024-01-21 23:32:19 UTC
Created attachment 882806 [details]
build.log (xz) of net-libs/webkit-gtk-2.42.4-r600
Comment 6 satmd 2024-01-21 23:49:52 UTC
Created attachment 882807 [details]
failed command

I'm unable to provide gdb with an exact stable command, because something is being dynamically created during the command leading up to the SIGILL situation.

I have been able to pinpoint the command during the build that will have the SIGILL in one of its child processes.

I'm able to run that command through strace and through "gdb sh", but they don't provide useful information.

There's a hint though at the children switching to 32bit mode. I noticed having "Disable 32 bit vdso" in my kernel and try toggling this.

Also using CFLAGS+=" -g " next time.
Comment 7 satmd 2024-01-21 23:50:35 UTC
Also updated the bug description to -r600, because I'm now debugging using the latest version again.
Comment 8 satmd 2024-01-31 20:08:00 UTC
I have been able to solve this - kinda.

The solution was actually found when another package failed: gimp.

gimp build crashes in gegl-0.4 and since I had a persistent binary on my file system, I could run debugging on it.

This turned up some results in the web search related to a kernel option that seems highly unstable with certain software.

Unsetting CONFIG_GDS_FORCE_MITIGATION in my kernel allows me to continue further in the build of gimp.

I will give feedback after I have attempted another build of webkit-gtk. I expect that to succeed now.

Question: Should we warn about that kernel option when building webkit and/or software which need gegl binaries to build?
Comment 9 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2024-01-31 20:10:31 UTC
You probably built your system with -march=native, which includes AVX, then you built a kernel using forced mitigations, and then suddenly binaries needing AVX stop working.