Commit b833371c authored by unknown's avatar unknown

Fix for bug #24611 "mysqld crashes when connecting from remote host, and compiled from source".

On some Linux distributions with both LinuxThreads and NPTL glibc versions available, statically built binaries can crash, because linker defaults to LinuxThreads when linking statically, but calls to external libraries (like libnss) are resolved to NPTL versions.

Since there is nothing we can do in the code to work that around, just give user an advice on how to fix that, if a crash happened on such a binary/OS combination.


sql/mysqld.cc:
  Advise a user on possible solutions in case of a crash in a statically built binary on a system with both LinuxThreads and NPTL available.
parent ee27eef7
...@@ -2148,6 +2148,16 @@ later when used with nscd), disable LDAP in your nsswitch.conf, or use a\n\ ...@@ -2148,6 +2148,16 @@ later when used with nscd), disable LDAP in your nsswitch.conf, or use a\n\
mysqld that is not statically linked.\n"); mysqld that is not statically linked.\n");
#endif #endif
#ifdef HAVE_NPTL
if (thd_lib_detected == THD_LIB_LT && !getenv("LD_ASSUME_KERNEL"))
fprintf(stderr,"\n\
You are running a statically-linked LinuxThreads binary on an NPTL system.\n\
This can result in crashes on some distributions due to LT/NPTL conflicts.\n\
You should either build a dynamically-linked binary, or force LinuxThreads\n\
to be used with the LD_ASSUME_KERNEL environment variable. Please consult\n\
the documentation for your distribution on how to do that.\n");
#endif
if (locked_in_memory) if (locked_in_memory)
{ {
fprintf(stderr, "\n\ fprintf(stderr, "\n\
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment