LinuxQuestions.org
Download your favorite Linux distribution at LQ ISO.
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 01-31-2021, 02:17 PM   #1
cgw
LQ Newbie
 
Registered: Jan 2021
Posts: 13

Rep: Reputation: Disabled
MariaDB 10.5.8 from glibc-2.30 to glibc-2.32 crash?


I upgraded to slackware-current 2021-01-30 and (non-kernel updates from) 2021-01-31 and have been unable to start MariaDB since 2021-01-30. Specifically, I was at mariadb-10.5.8-i586-1 and failed with mariadb-10.5.8-i586-2, which was described as a recompile against glibc-2.32. I have built with mariadb.SlackBuild on my system and still get the same error, which I have posted to jira.mariadb.org.

Here is the .err:
2021-01-31 14:15:37 0 [Note] InnoDB: Using Linux native AIO
2021-01-31 14:15:37 0 [Note] InnoDB: Uses event mutexes
2021-01-31 14:15:37 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
2021-01-31 14:15:37 0 [Note] InnoDB: Number of pools: 1
2021-01-31 14:15:37 0 [Note] InnoDB: Using generic crc32 instructions
2021-01-31 14:15:37 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
2021-01-31 14:15:37 0 [Note] InnoDB: Initializing buffer pool, total size = 134217728, chunk size = 134217728
2021-01-31 14:15:37 0 [Note] InnoDB: Completed initialization of buffer pool
2021-01-31 14:15:37 0 [Note] InnoDB: If the mysqld execution user is authorized, page cleaner thread priority can be changed. See the man page of setpriority().
210131 14:15:37 [ERROR] mysqld got signal 4 ;
This could be because you hit a bug. It is also possible that this binary
or one of the libraries it was linked against is corrupt, improperly built,
or misconfigured. This error can also be caused by malfunctioning hardware.

To report this bug, see https://mariadb.com/kb/en/reporting-bugs

We will try our best to scrape up some info that will hopefully help
diagnose the problem, but since we have already crashed,
something is definitely wrong and this may fail.

Server version: 10.5.8-MariaDB-log
key_buffer_size=134217728
read_buffer_size=131072
max_used_connections=0
max_threads=153
thread_count=0
It is possible that mysqld could use up to
key_buffer_size + (read_buffer_size + sort_buffer_size)*max_threads = 466473 K bytes of memory
Hope that's ok; if not, decrease some variables in the equation.

Thread pointer: 0x0
Attempting backtrace. You can use the following information to find out
where mysqld died. If you see no messages after this, something went
terribly wrong...
stack_bottom = 0x0 thread_stack 0x49000
??:0(my_print_stacktrace)[0x12db9ae]
??:0(handle_fatal_signal)[0xc40992]
addr2line: 'linux-gate.so.1': No such file
linux-gate.so.1(__kernel_sigreturn+0x0)[0xb7f82554]
??:0(my_dlerror)[0x12f6250]
??:0(std::unique_lock<std::mutex>::unlock())[0x118ae9c]
??:0(std::unique_lock<std::mutex>::unlock())[0x118047f]
??:0(std::unique_lock<std::mutex>::unlock())[0x1202753]
??:0(std::unique_lock<std::mutex>::unlock())[0x1206618]
??:0(std::unique_lock<std::mutex>::unlock())[0x1206c17]
??:0(Wsrep_server_service::log_dummy_write_set(wsrep::client_state&, wsrep::ws_meta const&))[0x862f98]
??:0(wsrep_notify_status(wsrep::server_state::state, wsrep::view const*))[0xfefbdc]
??:0(ha_initialize_handlerton(st_plugin_int*))[0xc43b2d]
??:0(sys_var_pluginvar::sys_var_pluginvar(sys_var_chain*, char const*, st_plugin_int*, st_mysql_sys_var*))[0x9e70cc]
??:0(plugin_init(int*, char**, int))[0x9e87da]
??:0(unireg_abort)[0x8e456c]
??:0(mysqld_main(int, char**))[0x8eab35]
??:0(main)[0x8a7467]
??:0(__libc_start_main)[0xb75ff05a]
??:0(_start)[0x8dd811]
The manual page at https://mariadb.com/kb/en/how-to-pro...ce-for-mysqld/ contains
information that should help you find out what is causing the crash.
Writing a core file...
Working directory at /var/lib/mysql
Resource Limits:
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 8388608 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 15973 15973 processes
Max open files 32186 32186 files
Max locked memory 65536 65536 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 15973 15973 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0 0
Max realtime timeout unlimited unlimited us
Everything else on this system seems to work. Anybody else have trouble or insight?

