Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 729640 - sys-libs/db-4.8.30-r3: Illegal instruction in C++ code (likely user error?)
Summary: sys-libs/db-4.8.30-r3: Illegal instruction in C++ code (likely user error?)
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords: TESTFAILURE
Depends on:
Blocks:
 
Reported: 2020-06-25 16:01 UTC by Alexey
Modified: 2020-09-01 13:22 UTC (History)
3 users (show)

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


Attachments
build.log (build.log,341.59 KB, text/plain)
2020-06-25 16:01 UTC, Alexey
Details
test-suite.log (test-suite.log,3.18 KB, text/plain)
2020-06-25 16:01 UTC, Alexey
Details
emerge --info (file_729640.txt,19.46 KB, text/plain)
2020-06-25 16:01 UTC, Alexey
Details
gdb log (gdb.txt,39.73 KB, text/plain)
2020-06-25 16:19 UTC, Alexey
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alexey 2020-06-25 16:01:04 UTC
Created attachment 646404 [details]
build.log

FAIL qt/test/test_bitcoin-qt (exit status: 134)
Comment 1 Alexey 2020-06-25 16:01:35 UTC
Created attachment 646406 [details]
test-suite.log
Comment 2 Alexey 2020-06-25 16:01:58 UTC
Created attachment 646408 [details]
emerge --info
Comment 3 Alexey 2020-06-25 16:19:29 UTC
After installation:

$ bitcoin-qt
[1]    13340 illegal hardware instruction  bitcoin-qt

I briefly see splash screen before crash.
Comment 4 Alexey 2020-06-25 16:19:58 UTC
Created attachment 646414 [details]
gdb log
Comment 5 Luke-Jr 2020-07-02 23:05:49 UTC
This is in ancient db 4.8 C++ code. My only guess is that your -march=znver2 is invalid for your CPU, or your compiler is broken.
Comment 6 Alexey 2020-07-02 23:08:50 UTC
CPU is AMD Ryzen 9 3900X 12-Core Processor

Compiler gcc-9.3.0
Comment 7 Alexey 2020-09-01 01:06:01 UTC
Recompiling sys-libs/db without -march doesn't help
Comment 8 Alexey 2020-09-01 09:02:59 UTC
I managed to make it work.

