After three days of head-scratching, I finally seem to have solved my
problem with SEGV and GNU/Linux threads.
My earlier report of having things under control was premature. Things
had looked better, but then I found out that basically everything was
The thing I finally did to make everything work was to install the
very latest kernel. I was running 2.2.4, which is very recent, but I
switched to 2.2.5-ac6 (patches from yesterday) and everything simply
worked. (Note that the final step might just be one of possibly
several you'd need to take.)
Some lessons learned along the way:
- dmalloc is very good: http://www.dmalloc.com
- smartGdb didn't seem to work at all for me in binary form
and didn't build from sources:
- Threads awareness for gdb, GNU/Linux, glibc is barely there. Some
suggestions (apart from upgrading the kernel) from people to get
gdb to deal with GNU/Linux threads properly were to put the
following into ./.gdbinit:
handle SIGUSR1 nostop pass noprint
handle SIGUSR2 nostop pass noprint
I tried this with my 2.2.4 kernel, and it didn't work too well.
With 2.2.5 apparently it works.
That's enough I guess. Sorry this is only partly MySQL related.
Thanks to those who lent me a hand along the way and gave me clear
signs that it wasn't my code. Heaven forbid.
|• Followup (with resolution) on my GNU/Linux threads problem||terry jones||13 Apr|