Slackware-current:
Linux [cut] 5.10.11-smp #1 SMP Wed Jan 27 13:11:41 CST 2021 i686 Intel(R) Xeon(TM) CPU 2.80GHz GenuineIntel GNU/Linux
 
Old 01-31-2021, 05:03 PM   #2
keefaz
LQ Guru
 
Registered: Mar 2004
Distribution: Slackware
Posts: 6,552

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872
Did you try to start it with removed databases?
I mean move databases subdirectories in /var/lib/mysql to another location (let the mysql subdirectory stay there) and try to start the server
 
Old 01-31-2021, 05:11 PM   #3
cgw
LQ Newbie
 
Registered: Jan 2021
Posts: 13

Original Poster
Rep: Reputation: Disabled
Thank you keefaz. I did not try this as I believed the databases to be okay. I have since found and installed mariadb-10.5.8-i586-1.txz from glibc-2.30 and it is working. This suggests the databases are okay. Obviously I will need to upgrade again, but hope not to until a new version is released from Slackware. mariadb.SlackBuild takes about two hours on my system and each time I test, I experience downtime. I would like to try your suggestion, perhaps during off hours next weekend...
 
Old 01-31-2021, 06:21 PM   #4
keefaz
LQ Guru
 
Registered: Mar 2004
Distribution: Slackware
Posts: 6,552

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872
I would think the databases are ok if you're able to start another server version

I have not totally understood your issue with glibc, and I don't use current (14.2 stable)

To resume:
- You run slackware current (32 bits)
- You upgraded mariaDB to mariadb-10.5.8-i586-2
- Then it failed to start, output logs shown in first post

But you say mariadb-10.5.8-i586-2 package was compiled with a more recent glibc version?

What glibc version is actually installed in your system?
Code:
/lib/libc.so.6 | grep version

Last edited by keefaz; 01-31-2021 at 06:23 PM.
 
Old 01-31-2021, 07:18 PM   #5
cgw
LQ Newbie
 
Registered: Jan 2021
Posts: 13

Original Poster
Rep: Reputation: Disabled
I upgraded the entire system from distro packages to match all packages recompiled against glibc-2.32 (including the glibc-2.32 package itself and all libraries, a comprehensive update.

Interestingly, the prior package, Maria 10.5.8, which was compiled against glibc-2.30 works as one would hope on the up to date system.

# /lib/libc.so.6 | grep version
GNU C Library (GNU libc) release release version 2.32.
Compiled by GNU CC version 10.2.0.
 
Old 01-31-2021, 07:32 PM   #6
Emerson
LQ Sage
 
Registered: Nov 2004
Location: Saint Amant, Acadiana
Distribution: Gentoo ~amd64
Posts: 7,676

Rep: Reputation: Disabled
Database and 32 bit install. Considering how memory above 2 GB is handled by 32 bit OS this is ... horror ... How people get such ideas?
 
Old 01-31-2021, 07:40 PM   #7
cgw
LQ Newbie
 
Registered: Jan 2021
Posts: 13

Original Poster
Rep: Reputation: Disabled
Hi Emerson,

Believe it or not, this system was installed before slackware64 came available. I have updated all along and do not yet seem to be pushing memory limits. I've wanted to do a crossgrade to 64b for some time, but haven't wanted the downtime and haven't bought a new server...
 
Old 01-31-2021, 09:11 PM   #8
keefaz
LQ Guru
 
Registered: Mar 2004
Distribution: Slackware
Posts: 6,552

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872
Quote:
Originally Posted by cgw View Post
I upgraded the entire system from distro packages to match all packages recompiled against glibc-2.32 (including the glibc-2.32 package itself and all libraries, a comprehensive update.
Did you make sure you upgraded all packages? There is a huge list. Or do you use automated tool like Slackpkg maybe?

ftp://ftp.osuosl.org/pub/slackware/s.../ChangeLog.txt


MariaDB has a few dependancies (openssl, jemalloc, zlib, libaio etc...), is it possible one of those hasn't been updated?
 
Old 02-01-2021, 02:21 AM   #9
LuckyCyborg
Senior Member
 
Registered: Mar 2010
Posts: 3,671

Rep: Reputation: 3565Reputation: 3565Reputation: 3565Reputation: 3565Reputation: 3565Reputation: 3565Reputation: 3565Reputation: 3565Reputation: 3565Reputation: 3565Reputation: 3565
Quote:
Originally Posted by Emerson View Post
Database and 32 bit install. Considering how memory above 2 GB is handled by 32 bit OS this is ... horror ... How people get such ideas?
That's a myth older than the dirt.

In fact, a 32bit PAE system is slightly faster and consumes less memory than a 64bit PAE system. Yes, also x86_64 uses PAE.

The single caveat is that in a 32bit PAE system, a program instance cannot use more than 4GB memory - fact seen as a feature by some people, because this can limit in a hard way the memory consumption of the memory hogs.

Anyway, I have boxes with 8GB RAM which runs Slackware i586 quite well, and they are even faster than other similar boxes on Slackware64.

Last edited by LuckyCyborg; 02-01-2021 at 02:28 AM.
 
1 members found this post helpful.
Old 02-01-2021, 08:32 AM   #10
cgw
LQ Newbie
 
Registered: Jan 2021
Posts: 13

Original Poster
Rep: Reputation: Disabled
Quote:
Originally Posted by keefaz View Post
Did you make sure you upgraded all packages? There is a huge list. Or do you use automated tool like Slackpkg maybe?

ftp://ftp.osuosl.org/pub/slackware/s.../ChangeLog.txt


MariaDB has a few dependancies (openssl, jemalloc, zlib, libaio etc...), is it possible one of those hasn't been updated?
I do use slackpkg and did do
Code:
slackpkg update
and then
Code:
slackpkg install-new
and then
Code:
slackpkg upgrade-all
followed by another update, another install-new, and another upgrade-all just to make sure that everything was caught. There may very well be a dependency that was missed, but it would have been missed in the repo, not in the upgrade process.

I don't know if you saw my other recent post, but I found a copy of the prior package online (mariadb-10.5.8-i586-1) and am successfully running with that on my otherwise up to date system. This helps alleviate concern that the databases were corrupted.

Last edited by cgw; 02-01-2021 at 08:33 AM.
 
Old 02-01-2021, 11:55 AM   #11
keefaz
LQ Guru
 
Registered: Mar 2004
Distribution: Slackware
Posts: 6,552

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872
Yes I saw your other post, databases shouldn't be the issue.

Maybe a way to test things would be to compile mariaDB with debug options, adding -DCMAKE_BUILD_TYPE=Debug in SlackBuild script

https://mariadb.com/kb/en/compiling-...for-debugging/

But modify the script adding a "exit" just after the compilation, so package won't be created
I mean this way you can debug mariaDB running it from its source directory

https://mariadb.com/kb/en/running-ma...ild-directory/

It's some work just to make a temp mysql setup, but then you're able to debug mariaDB letting the working production server in place and without messing with the production databases as well


But first I would check the updated dependencies
Try
Code:
readelf -d /usr/libexec/mysqld | grep Shared
Then for each shared library names do a grep in /var/log/packages:
Code:
grep -l libcrypto /var/log/packages/*
Note the package version number and compare it in the changelog
ftp://ftp.osuosl.org/pub/slackware/s.../ChangeLog.txt

Last edited by keefaz; 02-01-2021 at 11:59 AM.
 
Old 02-01-2021, 09:12 PM   #12
cgw
LQ Newbie
 
Registered: Jan 2021
Posts: 13

Original Poster
Rep: Reputation: Disabled
Nice command. I did not know readelf and will try a new compile tomorrow.

Here are the results:

Code:
~/mariadb/mariadb-10.5.8-i586-2# for x in $(readelf -d ./usr/libexec/mariadbd | sed -nr 's/.*Shared library: \[(.*)\]/\1/p') ; do echo ${x}; find /lib /usr/lib -maxdepth 1 -name ${x} -ls ; done
libpthread.so.0
   488709      0 lrwxrwxrwx   1 root     root           18 Jan 30 11:08 /lib/libpthread.so.0 -> libpthread-2.32.so
libcrypt.so.1
   488686      0 lrwxrwxrwx   1 root     root           16 Jan 30 11:08 /lib/libcrypt.so.1 -> libcrypt-2.32.so
liblz4.so.1
  1108178      0 lrwxrwxrwx   1 root     root           15 Jan 30 12:37 /usr/lib/liblz4.so.1 -> liblz4.so.1.9.3
liblzo2.so.2
  1112032      0 lrwxrwxrwx   1 root     root           16 Jan 30 12:38 /usr/lib/liblzo2.so.2 -> liblzo2.so.2.0.0
liblzma.so.5
   488776      0 lrwxrwxrwx   1 root     root           16 Jan 30 14:53 /lib/liblzma.so.5 -> liblzma.so.5.2.5
libbz2.so.1
   488652      0 lrwxrwxrwx   1 root     root           13 Jan 30 10:15 /lib/libbz2.so.1 -> libbz2.so.1.0
libaio.so.1
   489060      0 lrwxrwxrwx   1 root     root           15 Jan 30 12:05 /lib/libaio.so.1 -> libaio.so.1.0.1
libz.so.1
   488845      0 lrwxrwxrwx   1 root     root           14 Jan 30 14:54 /lib/libz.so.1 -> libz.so.1.2.11
  1110693      0 lrwxrwxrwx   1 root     root           14 Jan 30 14:54 /usr/lib/libz.so.1 -> libz.so.1.2.11
libssl.so.1.1
   494490    632 -rwxr-xr-x   1 root     root       641084 Jan 21 12:46 /lib/libssl.so.1.1
  1108866      0 lrwxrwxrwx   1 root     root           23 Jan 30 13:10 /usr/lib/libssl.so.1.1 -> ../../lib/libssl.so.1.1
libcrypto.so.1.1
   493953   2872 -rwxr-xr-x   1 root     root      2934136 Jan 21 12:46 /lib/libcrypto.so.1.1
  1109324      0 lrwxrwxrwx   1 root     root           26 Jan 30 13:10 /usr/lib/libcrypto.so.1.1 -> ../../lib/libcrypto.so.1.1
libdl.so.2
   488689      0 lrwxrwxrwx   1 root     root           13 Jan 30 11:08 /lib/libdl.so.2 -> libdl-2.32.so
libstdc++.so.6
  1108800      0 lrwxrwxrwx   1 root     root           19 Jan 30 10:56 /usr/lib/libstdc++.so.6 -> libstdc++.so.6.0.28
libm.so.6
   488692      0 lrwxrwxrwx   1 root     root           12 Jan 30 11:08 /lib/libm.so.6 -> libm-2.32.so
libc.so.6
   488684      0 lrwxrwxrwx   1 root     root           12 Jan 30 11:08 /lib/libc.so.6 -> libc-2.32.so
ld-linux.so.2
   488674      0 lrwxrwxrwx   1 root     root           10 Jan 30 11:08 /lib/ld-linux.so.2 -> ld-2.32.so
Changing it up to search the packages shows placeholder libraries as missing from the packages and what appears to be a proper match of dynamic libraries:

Code:
~/mariadb/mariadb-10.5.8-i586-2# for x in $(readelf -d ./usr/libexec/mariadbd | sed -nr 's/.*Shared library: \[(.*)\]/\1/p') ; do echo ${x} ; grep  ${x} /var/log/packages/* ; done
libpthread.so.0
libcrypt.so.1
liblz4.so.1
/var/log/packages/lz4-1.9.3-i586-2:usr/lib/liblz4.so.1.9.3
liblzo2.so.2
/var/log/packages/lzo-2.10-i586-3:usr/lib/liblzo2.so.2.0.0
liblzma.so.5
/var/log/packages/aaa_elflibs-15.0-i586-30:lib/liblzma.so.5.2.5
/var/log/packages/xz-5.2.5-i586-2:lib/liblzma.so.5.2.5
libbz2.so.1
/var/log/packages/aaa_elflibs-15.0-i586-30:lib/libbz2.so.1.0.8
/var/log/packages/bzip2-1.0.8-i586-2:lib/libbz2.so.1.0.8
libaio.so.1
/var/log/packages/aaa_elflibs-15.0-i586-30:lib/libaio.so.1.0.1
/var/log/packages/libaio-0.3.112-i586-2:lib/libaio.so.1.0.1
libz.so.1
/var/log/packages/aaa_elflibs-15.0-i586-30:lib/libz.so.1.2.11
/var/log/packages/zlib-1.2.11-i586-3:lib/libz.so.1.2.11
libssl.so.1.1
/var/log/packages/openssl-1.1.1i-i586-2:lib/libssl.so.1.1
/var/log/packages/openssl-solibs-1.1.1i-i586-2:lib/libssl.so.1.1
libcrypto.so.1.1
/var/log/packages/openssl-1.1.1i-i586-2:lib/libcrypto.so.1.1
/var/log/packages/openssl-solibs-1.1.1i-i586-2:lib/libcrypto.so.1.1
libdl.so.2
libstdc++.so.6
/var/log/packages/aaa_elflibs-15.0-i586-30:usr/lib/libstdc++.so.6.0.28
/var/log/packages/gcc-g++-10.2.0-i586-3:usr/lib/libstdc++.so.6.0.28
/var/log/packages/gcc-g++-10.2.0-i586-3:usr/share/gdb/auto-load/usr/lib/libstdc++.so.6.0.28-gdb.py
libm.so.6
libc.so.6
ld-linux.so.2
 
Old 02-02-2021, 07:24 AM   #13
keefaz
LQ Guru
 
Registered: Mar 2004
Distribution: Slackware
Posts: 6,552

Rep: Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872Reputation: 872
No link to jemalloc library, interesting
Could you post output with (as root)
Code:
awk '/\.so/{ print $6}' /proc/$(</var/run/mysql/mysql.pid)/maps | sort -u

Last edited by keefaz; 02-02-2021 at 07:27 AM.
 
Old 02-02-2021, 07:32 AM   #14
cgw
LQ Newbie
 
Registered: Jan 2021
Posts: 13

Original Poster
Rep: Reputation: Disabled
Compiling build type debug now. The output below is for the glibc-2.30 (working) version.

Code:
# awk '/\.so/{ print $6}' /proc/$(</var/run/mysql/mysql.pid)/maps | sort -u
/lib/ld-2.32.so
/lib/libaio.so.1.0.1
/lib/libbz2.so.1.0.8
/lib/libc-2.32.so
/lib/libcrypt-2.32.so
/lib/libcrypto.so.1.1
/lib/libdl-2.32.so
/lib/liblzma.so.5.2.5
/lib/libm-2.32.so
/lib/libnss_files-2.32.so
/lib/libpthread-2.32.so
/lib/libssl.so.1.1
/lib/libz.so.1.2.11
/usr/lib/libgcc_s.so.1
/usr/lib/liblz4.so.1.9.3
/usr/lib/liblzo2.so.2.0.0
/usr/lib/libnss_winbind.so.2
/usr/lib/libreplace-samba4.so
/usr/lib/libstdc++.so.6.0.28
/usr/lib/libwinbind-client-samba4.so
 
Old 02-02-2021, 02:53 PM   #15
cgw
LQ Newbie
 
Registered: Jan 2021
Posts: 13

Original Poster
Rep: Reputation: Disabled
It no longer builds. Perhaps I should wait for a new repo version.

Code:
[ 13%] Built target GenError
[ 14%] Linking CXX executable mf_iocache-t
/usr/bin/ld: ../../mysys/libmysys.a(my_addr_resolve.c.o):/tmp/mariadb-10.5.8/mysys/my_addr_resolve.c:173: multiple definition of `info'; CMakeFiles/mf_iocache-t.dir/mf_iocache-t.cc.o:/tmp/mariadb-10.5.8/unittest/sql/mf_iocache-t.cc:99: first defined here
collect2: error: ld returned 1 exit status
make[2]: *** [unittest/sql/CMakeFiles/mf_iocache-t.dir/build.make:130: unittest/sql/mf_iocache-t] Error 1
make[1]: *** [CMakeFiles/Makefile2:4109: unittest/sql/CMakeFiles/mf_iocache-t.dir/all] Error 2
make: *** [Makefile:182: all] Error 2
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
LXer: KDE Participating in Google Summer of Code 2019, MariaDB Releasing New Open-Source MariaDB Enterprise Server, CentOS Celebrates 15th B LXer Syndicated Linux News 0 02-28-2019 06:50 AM
crash () { crash|crash& }; crash grob115 Linux - Security 6 05-07-2011 03:06 AM
RH 9.0 glibc rpm says it needs glibc-common, but glibc-common is installed whitshade Red Hat 2 04-28-2007 05:49 PM
Crash, Crash, Crash, Crash and You Guessed it Crash! little_penguin SUSE / openSUSE 8 07-04-2005 09:34 AM
xmms crash xine crash mplayer crash paledread Linux - Software 9 03-09-2004 07:09 AM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 02:00 PM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration