Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 05 Dec 2000 09:36:57 -0800
From:      Matthew Reimer <mreimer@vpop.net>
To:        Max Khon <fjoe@iclub.nsu.ru>
Cc:        stable@freebsd.org
Subject:   Re: Mysql segfaults; is the culprit libstdc++, pthread, regex ...?
Message-ID:  <3A2D27B9.733400F@vpop.net>
References:  <Pine.BSF.4.21.0012050932480.81142-100000@iclub.nsu.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
Max Khon wrote:
> 
> hi, there!
> 
> > We've been having problems with mysql segfaulting. It seems to occur
> > when it tries to return from a function, so maybe the stack is getting
> > stomped.
> 
> I have noticed similar problems with ACE wrappers yesterday
> (segfaults on "return"s)
> 
> > This problem occurs with mysql 3.23.2[678] (we haven't tested other
> > versions), and with FreeBSD 4.2 from Nov 21, 24, 28 (and presumably
> > newer) but it does not occur under FreeBSD 4.0 or Linux.
> 
> That's bad. Now I'm trying to build 4.2-RELEASE world (with libc_r
> recursive mutex fix) to see if it would fix my problems
> (4.2-RELEASE has unaltered g++ and no file descriptor race patchset)
> 
> > Strangely, what seems to fix the problem for FreeBSD 4.2 is to compile
> > mysql with gcc and g++ (instead of cc and c++), by setting CC=gcc and
> > CXX=g++. I'm not sure what happens differently, other than that the
> > binary compiled with gcc/g++ does not depend on libstdc++, whereas the
> > binary compiled with cc/c++ does:
> 
> > /usr/local/mysql/libexec/mysqld:
> >        libc_r.so.4 => /usr/lib/libc_r.so.4 (0x28176000)
> >        libm.so.2 => /usr/lib/libm.so.2 (0x28228000)
> >        libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x28243000)
> >
> > /usr/local/mysql-broken/libexec/mysqld:
> >        libc_r.so.4 => /usr/lib/libc_r.so.4 (0x281d8000)
> >        libz.so.2 => /usr/lib/libz.so.2 (0x2828a000)
> >        libcrypt.so.2 => /usr/lib/libcrypt.so.2 (0x28297000)
> >        libstdc++.so.3 => /usr/lib/libstdc++.so.3 (0x282ac000)
> >        libm.so.2 => /usr/lib/libm.so.2 (0x282f2000)
> >
> > Why does compiling mysql this way fix the problem?
> 
> can you show me `which g++` and `g++ -v` output?
> seems that you have g++ which is actually /usr/ports/lang/egcs -- that g++
> link programs against libstdc++ statically. it also uses other exception
> handling scheme. does mysql use exceptions?

$ which g++
/usr/bin/g++

$ g++ -v
Using builtin specs.
gcc version 2.95.2 19991024 (release)

Matt


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3A2D27B9.733400F>