$ ll /usr/lib64/libdb*
-rw-r--r-- 1 root root  66M ноя 17  2019 /usr/lib64/libdb-4.8.a
-rw-r--r-- 1 root root  926 ноя 17  2019 /usr/lib64/libdb-4.8.la
-rwxr-xr-x 1 root root 1,5M ноя 17  2019 /usr/lib64/libdb-4.8.so
-rw-r--r-- 1 root root  89M мая 10 01:17 /usr/lib64/libdb-5.3.a
-rw-r--r-- 1 root root  926 мая 10 01:16 /usr/lib64/libdb-5.3.la
-rwxr-xr-x 1 root root 1,8M мая 10 01:17 /usr/lib64/libdb-5.3.so
-rw-r--r-- 1 root root  93M сен  1 02:03 /usr/lib64/libdb-6.0.a
-rw-r--r-- 1 root root  926 сен  1 02:03 /usr/lib64/libdb-6.0.la
-rwxr-xr-x 1 root root 1,9M сен  1 02:03 /usr/lib64/libdb-6.0.so
lrwxrwxrwx 1 root root   11 сен  1 02:03 /usr/lib64/libdb.a -> libdb-6.0.a
-rw-r--r-- 1 root root  71M ноя 17  2019 /usr/lib64/libdb_cxx-4.8.a
-rw-r--r-- 1 root root  954 ноя 17  2019 /usr/lib64/libdb_cxx-4.8.la
-rwxr-xr-x 1 root root 1,6M ноя 17  2019 /usr/lib64/libdb_cxx-4.8.so
lrwxrwxrwx 1 root root   15 сен  1 02:03 /usr/lib64/libdb_cxx.a -> libdb_cxx-4.8.a
lrwxrwxrwx 1 root root   16 сен  1 02:03 /usr/lib64/libdb_cxx.so -> libdb_cxx-4.8.so
lrwxrwxrwx 1 root root   12 сен  1 02:03 /usr/lib64/libdb.so -> libdb-6.0.so
-rw-r--r-- 1 root root  94M мая 10 01:17 /usr/lib64/libdb_sql-5.3.a
-rw-r--r-- 1 root root  954 мая 10 01:17 /usr/lib64/libdb_sql-5.3.la
-rwxr-xr-x 1 root root 2,3M мая 10 01:17 /usr/lib64/libdb_sql-5.3.so
lrwxrwxrwx 1 root root   15 сен  1 02:03 /usr/lib64/libdb_sql.a -> libdb_sql-5.3.a
lrwxrwxrwx 1 root root   16 сен  1 02:03 /usr/lib64/libdb_sql.so -> libdb_sql-5.3.so
-rw-r--r-- 1 root root  73M ноя 17  2019 /usr/lib64/libdb_stl-4.8.a
-rw-r--r-- 1 root root  954 ноя 17  2019 /usr/lib64/libdb_stl-4.8.la
-rwxr-xr-x 1 root root 1,7M ноя 17  2019 /usr/lib64/libdb_stl-4.8.so
lrwxrwxrwx 1 root root   15 сен  1 02:03 /usr/lib64/libdb_stl.a -> libdb_stl-4.8.a
lrwxrwxrwx 1 root root   16 сен  1 02:03 /usr/lib64/libdb_stl.so -> libdb_stl-4.8.so
-rw-r--r-- 1 root root  71M ноя 17  2019 /usr/lib64/libdb_tcl-4.8.a
-rw-r--r-- 1 root root  955 ноя 17  2019 /usr/lib64/libdb_tcl-4.8.la
-rwxr-xr-x 1 root root 1,6M ноя 17  2019 /usr/lib64/libdb_tcl-4.8.so
-rw-r--r-- 1 root root  94M мая 10 01:17 /usr/lib64/libdb_tcl-5.3.a
-rw-r--r-- 1 root root  955 мая 10 01:16 /usr/lib64/libdb_tcl-5.3.la
-rwxr-xr-x 1 root root 1,9M мая 10 01:17 /usr/lib64/libdb_tcl-5.3.so
-rw-r--r-- 1 root root  99M сен  1 02:03 /usr/lib64/libdb_tcl-6.0.a
-rw-r--r-- 1 root root  955 сен  1 02:03 /usr/lib64/libdb_tcl-6.0.la
-rwxr-xr-x 1 root root 2,0M сен  1 02:03 /usr/lib64/libdb_tcl-6.0.so
lrwxrwxrwx 1 root root   15 сен  1 02:03 /usr/lib64/libdb_tcl.a -> libdb_tcl-6.0.a
lrwxrwxrwx 1 root root   16 сен  1 02:03 /usr/lib64/libdb_tcl.so -> libdb_tcl-6.0.so
lrwxrwxrwx 1 root root   20 июн 25 14:48 /usr/lib64/libdbus-1.so -> libdbus-1.so.3.19.12
lrwxrwxrwx 1 root root   20 июн 25 14:48 /usr/lib64/libdbus-1.so.3 -> libdbus-1.so.3.19.12
-rwxr-xr-x 1 root root 350K июн 25 14:48 /usr/lib64/libdbus-1.so.3.19.12
lrwxrwxrwx 1 root root   23 июн 25 14:49 /usr/lib64/libdbus-glib-1.so -> libdbus-glib-1.so.2.3.4
lrwxrwxrwx 1 root root   23 июн 25 14:49 /usr/lib64/libdbus-glib-1.so.2 -> libdbus-glib-1.so.2.3.4
-rwxr-xr-x 1 root root 165K июн 25 14:49 /usr/lib64/libdbus-glib-1.so.2.3.4
lrwxrwxrwx 1 root root   20 апр 25 04:39 /usr/lib64/libdbusmenu-qt5.so -> libdbusmenu-qt5.so.2
lrwxrwxrwx 1 root root   24 апр 25 04:39 /usr/lib64/libdbusmenu-qt5.so.2 -> libdbusmenu-qt5.so.2.6.0
-rwxr-xr-x 1 root root 269K апр 25 04:39 /usr/lib64/libdbusmenu-qt5.so.2.6.0

Note the date on /usr/lib64/libdb_cxx-4.8.so - it was from 2019. So it was compiled with -march=bdver2 for my previous CPU.
Now, I've recompiled sys-libs/db:4.8 explicitly instead of sys-libs/db, and that helped.

However, when I changed my computer this spring, I rebuilt the whole @world with the new -march setting. Why @world didn't include sys-libs/db:4.8?

Please reassign this from base-system to dev-portage
Comment 9 Mike Gilbert gentoo-dev 2020-09-01 12:39:37 UTC
Assuming that nothing depends on the the 4.8 slot specifically, it would not get rebuilt by emerge -e world. 

I suspect running emerge —depclean would remove it.
Comment 10 Alexey 2020-09-01 13:04:49 UTC
bitcoin did depend on it, and it was not rebuilt by emerge -e @world.
I did emerge -c lots of times since that, but sys-libs/db:4.8 was never deleted, because it is dependent upon.
Comment 11 Alexey 2020-09-01 13:22:21 UTC
Anyway, I don't know how to reproduce it, and the immediate issue is gone with the manual rebuild.

`emerge -ep @world|grep sys-libs/db` shows all 3 slots, and `find /usr/lib64 -name '*so' -ctime +120` doesn't show any other outdated libs