Details
-
Bug
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
10.4.31
-
None
Description
On centos7-bintar in buildbot, the test case binlog_encryption.rpl_special_charset crashes during server exit inside the stack unwinding in pthread_exit():
Thread 1 (Thread 0x7ff1fa7fc700 (LWP 72336)):
|
#0 0x00007ff21f00caa1 in pthread_kill () from /lib64/libpthread.so.0
|
#1 0x000055eb81142eae in handle_fatal_signal (sig=6) at /home/buildbot/knielsen/mariadb-10.4.32/sql/signal_handler.cc:372
|
#2 <signal handler called>
|
#3 0x00007ff21e436387 in raise () from /lib64/libc.so.6
|
#4 0x00007ff21e437a78 in abort () from /lib64/libc.so.6
|
#5 0x000055eb818d03de in _Unwind_SetGR ()
|
#6 0x000055eb81874628 in __gxx_personality_v0 ()
|
#7 0x00007ff21bc0f9f4 in ?? () from /lib64/libgcc_s.so.1
|
#8 0x00007ff21bc0fd44 in _Unwind_ForcedUnwind () from /lib64/libgcc_s.so.1
|
#9 0x00007ff21f00e362 in __pthread_unwind () from /lib64/libpthread.so.0
|
#10 0x00007ff21f008ef7 in pthread_exit () from /lib64/libpthread.so.0
|
#11 0x000055eb80e39d05 in os_thread_exit (detach=detach@entry=true) at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/os/os0thread.cc:199
|
#12 0x000055eb815ad871 in btr_defragment_thread () at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/btr/btr0defragment.cc:801
|
#13 0x00007ff21f007ea5 in start_thread () from /lib64/libpthread.so.0
|
#14 0x00007ff21e4feb0d in clone () from /lib64/libc.so.6
|
The problem is that the unwind code gets an invalid register number and asserts.
The build is made with static linking of some system libraries:
cmake . -DWITH_READLINE=1 -DBUILD_CONFIG=mysql_release -DCMAKE_C_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DWITH_SSL=bundled -DPLATFORM=linux-systemd && make -j10 package
|
Removing the two flags -static-libgcc and -static-libstdc++ makes the problem go away.
It seems problematic to link a few system libraries static like this. I suggest to remove those options.
Exact commands to reproduce:
ssh bb-amd64.mariadb.org
|
|
docker run -it --user root quay.io/mariadb-foundation/bb-worker:centos7-bintar bash
|
su - buildbot
|
wget https://ci.mariadb.org/38760/mariadb-10.4.32.tar.gz
|
tar xf mariadb-10.4.32.tar.gz
|
cd mariadb-10.4.32
|
cmake . -DWITH_READLINE=1 -DBUILD_CONFIG=mysql_release -DCMAKE_C_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DWITH_SSL=bundled -DPLATFORM=linux-systemd && make -j10
|
(cd mysql-test/ && perl mysql-test-run.pl --mysqld=--binlog-format=mixed binlog_encryption.rpl_special_charset)
|
Attachments
Issue Links
- relates to
-
MDEV-25633 MariaDB crashes when compiled with link time optimizations
-
- Closed
-
Activity
Field | Original Value | New Value |
---|---|---|
Description |
On centos7-bintar in buildbot, the test case binlog_encryption.rpl_special_charset crashes during server exit inside the stack unwinding in pthread_exit():
{noformat} Thread 1 (Thread 0x7ff1fa7fc700 (LWP 72336)): #0 0x00007ff21f00caa1 in pthread_kill () from /lib64/libpthread.so.0 #1 0x000055eb81142eae in handle_fatal_signal (sig=6) at /home/buildbot/knielsen/mariadb-10.4.32/sql/signal_handler.cc:372 #2 <signal handler called> #3 0x00007ff21e436387 in raise () from /lib64/libc.so.6 #4 0x00007ff21e437a78 in abort () from /lib64/libc.so.6 #5 0x000055eb818d03de in _Unwind_SetGR () #6 0x000055eb81874628 in __gxx_personality_v0 () #7 0x00007ff21bc0f9f4 in ?? () from /lib64/libgcc_s.so.1 #8 0x00007ff21bc0fd44 in _Unwind_ForcedUnwind () from /lib64/libgcc_s.so.1 #9 0x00007ff21f00e362 in __pthread_unwind () from /lib64/libpthread.so.0 #10 0x00007ff21f008ef7 in pthread_exit () from /lib64/libpthread.so.0 #11 0x000055eb80e39d05 in os_thread_exit (detach=detach@entry=true) at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/os/os0thread.cc:199 #12 0x000055eb815ad871 in btr_defragment_thread () at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/btr/btr0defragment.cc:801 #13 0x00007ff21f007ea5 in start_thread () from /lib64/libpthread.so.0 #14 0x00007ff21e4feb0d in clone () from /lib64/libc.so.6 {noformat} The problem is that the unwind code gets an invalid register number and asserts. The build is made with static linking of some system libraries: {noformat} cmake . -DWITH_READLINE=1 -DBUILD_CONFIG=mysql_release -DCMAKE_C_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DWITH_SSL=bundled -DPLATFORM=linux-systemd && make -j10 package {noformat} Removing the two flags \-static-libgcc and \-static-libstdc++ makes the problem go away. It seems problematic to link a few system libraries static like this. I suggest to remove those options. |
On centos7-bintar in buildbot, the test case binlog_encryption.rpl_special_charset crashes during server exit inside the stack unwinding in pthread_exit():
{noformat} Thread 1 (Thread 0x7ff1fa7fc700 (LWP 72336)): #0 0x00007ff21f00caa1 in pthread_kill () from /lib64/libpthread.so.0 #1 0x000055eb81142eae in handle_fatal_signal (sig=6) at /home/buildbot/knielsen/mariadb-10.4.32/sql/signal_handler.cc:372 #2 <signal handler called> #3 0x00007ff21e436387 in raise () from /lib64/libc.so.6 #4 0x00007ff21e437a78 in abort () from /lib64/libc.so.6 #5 0x000055eb818d03de in _Unwind_SetGR () #6 0x000055eb81874628 in __gxx_personality_v0 () #7 0x00007ff21bc0f9f4 in ?? () from /lib64/libgcc_s.so.1 #8 0x00007ff21bc0fd44 in _Unwind_ForcedUnwind () from /lib64/libgcc_s.so.1 #9 0x00007ff21f00e362 in __pthread_unwind () from /lib64/libpthread.so.0 #10 0x00007ff21f008ef7 in pthread_exit () from /lib64/libpthread.so.0 #11 0x000055eb80e39d05 in os_thread_exit (detach=detach@entry=true) at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/os/os0thread.cc:199 #12 0x000055eb815ad871 in btr_defragment_thread () at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/btr/btr0defragment.cc:801 #13 0x00007ff21f007ea5 in start_thread () from /lib64/libpthread.so.0 #14 0x00007ff21e4feb0d in clone () from /lib64/libc.so.6 {noformat} The problem is that the unwind code gets an invalid register number and asserts. The build is made with static linking of some system libraries: {noformat} cmake . -DWITH_READLINE=1 -DBUILD_CONFIG=mysql_release -DCMAKE_C_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DWITH_SSL=bundled -DPLATFORM=linux-systemd && make -j10 package {noformat} Removing the two flags \-static-libgcc and \-static-libstdc++ makes the problem go away. It seems problematic to link a few system libraries static like this. I suggest to remove those options. Exact commands to reproduce: {noformat} docker run -it --user root quay.io/mariadb-foundation/bb-worker:centos7-bintar bash su - buildbot wget https://ci.mariadb.org/38760/mariadb-10.4.32.tar.gz tar xf mariadb-10.4.32.tar.gz cd mariadb-10.4.32 cmake . -DWITH_READLINE=1 -DBUILD_CONFIG=mysql_release -DCMAKE_C_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DWITH_SSL=bundled -DPLATFORM=linux-systemd && make -j10 package (cd mysql-test/ && perl mysql-test-run.pl --mysqld=--binlog-format=mixed binlog_encryption.rpl_special_charset) {noformat} |
Description |
On centos7-bintar in buildbot, the test case binlog_encryption.rpl_special_charset crashes during server exit inside the stack unwinding in pthread_exit():
{noformat} Thread 1 (Thread 0x7ff1fa7fc700 (LWP 72336)): #0 0x00007ff21f00caa1 in pthread_kill () from /lib64/libpthread.so.0 #1 0x000055eb81142eae in handle_fatal_signal (sig=6) at /home/buildbot/knielsen/mariadb-10.4.32/sql/signal_handler.cc:372 #2 <signal handler called> #3 0x00007ff21e436387 in raise () from /lib64/libc.so.6 #4 0x00007ff21e437a78 in abort () from /lib64/libc.so.6 #5 0x000055eb818d03de in _Unwind_SetGR () #6 0x000055eb81874628 in __gxx_personality_v0 () #7 0x00007ff21bc0f9f4 in ?? () from /lib64/libgcc_s.so.1 #8 0x00007ff21bc0fd44 in _Unwind_ForcedUnwind () from /lib64/libgcc_s.so.1 #9 0x00007ff21f00e362 in __pthread_unwind () from /lib64/libpthread.so.0 #10 0x00007ff21f008ef7 in pthread_exit () from /lib64/libpthread.so.0 #11 0x000055eb80e39d05 in os_thread_exit (detach=detach@entry=true) at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/os/os0thread.cc:199 #12 0x000055eb815ad871 in btr_defragment_thread () at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/btr/btr0defragment.cc:801 #13 0x00007ff21f007ea5 in start_thread () from /lib64/libpthread.so.0 #14 0x00007ff21e4feb0d in clone () from /lib64/libc.so.6 {noformat} The problem is that the unwind code gets an invalid register number and asserts. The build is made with static linking of some system libraries: {noformat} cmake . -DWITH_READLINE=1 -DBUILD_CONFIG=mysql_release -DCMAKE_C_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DWITH_SSL=bundled -DPLATFORM=linux-systemd && make -j10 package {noformat} Removing the two flags \-static-libgcc and \-static-libstdc++ makes the problem go away. It seems problematic to link a few system libraries static like this. I suggest to remove those options. Exact commands to reproduce: {noformat} docker run -it --user root quay.io/mariadb-foundation/bb-worker:centos7-bintar bash su - buildbot wget https://ci.mariadb.org/38760/mariadb-10.4.32.tar.gz tar xf mariadb-10.4.32.tar.gz cd mariadb-10.4.32 cmake . -DWITH_READLINE=1 -DBUILD_CONFIG=mysql_release -DCMAKE_C_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DWITH_SSL=bundled -DPLATFORM=linux-systemd && make -j10 package (cd mysql-test/ && perl mysql-test-run.pl --mysqld=--binlog-format=mixed binlog_encryption.rpl_special_charset) {noformat} |
On centos7-bintar in buildbot, the test case binlog_encryption.rpl_special_charset crashes during server exit inside the stack unwinding in pthread_exit():
{noformat} Thread 1 (Thread 0x7ff1fa7fc700 (LWP 72336)): #0 0x00007ff21f00caa1 in pthread_kill () from /lib64/libpthread.so.0 #1 0x000055eb81142eae in handle_fatal_signal (sig=6) at /home/buildbot/knielsen/mariadb-10.4.32/sql/signal_handler.cc:372 #2 <signal handler called> #3 0x00007ff21e436387 in raise () from /lib64/libc.so.6 #4 0x00007ff21e437a78 in abort () from /lib64/libc.so.6 #5 0x000055eb818d03de in _Unwind_SetGR () #6 0x000055eb81874628 in __gxx_personality_v0 () #7 0x00007ff21bc0f9f4 in ?? () from /lib64/libgcc_s.so.1 #8 0x00007ff21bc0fd44 in _Unwind_ForcedUnwind () from /lib64/libgcc_s.so.1 #9 0x00007ff21f00e362 in __pthread_unwind () from /lib64/libpthread.so.0 #10 0x00007ff21f008ef7 in pthread_exit () from /lib64/libpthread.so.0 #11 0x000055eb80e39d05 in os_thread_exit (detach=detach@entry=true) at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/os/os0thread.cc:199 #12 0x000055eb815ad871 in btr_defragment_thread () at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/btr/btr0defragment.cc:801 #13 0x00007ff21f007ea5 in start_thread () from /lib64/libpthread.so.0 #14 0x00007ff21e4feb0d in clone () from /lib64/libc.so.6 {noformat} The problem is that the unwind code gets an invalid register number and asserts. The build is made with static linking of some system libraries: {noformat} cmake . -DWITH_READLINE=1 -DBUILD_CONFIG=mysql_release -DCMAKE_C_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DWITH_SSL=bundled -DPLATFORM=linux-systemd && make -j10 package {noformat} Removing the two flags \-static-libgcc and \-static-libstdc++ makes the problem go away. It seems problematic to link a few system libraries static like this. I suggest to remove those options. Exact commands to reproduce: {noformat} ssh bb-amd64.mariadb.org docker run -it --user root quay.io/mariadb-foundation/bb-worker:centos7-bintar bash su - buildbot wget https://ci.mariadb.org/38760/mariadb-10.4.32.tar.gz tar xf mariadb-10.4.32.tar.gz cd mariadb-10.4.32 cmake . -DWITH_READLINE=1 -DBUILD_CONFIG=mysql_release -DCMAKE_C_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DWITH_SSL=bundled -DPLATFORM=linux-systemd && make -j10 package (cd mysql-test/ && perl mysql-test-run.pl --mysqld=--binlog-format=mixed binlog_encryption.rpl_special_charset) {noformat} |
Description |
On centos7-bintar in buildbot, the test case binlog_encryption.rpl_special_charset crashes during server exit inside the stack unwinding in pthread_exit():
{noformat} Thread 1 (Thread 0x7ff1fa7fc700 (LWP 72336)): #0 0x00007ff21f00caa1 in pthread_kill () from /lib64/libpthread.so.0 #1 0x000055eb81142eae in handle_fatal_signal (sig=6) at /home/buildbot/knielsen/mariadb-10.4.32/sql/signal_handler.cc:372 #2 <signal handler called> #3 0x00007ff21e436387 in raise () from /lib64/libc.so.6 #4 0x00007ff21e437a78 in abort () from /lib64/libc.so.6 #5 0x000055eb818d03de in _Unwind_SetGR () #6 0x000055eb81874628 in __gxx_personality_v0 () #7 0x00007ff21bc0f9f4 in ?? () from /lib64/libgcc_s.so.1 #8 0x00007ff21bc0fd44 in _Unwind_ForcedUnwind () from /lib64/libgcc_s.so.1 #9 0x00007ff21f00e362 in __pthread_unwind () from /lib64/libpthread.so.0 #10 0x00007ff21f008ef7 in pthread_exit () from /lib64/libpthread.so.0 #11 0x000055eb80e39d05 in os_thread_exit (detach=detach@entry=true) at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/os/os0thread.cc:199 #12 0x000055eb815ad871 in btr_defragment_thread () at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/btr/btr0defragment.cc:801 #13 0x00007ff21f007ea5 in start_thread () from /lib64/libpthread.so.0 #14 0x00007ff21e4feb0d in clone () from /lib64/libc.so.6 {noformat} The problem is that the unwind code gets an invalid register number and asserts. The build is made with static linking of some system libraries: {noformat} cmake . -DWITH_READLINE=1 -DBUILD_CONFIG=mysql_release -DCMAKE_C_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DWITH_SSL=bundled -DPLATFORM=linux-systemd && make -j10 package {noformat} Removing the two flags \-static-libgcc and \-static-libstdc++ makes the problem go away. It seems problematic to link a few system libraries static like this. I suggest to remove those options. Exact commands to reproduce: {noformat} ssh bb-amd64.mariadb.org docker run -it --user root quay.io/mariadb-foundation/bb-worker:centos7-bintar bash su - buildbot wget https://ci.mariadb.org/38760/mariadb-10.4.32.tar.gz tar xf mariadb-10.4.32.tar.gz cd mariadb-10.4.32 cmake . -DWITH_READLINE=1 -DBUILD_CONFIG=mysql_release -DCMAKE_C_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DWITH_SSL=bundled -DPLATFORM=linux-systemd && make -j10 package (cd mysql-test/ && perl mysql-test-run.pl --mysqld=--binlog-format=mixed binlog_encryption.rpl_special_charset) {noformat} |
On centos7-bintar in buildbot, the test case binlog_encryption.rpl_special_charset crashes during server exit inside the stack unwinding in pthread_exit():
{noformat} Thread 1 (Thread 0x7ff1fa7fc700 (LWP 72336)): #0 0x00007ff21f00caa1 in pthread_kill () from /lib64/libpthread.so.0 #1 0x000055eb81142eae in handle_fatal_signal (sig=6) at /home/buildbot/knielsen/mariadb-10.4.32/sql/signal_handler.cc:372 #2 <signal handler called> #3 0x00007ff21e436387 in raise () from /lib64/libc.so.6 #4 0x00007ff21e437a78 in abort () from /lib64/libc.so.6 #5 0x000055eb818d03de in _Unwind_SetGR () #6 0x000055eb81874628 in __gxx_personality_v0 () #7 0x00007ff21bc0f9f4 in ?? () from /lib64/libgcc_s.so.1 #8 0x00007ff21bc0fd44 in _Unwind_ForcedUnwind () from /lib64/libgcc_s.so.1 #9 0x00007ff21f00e362 in __pthread_unwind () from /lib64/libpthread.so.0 #10 0x00007ff21f008ef7 in pthread_exit () from /lib64/libpthread.so.0 #11 0x000055eb80e39d05 in os_thread_exit (detach=detach@entry=true) at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/os/os0thread.cc:199 #12 0x000055eb815ad871 in btr_defragment_thread () at /home/buildbot/knielsen/mariadb-10.4.32/storage/innobase/btr/btr0defragment.cc:801 #13 0x00007ff21f007ea5 in start_thread () from /lib64/libpthread.so.0 #14 0x00007ff21e4feb0d in clone () from /lib64/libc.so.6 {noformat} The problem is that the unwind code gets an invalid register number and asserts. The build is made with static linking of some system libraries: {noformat} cmake . -DWITH_READLINE=1 -DBUILD_CONFIG=mysql_release -DCMAKE_C_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DWITH_SSL=bundled -DPLATFORM=linux-systemd && make -j10 package {noformat} Removing the two flags \-static-libgcc and \-static-libstdc++ makes the problem go away. It seems problematic to link a few system libraries static like this. I suggest to remove those options. Exact commands to reproduce: {noformat} ssh bb-amd64.mariadb.org docker run -it --user root quay.io/mariadb-foundation/bb-worker:centos7-bintar bash su - buildbot wget https://ci.mariadb.org/38760/mariadb-10.4.32.tar.gz tar xf mariadb-10.4.32.tar.gz cd mariadb-10.4.32 cmake . -DWITH_READLINE=1 -DBUILD_CONFIG=mysql_release -DCMAKE_C_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DCMAKE_CXX_FLAGS="-static-libgcc -static-libstdc++ -DGNUTLS_NO_SIGNAL=0" -DWITH_SSL=bundled -DPLATFORM=linux-systemd && make -j10 (cd mysql-test/ && perl mysql-test-run.pl --mysqld=--binlog-format=mixed binlog_encryption.rpl_special_charset) {noformat} |
Link |
This issue relates to |
Assignee | Kristian Nielsen [ knielsen ] |
Component/s | Compiling [ 11001 ] | |
Fix Version/s | N/A [ 14700 ] | |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
As it looks like we aren't doing anything particularly wrong, if its reproducible on the RHEL7 we can put in a support ticket for Red Hat to fix.