Description:
I have some issues with mysql in my production environment that is causing mysql not to accept remote connections on multiple machines. It now appear that a name resolution problem is the root of the problem but it is not handled very well by mysql so it may want to be looked at. Right now, I can not make a mysql connection over the network to any of my machines but the local unix socket works fine. When ever I try a remote connection, mysql logs that it restarted without any message about the cause of the restart. After some investigation it was discovered the mysqld daemon actually seg faults. #1 - The segfault message (below) is not logged by the safe_mysqld script so that may want to be looked at. After a while of testing I discovered that if the --skip-name-resolve is specified in the my.cnf file then the server accepts remote connections. From the output of gdb it looks like there is some problem in the method _nss_dns_gethostbyaddr_r of file nss_dns/dns-host.c:223. I have the the outputs of strace and gdb output here... http://rescomputing.com/~mpetteys/mysqlerr.zip. There is probably some error handling in mysql that should be added to prevent seg faults in whatever the circumstance that is causing this. I am nearing my limits of diagnosing this problem. I downloaded glibc but cannot find anything in source that is obviously the cause of the problem. I am not a c coder. Any suggestion on solving the problem would be appreciated while analyzing and/or solving this problem. How-To-Repeat: DON'T KNOW YET Fix: DON'T KNOW YET Submitter-Id: <submitter ID> Originator: Organization: MySQL support: none Synopsis: Mysql seg faults on remote connections Severity: critical Priority: high Category: mysql Class: sw-bug Release: mysql-3.23.36 (Source distribution) Environment: [root@js1 /root]# rpm -qa | grep mysql mysqlclient9-3.23.22-4 mysql-server-3.23.36-1 mysql-3.23.36-1 mod_auth_mysql-1.11-1 php-mysql-4.1.2-7.1.4 [root@js1 /root]# cat /etc/redhat-release Red Hat Linux release 7.1 (Seawolf) [root@js1 /root]# System: Linux js1.rescomputing.com 2.4.9-6 #1 Thu Oct 18 09:22:43 EDT 2001 i686 unknown Architecture: i686 Some paths: /usr/bin/perl /usr/bin/make /usr/bin/gmake /usr/bin/gcc /usr/bin/cc GCC: Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/2.96/specs gcc version 2.96 20000731 (Red Hat Linux 7.1 2.96-85) Compilation info: CC='gcc' CFLAGS='-O2 -march=i386 -mcpu=i686' CXX='c++' CXXFLAGS='-O2 -march=i386 -mcpu=i686' LDFLAGS='' LIBC: lrwxrwxrwx 1 root root 13 Oct 19 2001 /lib/libc.so.6 -> libc-2.2.4.so -rwxr-xr-x 1 root root 1285884 Sep 9 12:10 /lib/libc-2.2.4.so -rw-r--r-- 1 root root 27336078 Sep 9 11:48 /usr/lib/libc.a -rw-r--r-- 1 root root 178 Sep 9 11:48 /usr/lib/libc.so Configure command: ./configure i386-redhat-linux --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbind ir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/includ e --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --shareds tatedir=/usr/com --mandir=/usr/share/man --infodir=/usr/share/info --without -debug --without-readline --enable-shared --with-extra-charsets=complex --wi th-bench --localstatedir=/var/lib/mysql --with-unix-socket-path=/var/lib/mys ql/mysql.sock --with-mysqld-user=mysql --with-extra-charsets=all --with-berk eley-db HERE IS WHAT IS LOGGED IN mysqld.log = basically the output of safe_mysqld 021016 00:39:22 mysqld ended 021016 00:39:31 mysqld started /usr/libexec/mysqld: ready for connections Number of processes running now: 1 mysqld process hanging, pid 10535 - killed 021016 00:39:48 mysqld restarted /usr/libexec/mysqld: ready for connections Number of processes running now: 1 mysqld process hanging, pid 10559 - killed 021016 00:40:42 mysqld restarted /usr/libexec/mysqld: ready for connections Number of processes running now: 1 mysqld process hanging, pid 10583 - killed 021016 00:40:52 mysqld restarted /usr/libexec/mysqld: ready for connections HERE IS THE OUTPUT OF THE safe_mysqld WHEN YOU RUN IT MANUALLY [root@js1 mpetteys]# /usr/bin/safe_mysqld Starting mysqld daemon with databases from /var/lib/mysql /usr/bin/safe_mysqld: line 258: 10651 Segmentation fault $NOHUP_NICENESS $ledir/$MYSQLD $defaults --basedir=$MY_BASEDIR_VERSION --datadir=$DATADIR $USER_OPTION --pid-file=$pid_file --skip-locking >>$err_log 2>&1 Number of processes running now: 1 mysqld process hanging, pid 10654 - killed 021016 00:42:28 mysqld restarted --------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail <[EMAIL PROTECTED]> To unsubscribe, e-mail <[EMAIL PROTECTED]> Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php