Bug#1005001: kernel: traps: boinccmd/boincmgr trap invalid opcode […] error:0 in libboinc.so.7.18.1/boincmgr

Bernhard Übelacker bernhardu at mailbox.org
Mon Mar 7 16:40:49 GMT 2022


Dear Maintainer,
I could reproduce this issue inside a minimal QEMU VM
with a CPU lacking the AVX instructions.

It looks like the patch new-autoconf-build-fix.patch introduced
adding of "-mavx" to CXXFLAGS flags.

Salsa already contains a patch [1] to remove that "-mavx":
   "Reversing -mavx for compatibility with older servers"

A package version containing this patch is not yet released.

Kind regards,
Bernhard


[1] https://salsa.debian.org/pkg-boinc-team/boinc/-/commit/a0611c2bc86864428337b07b382e4d5cf823b95d




-------------- next part --------------

# Bookworm/testing amd64 qemu VM 2022-03-07, -cpu core2duo-v1

apt update
apt dist-upgrade

apt install systemd-coredump gdb boinc-client boinc-client-dbgsym libboinc7-dbgsym
apt build-dep boinc





mkdir /home/benutzer/source/boinc/orig -p
cd    /home/benutzer/source/boinc/orig
apt source boinc
cd





benutzer at debian:~$ boinccmd
Ungültiger Maschinenbefehl (Speicherabzug geschrieben)



root at debian:~# dmesg -T
[Mo Mär  7 17:06:43 2022] traps: boinccmd[1136] trap invalid opcode ip:7f451608d53c sp:7ffed98c6ce0 error:0 in libboinc.so.7.18.1[7f4516071000+52000]



root at debian:~# coredumpctl list
TIME                         PID  UID  GID SIG    COREFILE EXE                SIZE
Mon 2022-03-07 17:06:43 CET 1136 1000 1000 SIGILL present  /usr/bin/boinccmd 43.7K



root at debian:~# coredumpctl gdb 1136
           PID: 1136 (boinccmd)
           UID: 1000 (benutzer)
           GID: 1000 (benutzer)
        Signal: 4 (ILL)
     Timestamp: Mon 2022-03-07 17:06:43 CET (1min 17s ago)
  Command Line: boinccmd
    Executable: /usr/bin/boinccmd
 Control Group: /user.slice/user-1000.slice/session-3.scope
          Unit: session-3.scope
         Slice: user-1000.slice
       Session: 3
     Owner UID: 1000 (benutzer)
       Boot ID: c80c81ec229143bba5e4d7081233fff0
    Machine ID: 55a5ad9df1d547f38d7696343d9fde7d
      Hostname: debian
       Storage: /var/lib/systemd/coredump/core.boinccmd.1000.c80c81ec229143bba5e4d7081233fff0.1136.1646669203000000.zst (present)
     Disk Size: 43.7K
       Message: Process 1136 (boinccmd) of user 1000 dumped core.
                
                Module linux-vdso.so.1 with build-id f1e6ebc29324e66aa6f1c7b729b6fcf419dabec0
                Module ld-linux-x86-64.so.2 with build-id e3c16ace3f263f16279effd958654ea9acc2efa7
                Module libm.so.6 with build-id 50fff5dfc200460da3b14f4738ec96edc71771af
                Module libc.so.6 with build-id b3ebbc2ec3f16faee002f4ff774427236d2adc3d
                Module libgcc_s.so.1 with build-id f3ab8f56acb81f58d7dea93ec395f17d39385742
                Module libstdc++.so.6 with build-id f23294dc02e6fcab5938f30fcc014cc5f0879ca3
                Module libpthread.so.0 with build-id 18adf73bf752fe671bdf5c046f15dda9c293834d
                Module libboinc.so.7 with build-id f04dec977f6d9d838ab81d941653810f4b0fd1d2
                Module boinccmd with build-id ed823df07fcfae86423eba320e3a7d254d77bb97
                Stack trace of thread 1136:
                #0  0x00007f451608d53c _ZN10RPC_CLIENTC1Ev (libboinc.so.7 + 0x6253c)
                #1  0x0000558a99b67761 main (boinccmd + 0x3761)
                #2  0x00007f4515c2f7fd __libc_start_main (libc.so.6 + 0x237fd)
                #3  0x0000558a99b69cda _start (boinccmd + 0x5cda)
                ELF object binary architecture: AMD x86-64

GNU gdb (Debian 10.1-2) 10.1.90.20210103-git
Copyright (C) 2021 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/bin/boinccmd...
Download failed: Die angeforderte Funktion ist nicht implementiert.  Continuing without debug info for /usr/bin/boinccmd.
(No debugging symbols found in /usr/bin/boinccmd)
[New LWP 1136]
Download failed: Die angeforderte Funktion ist nicht implementiert.  Continuing without debug info for /lib/x86_64-linux-gnu/libboinc.so.7.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Download failed: Die angeforderte Funktion ist nicht implementiert.  Continuing without debug info for /lib/x86_64-linux-gnu/libstdc++.so.6.
Download failed: Die angeforderte Funktion ist nicht implementiert.  Continuing without debug info for /lib/x86_64-linux-gnu/libgcc_s.so.1.
Download failed: Die angeforderte Funktion ist nicht implementiert.  Continuing without debug info for /root/system-supplied DSO at 0x7ffed98e8000.
Core was generated by `boinccmd'.
Program terminated with signal SIGILL, Illegal instruction.
#0  0x00007f451608d53c in RPC_CLIENT::RPC_CLIENT() () from /lib/x86_64-linux-gnu/libboinc.so.7
(gdb) bt
#0  0x00007f451608d53c in RPC_CLIENT::RPC_CLIENT() () from /lib/x86_64-linux-gnu/libboinc.so.7
#1  0x0000558a99b67761 in ?? ()
#2  0x00007f4515c2f7fd in __libc_start_main (main=0x558a99b67710, argc=1, argv=0x7ffed98dd3f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffed98dd3e8) at ../csu/libc-start.c:332
#3  0x0000558a99b69cda in ?? ()
(gdb)




Program terminated with signal SIGILL, Illegal instruction.
#0  0x00007f451608d53c in RPC_CLIENT::RPC_CLIENT (this=0x7ffed98c6eb0) at gui_rpc_client.cpp:56
Download failed: Die angeforderte Funktion ist nicht implementiert.  Continuing without source file /build/boinc-ncxTl4/boinc-7.18.1+dfsg/lib/gui_rpc_client.cpp.
56      gui_rpc_client.cpp: Datei oder Verzeichnis nicht gefunden.
(gdb) bt
#0  0x00007f451608d53c in RPC_CLIENT::RPC_CLIENT (this=0x7ffed98c6eb0) at gui_rpc_client.cpp:56
#1  0x0000558a99b67761 in main (argc=1, argv=0x7ffed98dd3f8) at ./client/boinc_cmd.cpp:192
(gdb) disassemble /r $pc-30,$pc+20
Dump of assembler code from 0x7f451608d51e to 0x7f451608d550:
   0x00007f451608d51e <_Z16is_path_absoluteNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+64>:    00 c9   add    %cl,%cl
   0x00007f451608d520 <_Z16is_path_absoluteNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+66>:    c3      ret    
   0x00007f451608d521:  90      nop
   0x00007f451608d522 <_ZN10RPC_CLIENTC2Ev+0>:  55      push   %rbp
   0x00007f451608d523 <_ZN10RPC_CLIENTC2Ev+1>:  48 89 e5        mov    %rsp,%rbp
   0x00007f451608d526 <_ZN10RPC_CLIENTC2Ev+4>:  48 83 ec 10     sub    $0x10,%rsp
   0x00007f451608d52a <_ZN10RPC_CLIENTC2Ev+8>:  48 89 7d f8     mov    %rdi,-0x8(%rbp)
   0x00007f451608d52e <_ZN10RPC_CLIENTC2Ev+12>: 48 8b 45 f8     mov    -0x8(%rbp),%rax
   0x00007f451608d532 <_ZN10RPC_CLIENTC2Ev+16>: c7 00 ff ff ff ff       movl   $0xffffffff,(%rax)
   0x00007f451608d538 <_ZN10RPC_CLIENTC2Ev+22>: 48 8b 45 f8     mov    -0x8(%rbp),%rax
=> 0x00007f451608d53c <_ZN10RPC_CLIENTC2Ev+26>: c5 f9 57 c0     vxorpd %xmm0,%xmm0,%xmm0
   0x00007f451608d540 <_ZN10RPC_CLIENTC2Ev+30>: c5 fb 11 40 08  vmovsd %xmm0,0x8(%rax)
   0x00007f451608d545 <_ZN10RPC_CLIENTC2Ev+35>: 48 8b 45 f8     mov    -0x8(%rbp),%rax
   0x00007f451608d549 <_ZN10RPC_CLIENTC2Ev+39>: c5 f9 57 c0     vxorpd %xmm0,%xmm0,%xmm0
   0x00007f451608d54d <_ZN10RPC_CLIENTC2Ev+43>: c5 fb 11 40 10  vmovsd %xmm0,0x10(%rax)
End of assembler dump.



root at debian:~# dpkg -l | grep boinc
ii  boinc-client               7.18.1+dfsg-4                     amd64        core client for the BOINC distributed computing infrastructure
ii  boinc-client-dbgsym        7.18.1+dfsg-4                     amd64        debug symbols for boinc-client
ii  libboinc7:amd64            7.18.1+dfsg-4                     amd64        libraries of BOINC the client depends on
ii  libboinc7-dbgsym:amd64     7.18.1+dfsg-4                     amd64        debug symbols for libboinc7




https://www.felixcloutier.com/x86/xorpd
-> AVX ?




https://buildd.debian.org/status/logs.php?pkg=boinc&arch=amd64

https://buildd.debian.org/status/fetch.php?pkg=boinc&arch=amd64&ver=7.16.17%2Bdfsg-2&stamp=1623320892&raw=0
...
**** Making     *****
****            *****
**** CC=cc -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O3 -funroll-loops -fforce-addr -ffast-math -flto
**** CXX=g++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O3 -funroll-loops -fforce-addr -ffast-math -flto
...

https://buildd.debian.org/status/fetch.php?pkg=boinc&arch=amd64&ver=7.18.1%2Bdfsg-3&stamp=1643405002&raw=0
...
**** Making     *****
****            *****
**** CC=cc -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wall -O3 -funroll-loops -fforce-addr -ffast-math -flto
**** CXX=g++ -g -O2 -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -mavx -Wall -O3 -funroll-loops -fforce-addr -ffast-math -flto
...

https://buildd.debian.org/status/fetch.php?pkg=boinc&arch=amd64&ver=7.18.1%2Bdfsg-4&stamp=1643533344&raw=0



https://salsa.debian.org/pkg-boinc-team/boinc/-/commit/a0611c2bc86864428337b07b382e4d5cf823b95d


More information about the pkg-boinc-devel mailing list