I get the above error running mysql-administrator Reproducible: Always Steps to Reproduce: 1.mysql-administrator 2. 3. Actual Results: won't run Expected Results: run normally emerge info Portage 2.0.51-r2 (default-x86-2004.2, gcc-3.4.2, glibc-2.3.4.20041006-r0, 2.6.9-gentoo-r1 i686) ================================================================= System uname: 2.6.9-gentoo-r1 i686 AMD Athlon(tm) processor Gentoo Base System version 1.5.3 ccache version 2.3 [enabled] Autoconf: sys-devel/autoconf-2.59-r5 Automake: sys-devel/automake-1.8.5-r1 Binutils: sys-devel/binutils-2.15.92.0.2-r1 Headers: sys-kernel/linux26-headers-2.6.8.1-r1 Libtools: sys-devel/libtool-1.5.2-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=athlon-xp -O3 -pipe" CHOST="i686-pc-linux-gnu" COMPILER="" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=athlon-xp -O3 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs buildpkg ccache clean distcc distlocks fixpackages sandboxuserpriv usersandbox" GENTOO_MIRRORS="http://gentoo.mirror.sdv.fr http://linux.rz.ruhr-uni-bochum.de/download/gentoo-mirror/ http://ftp.heanet.ie/pub/gentoo/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.uk.gentoo.org/gentoo-portage" USE="3dnow X X509 aac aalib acl acpi acpi4linux aim alsa apm arts audiofile avantgo avi berkdb bitmap-fonts bluetooth bonobo bootsplash cddb cdparanoia cdr chroot codecs crypt ctype cups curl dga dio directfb divx4linux dvb dvd dvdr dvdread encode esd ethereal evo exif ext-zlib extensions f77 faac faad fam fbcon fftw flac foomaticdb freetype gd gdbm gif gimp gimpprint gnome gphoto2 gpm gstreamer gtk gtk2 gtkhtml icq idea ieee1394 imagemagick imlib imlib2 innodb ipv6 irda irmc ithreads jabber java joystick jpeg jpeg2k kde ldap libg++ libwww live lm_sensors lzo lzw-tiff mad mikmod mime mmx mmx2 mng monkey motif mozcalendar mozilla mozp3p mozsvg mozxmlterm mpeg mpeg4 msn mysql nas ncurses network nls no-old-linuxnocd nptl nvidia offensive oggvorbis ooo-kde opengl opie oscar oss pam pcap pcre pda pdflib perl pic png postgres prelink pthreads python qt quicktime readlinesamba scanner sdl sharedmem silc skey slang smime sockets sox speedo speex spell sse ssl svg svga t1lib tcltk tcpd tga theora threads tiff transcode truetype type1 usb uudeview v4l v4l2 vim-with-x wifi wmf x86 xfs xine xml2 xmms xosd xprint xscreensaver xv xvid yahoo zlib zvbi linguas_en_GB"
I received that error several times myself. But haven't found the cause for it.
Created attachment 42456 [details] strace of mysql-administrator strace when running mysql-administrator
Created attachment 43196 [details] Another mysql-administrator strace The strace on my machine looks quite a bit different than the one posted above... same result though -- Segmentation fault. free(): invalid pointer 0x81e6128! free(): invalid pointer 0x81e6140! Segmentation fault
Do these messages still appear with dev-db/mysql-administrator-1.0.18?
Waiting for response.
Still get the same error. Sorry for not replying before but it has been 2 months. mysql-administrator *** glibc detected *** free(): invalid pointer: 0x081fa0e0 *** /usr/bin/mysql-administrator: line 9: 28232 Aborted $MYPATH/mysql-administrator-bin
I didn't receive this message for ages. Even using MALLOC_CHECK_=2 I didn't get any abnormal message. I'm sorry, but currently I'm not able to reproduce this. If you're familar with gdb, can you give me a backtrace? You need to emerge mysql-administrator with FEATURES="nostrip" and CFLAGS="-ggdb3" to include debugging information in the binary.
The problem disappeared for me when i recompiled glibc with nptl support and then recompiled mysql-administrator.
Note: You have to export MA_DIR=/usr/bin for this to work: $ gdb mysql-administrator-bin GNU gdb 6.2.1 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1". (gdb) run Starting program: /usr/bin/mysql-administrator-bin [Thread debugging using libthread_db enabled] [New Thread -1225591120 (LWP 20293)] *** glibc detected *** free(): invalid pointer: 0x082100e0 *** Program received signal SIGABRT, Aborted. [Switching to Thread -1225591120 (LWP 20293)] 0xffffe410 in ?? () Current language: auto; currently c (gdb) bt #0 0xffffe410 in ?? () #1 0xbfffe9d8 in ?? () #2 0x00000006 in ?? () #3 0x00004f45 in ?? () #4 0xb7269eb1 in *__GI_raise (sig=6) at ../nptl/sysdeps/unix/sysv/linux/raise.c:64 #5 0xb726b4f1 in *__GI_abort () at ../sysdeps/generic/abort.c:88 #6 0xb729cd1a in __libc_message (do_abort=2, fmt=0xb7347758 "*** glibc detected *** %s: 0x%s ***\n") at ../sysdeps/unix/sysv/linux/libc_fatal.c:145 #7 0xb72a262b in malloc_printerr (action=2, str=0xb7344ed8 "free(): invalid pointer", ptr=0x0) at malloc.c:5523 #8 0xb72a305a in *__GI___libc_free (mem=0x82100e0) at malloc.c:3404 #9 0xb73fe15d in operator delete (ptr=0x0) at /var/tmp/portage/gcc-3.4.3.20050110/work/gcc-3.4.3/libstdc++-v3/libsupc++/del_op.cc:40 #10 0xb73df3ff in std::string::_Rep::_M_destroy (this=0x0, __a=@0xbfffecb0) at new_allocator.h:86 #11 0x08161d92 in MGOptions::get_user_config_dir (this=0x0) at basic_string.h:218 #12 0x08161e24 in MGOptions::build_path_to (this=0x0, file=@0x0) at MGPreferences.cc:68 #13 0x08161f28 in MGOptions::load (this=0x820eec0, file=@0xbffff140) ---Type <return> to continue, or q <return> to quit--- at MGPreferences.cc:94 #14 0x080c009a in main (argc=1, argv=0xbffff244) at new_allocator.h:62 (gdb) frame 13 #13 0x08161f28 in MGOptions::load (this=0x820eec0, file=@0xbffff140) at MGPreferences.cc:94 94 MGPreferences.cc: No such file or directory. in MGPreferences.cc Current language: auto; currently c++ (gdb) print file $1 = (const string &) @0xbffff140: {static npos = 4294967295, _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x82119bc "mysqla_options.xml"}} MGPreferences.cc is in the mysql-gui-common/source/linux directory in the sources. After poking around in there a bit, I see it is looking for mysqla_options.xml in ~/.mysqlgui, and this file does exist for me. Removing the directory does not seem the change the error, nor does creating a new empty directory. I don't really know C++ well enough to figure out what's going on here, but it looks like it's concatenating strings, and one is a NULL pointer. Portage 2.0.51-r15 (default-linux/x86/2004.3, gcc-3.4.3, glibc-2.3.4.20050125-r0, 2.6.10-gentoo-r7 i686) ================================================================= System uname: 2.6.10-gentoo-r7 i686 Intel(R) Pentium(R) 4 CPU 2.00GHz Gentoo Base System version 1.6.9 Python: dev-lang/python-2.4-r2,dev-lang/python-2.1.3-r1,dev-lang/python-2.2.3-r5,dev-lang/python-2.3.4 [2.3.4 (#1, Jul 30 2004, 09:49:24)] distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] dev-lang/python: 2.4-r2, 2.1.3-r1, 2.2.3-r5, 2.3.4 sys-devel/autoconf: 2.59-r6, 2.13 sys-devel/automake: 1.7.9-r1, 1.8.5-r3, 1.5, 1.4_p6, 1.6.3, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r4 sys-devel/libtool: 1.5.10-r5 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS="-march=pentium4 -falign-labels=8 -falign-functions=64 -O2 -g -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/alias /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-march=pentium4 -falign-labels=8 -falign-functions=64 -O2 -g -pipe" DISTDIR="/var/cache/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks nostrip sandbox sfperms" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_US.UTF-8" MAKEOPTS="-j2" PKGDIR="/var/cache/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/var/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X adns alsa apm avi berkdb bitmap-fonts bonobo cdr crypt cscope cups curl doc dvd emacs emboss encode esd f77 fam flac font-server foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml guile i8x0 imagemagick imlib innodb ipv6 java jpeg ldap libg++ libwww mad maildir mikmod mmx motif mozilla mpeg mysql ncurses nls nptl offensive oggvorbis opengl oss pam pcre pdflib perl png python qt quicktime readline samba sdl slang snmp speex spell sse ssl tcltk tcpd tetex tiff tktcl truetype truetype-fonts type1-fonts xml xml2 xmms xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LC_ALL, LDFLAGS
*** Bug 84917 has been marked as a duplicate of this bug. ***
I'm getting this too. *** glibc detected *** free(): invalid pointer: 0x00000000006cd358 *** /usr/bin/mysql-administrator: line 9: 21128 Aborted $MYPATH/mysql-administrator-bin Have tried re-emerging. Have tried exporting the path. no success. Emerge info ------------------------------------------------------------------ doc@wakko opt $ sudo emerge info Password: Portage 2.0.51.19 (default-linux/amd64/2004.3, gcc-3.4.3, glibc-2.3.4.20041102-r0, 2.6.9-gentoo-r14 x86_64) ================================================================= System uname: 2.6.9-gentoo-r14 x86_64 AMD Athlon(tm) 64 Processor 3000+ Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.4-r1 [2.3.4 (#1, Feb 7 2005, 10:05:54)] dev-lang/python: 2.3.4-r1 sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.8.5-r3, 1.7.9-r1, 1.5, 1.6.3, 1.4_p6, 1.9.4 sys-devel/binutils: 2.15.92.0.2-r1 sys-devel/libtool: 1.5.10-r4 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="amd64" AUTOCLEAN="yes" CFLAGS="-O2" CHOST="x86_64-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox" GENTOO_MIRRORS="ftp:///ftp-stud.fht-esslingen.de/pub/Mirrors/gentoo/ http://ftp.easynet.nl/mirror/gentoo/ http://gentoo.tiscali.nl/gentoo/ http://www.gigaload.org/gentoo.org/" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="amd64 X acpi alsa arts berkdb bitmap-fonts cdr crypt cups curl curlwrapper esd fam flac font-server fortran gdbm gif gpm gtk imlib java jp2 jpeg junit kde libwww lzw lzw-tiff mad mikmod motif mozilla mp3 mysql ncurses nls oggvorbis opengl oss pam pdflib perl png python qt readline samba sdl slang ssl tcltk tcpd tiff truetype truetype-fonts type1-fonts usb userlocales xml xml2 xmms xpm xrandr xv zlib" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, PORTDIR_OVERLAY ------------------------------------------------------------------ Strace output ------------------------------------------------------------------ doc@wakko opt $ strace mysql-administrator execve("/usr/bin/mysql-administrator", ["mysql-administrator"], [/* 51 vars */]) = 0 uname({sys="Linux", node="wakko", ...}) = 0 brk(0) = 0x5ba000 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a9556b000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=102406, ...}) = 0 mmap(NULL, 102406, PROT_READ, MAP_PRIVATE, 3, 0) = 0x2a9556c000 close(3) = 0 open("/lib/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\340\17\0"..., 640) = 640lseek(3, 624, SEEK_SET) = 624 read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\4\0\0\0"..., 32) = 32 fstat(3, {st_mode=S_IFREG|0755, st_size=11480, ...}) = 0 mmap(NULL, 1056984, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2a9566c000 mprotect(0x2a9566e000, 1048792, PROT_NONE) = 0 mmap(0x2a9576c000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0) = 0x2a9576c000 close(3) = 0 open("/lib/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\260\316"..., 640) = 640 lseek(3, 624, SEEK_SET) = 624 read(3, "\4\0\0\0\20\0\0\0\1\0\0\0GNU\0\0\0\0\0\2\0\0\0\4\0\0\0"..., 32) = 32 fstat(3, {st_mode=S_IFREG|0755, st_size=1270528, ...}) = 0 mmap(NULL, 2250248, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x2a9576f000 mprotect(0x2a9588b000, 1086984, PROT_NONE) = 0 mmap(0x2a9596f000, 135168, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x100000) = 0x2a9596f000 mmap(0x2a95990000, 17928, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2a95990000 close(3) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a95995000 mprotect(0x2a9598a000, 12288, PROT_READ) = 0 munmap(0x2a9556c000, 102406) = 0 open("/dev/urandom", O_RDONLY) = 3 read(3, "`\255\255\306$a\213\v", 8) = 8 close(3) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 open("/dev/tty", O_RDWR|O_NONBLOCK) = 3 close(3) = 0 brk(0) = 0x5ba000 brk(0x5db000) = 0x5db000 getuid() = 1001 getgid() = 100 geteuid() = 1001 getegid() = 100 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 open("/etc/mtab", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=331, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a9556c000 read(3, "/dev/sda9 / ext3 rw,noatime 0 0\n"..., 4096) = 331 close(3) = 0 munmap(0x2a9556c000, 4096) = 0 open("/proc/meminfo", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a9556c000 read(3, "MemTotal: 509724 kB\nMemFre"..., 1024) = 646 close(3) = 0 munmap(0x2a9556c000, 4096) = 0 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0 uname({sys="Linux", node="wakko", ...}) = 0 stat("/opt", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 getpid() = 21139 getppid() = 21138 getpgrp() = 21138 rt_sigaction(SIGCHLD, {0x430ef0, [], 0x4000000}, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 open("/usr/bin/mysql-administrator", O_RDONLY) = 3 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0x7fbffff010) = -1 ENOTTY (Inappropriate ioctl for device) lseek(3, 0, SEEK_CUR) = 0 read(3, "#!/bin/sh\n\nMYPATH=`dirname \"$0\"`"..., 80) = 80 lseek(3, 0, SEEK_SET) = 0 getrlimit(0x7, 0x7fbffff060) = 0 dup2(3, 255) = 255 close(3) = 0 fcntl(255, F_SETFD, FD_CLOEXEC) = 0 fcntl(255, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE|0x8000) fstat(255, {st_mode=S_IFREG|0755, st_size=125, ...}) = 0 lseek(255, 0, SEEK_CUR) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 read(255, "#!/bin/sh\n\nMYPATH=`dirname \"$0\"`"..., 125) = 125 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 pipe([3, 4]) = 0 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [RTMIN], 8) = 0 lseek(255, -92, SEEK_CUR) = 33 fork() = 21140 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 21140 wait4(-1, 0x7fbfffea74, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn(0xffffffffffffffff) = 0 rt_sigaction(SIGCHLD, {0x430ef0, [], 0x4000000}, {0x430ef0, [], 0x4000000}, 8) = 0 close(4) = 0 read(3, "/usr/bin\n", 128) = 9 read(3, "", 128) = 0 close(3) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [RTMIN], 8) = 0 rt_sigaction(SIGINT, {0x430060, [], 0x4000000}, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {0x430060, [], 0x4000000}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 read(255, "\nBASEPATH=`cd $MYPATH/.. ; pwd`\n"..., 125) = 92 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 pipe([3, 4]) = 0 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [RTMIN], 8) = 0 lseek(255, -60, SEEK_CUR) = 65 fork() = 21141 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 21141 wait4(-1, 0x7fbfffea74, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn(0xffffffffffffffff) = 0 rt_sigaction(SIGCHLD, {0x430ef0, [], 0x4000000}, {0x430ef0, [], 0x4000000}, 8) = 0 close(4) = 0 read(3, "/usr\n", 128) = 5 read(3, "", 128) = 0 close(3) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [RTMIN], 8) = 0 rt_sigaction(SIGINT, {0x430060, [], 0x4000000}, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {0x430060, [], 0x4000000}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 read(255, "\nexport MA_DIR=$BASEPATH\n\n$MYPAT"..., 125) = 60 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [RTMIN], 8) = 0 lseek(255, -1, SEEK_CUR) = 124 fork() = 21142 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [RTMIN], 8) = 0 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [RTMIN], 8) = 0 rt_sigaction(SIGINT, {0x430060, [], 0x4000000}, {SIG_DFL}, 8) = 0 wait4(-1, *** glibc detected *** free(): invalid pointer: 0x00000000006cd358 ***[{WIFSIGNALED(s) && WTERMSIG(s) == SIGABRT}], 0, NULL) = 21142 fstat(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 4), ...}) = 0 mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a9556c000 write(2, "/usr/bin/mysql-administrator: li"..., 100/usr/bin/mysql-administrator: line 9: 21142 Aborted $MYPATH/mysql-administrator-bin ) = 100 rt_sigprocmask(SIG_SETMASK, [RTMIN], NULL, 8) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- wait4(-1, 0x7fbfffed04, WNOHANG, NULL) = -1 ECHILD (No child processes) rt_sigreturn(0xffffffffffffffff) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {0x430060, [], 0x4000000}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 read(255, "\n", 125) = 1 rt_sigprocmask(SIG_BLOCK, NULL, [RTMIN], 8) = 0 read(255, "", 125) = 0 munmap(0x2a9556c000, 4096) = 0 exit_group(134) = ?
I don't know if this is the reason but it works when I change to mysql-4.1.8 (even if this is already old, the last is 4.1.10a). I don't know if mysql-administrator works different with the different version of mysql.
adding my self to the unfortunates list :)
I'm seeing this too. adam@aphrodite adam $ mysql-administrator *** glibc detected *** free(): invalid pointer: 0x081cc0f0 *** /usr/bin/mysql-administrator: line 9: 23903 Aborted $MYPATH/mysql-administrator-bin adam@aphrodite adam $ export MA_DIR=/usr/bin adam@aphrodite adam $ mysql-administrator *** glibc detected *** free(): invalid pointer: 0x081cc0f0 *** /usr/bin/mysql-administrator: line 9: 23903 Aborted $MYPATH/mysql-administrator-bin emerge info data: Portage 2.0.51.19 (default-linux/x86/2005.0, gcc-3.4.3-20050110, glibc-2.3.5-r0, 2.6.11-gentoo-r3-kf1 i686) ================================================================= System uname: 2.6.11-gentoo-r3-kf1 i686 Intel(R) Celeron(R) CPU 2.53GHz Gentoo Base System version 1.4.16 Python: dev-lang/python-2.3.5 [2.3.5 (#1, May 7 2005, 15:15:35)] distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]ccache version 2.3 [enabled] dev-lang/python: 2.3.5 sys-apps/sandbox: [Not Present] sys-devel/autoconf: 2.13, 2.59-r6 sys-devel/automake: 1.5, 1.8.5-r3, 1.9.5, 1.6.3, 1.7.9-r1, 1.4_p6 sys-devel/binutils: 2.15.92.0.2-r7 sys-devel/libtool: 1.5.16 virtual/os-headers: 2.6.8.1-r2 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/afs/C /etc/afs/afsws /etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-O3 -march=pentium4 -fomit-frame-pointer -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" MAKEOPTS="-j2" PKGDIR="/usr/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X Xaw3d aac aalib acl acpi afs alsa apache2 apm audiofile avi bash-completion berkdb bidi bitmap-fonts blas bonobo bzip2 bzlib caps cdparanoia cdr crypt cups curl dga divx4linux doc dts dv dvb dvd dvdr dvdread dxr3 edl eds emacs emacs-w3 emboss encode esd ethereal evo examples expat f2c fam ffmpeg firebird fits flac font-server foomaticdb fortran gcj gd gdbm ggi gif glitz glut gnome gnutls gphoto2 gpm gstreamer gtk gtk2 guile i8x0 icq icu idea imagemagick imap imlib innodb ipv6 jabber jack java javascript jikes jpeg jpeg2k junit jython kde kdeenablefinal kerberos krb4 lcms ldap libcaca libg++ libwww lm_sensors lzo mad mcal mikmod mng motif mozdevelop mozilla mozxmlterm mp3 mpeg mpi mysql mythtv nas ncurses netboot network nls nntp nptl nptlonly objc odbc offensive ogdi ogg oggvorbis openexr opengl oss pam parse-clocks pcre pda pdflib perl pg-hier pg-intdatetime plotutils png postgres povray ppds prelude python qt quicktime readline real rhino rrdtool rtc ruby samba sasl scanner sdl skey slang slp snmp source speex spell ssl startup-notification svga sysfs tcltk tcpd tetex tga theora tiff truetype truetype-fonts type1-fonts ucs2 unicode usb v4l v4l2 vhosts vidix vorbis win32codecs xanim xine xinerama xml xml2 xmms xprint xv xvid xvmc zeo zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CBUILD, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS
This is with version: adam@aphrodite adam $ epm -q mysql-administrator mysql-administrator-1.0.20
Same thing happens with version: adam@aphrodite adam $ epm -q mysql-administrator mysql-administrator-1.0.19-r1 adam@aphrodite adam $ mysql-administrator *** glibc detected *** free(): invalid pointer: 0x081cc0f0 *** /usr/bin/mysql-administrator: line 9: 30205 Aborted $MYPATH/mysql-administrator-bin I have glibc installed with this options: aphrodite root # emerge -av glibc These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] sys-libs/glibc-2.3.5 -build -debug -erandom -hardened (-multilib) +nls -nomalloccheck +nptl +nptlonly -pic -userlocales 0 kB Total size of downloads: 0 kB
I'll give it another try to reproduce it here. But on all systems I tried it was working fine. Must be some kind of special USE flags combination. I'll poke around a bit
Based upon Comment #8, I recompiled glibc with the following use flags: ==================================== aphrodite root # emerge -av glibc These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild R ] sys-libs/glibc-2.3.5 -build -debug -erandom -hardened (-multilib) +nls -nomalloccheck +nptl -nptlonly -pic -userlocales 0 kB Total size of downloads: 0 kB Do you want me to merge these packages? [Yes/No] ========================================= (same use flags as before, except nptlonly is now gone) I then rebooted and remerged mysql-administrator. Unfortunately for me, the problem is still present: adam@aphrodite adam $ mysql-administrator *** glibc detected *** free(): invalid pointer: 0x081cc0f0 *** /usr/bin/mysql-administrator: line 9: 15919 Aborted $MYPATH/mysql-administrator-bin FWIW, just today I built mysql-administrator on a differnent machine (~ppc) and had no problems whatsoever. That machine is running glibc-2.3.4.20041102-r1 I wonder if the problem is in glibc-2.3.5? I'm hesitant to try downgrading my glibc because I'm not sure if something on the problematic box depends on that version. HTH.
strace follows: adam@aphrodite adam $ strace mysql-administrator execve("/usr/bin/mysql-administrator", ["mysql-administrator"], [/* 59 vars */]) = 0 uname({sys="Linux", node="aphrodite", ...}) = 0 brk(0) = 0x80ca000 access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory) open("/etc/ld.so.cache", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=163478, ...}) = 0 mmap2(NULL, 163478, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7fc1000 close(3) = 0 open("/lib/libdl.so.2", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\300\v\0"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=10948, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fc0000 mmap2(NULL, 12388, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7fbc000 mmap2(0xb7fbe000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x1) = 0xb7fbe000 close(3) = 0 open("/lib/tls/libc.so.6", O_RDONLY) = 3 read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0>P\1\000"..., 512) = 512 fstat64(3, {st_mode=S_IFREG|0755, st_size=1334960, ...}) = 0 mmap2(NULL, 1244348, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb7e8c000 mmap2(0xb7fb6000, 16384, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x129) = 0xb7fb6000 mmap2(0xb7fba000, 7356, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7fba000 close(3) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7e8b000 mprotect(0xb7fb6000, 4096, PROT_READ) = 0 set_thread_area({entry_number:-1 -> 6, base_addr:0xb7e8b6c0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0 munmap(0xb7fc1000, 163478) = 0 open("/dev/urandom", O_RDONLY) = 3 read(3, "\21U\252\366", 4) = 4 close(3) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3 close(3) = 0 brk(0) = 0x80ca000 brk(0x80eb000) = 0x80eb000 getuid32() = 1000 getgid32() = 100 geteuid32() = 1000 getegid32() = 100 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 time(NULL) = 1116613902 open("/etc/mtab", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=478, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fe8000 read(3, "/dev/hda5 / ext3 rw 0 0\nnone /pr"..., 4096) = 478 close(3) = 0 munmap(0xb7fe8000, 4096) = 0 open("/proc/meminfo", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0444, st_size=0, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fe8000 read(3, "MemTotal: 1026212 kB\nMemFre"..., 1024) = 598 close(3) = 0 munmap(0xb7fe8000, 4096) = 0 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGCHLD, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0 uname({sys="Linux", node="aphrodite", ...}) = 0 stat64("/home/adam", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 stat64(".", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 getpid() = 16013 getppid() = 16012 getpgrp() = 16012 rt_sigaction(SIGCHLD, {0x806f5bc, [], 0}, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 open("/usr/bin/mysql-administrator", O_RDONLY|O_LARGEFILE) = 3 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfffee50) = -1 ENOTTY (Inappropriate ioctl for device) _llseek(3, 0, [0], SEEK_CUR) = 0 read(3, "#!/bin/sh\n\nMYPATH=`dirname \"$0\"`"..., 80) = 80 _llseek(3, 0, [0], SEEK_SET) = 0 getrlimit(RLIMIT_NOFILE, {rlim_cur=1024, rlim_max=1024}) = 0 dup2(3, 255) = 255 close(3) = 0 fcntl64(255, F_SETFD, FD_CLOEXEC) = 0 fcntl64(255, F_GETFL) = 0x8000 (flags O_RDONLY|O_LARGEFILE) fstat64(255, {st_mode=S_IFREG|0755, st_size=125, ...}) = 0 _llseek(255, 0, [0], SEEK_CUR) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 read(255, "#!/bin/sh\n\nMYPATH=`dirname \"$0\"`"..., 125) = 125 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 pipe([3, 4]) = 0 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0 _llseek(255, -92, [33], SEEK_CUR) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e8b708) = 16014 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG) = 16014 waitpid(-1, 0xbfffe890, WNOHANG) = -1 ECHILD (No child processes) sigreturn() = ? (mask now []) rt_sigaction(SIGCHLD, {0x806f5bc, [], 0}, {0x806f5bc, [], 0}, 8) = 0 close(4) = 0 read(3, "/usr/bin\n", 128) = 9 read(3, "", 128) = 0 close(3) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {0x806eab6, [], 0}, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {0x806eab6, [], 0}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 read(255, "\nBASEPATH=`cd $MYPATH/.. ; pwd`\n"..., 125) = 92 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 pipe([3, 4]) = 0 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0 _llseek(255, -60, [65], SEEK_CUR) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e8b708) = 16015 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG) = 16015 waitpid(-1, 0xbfffe890, WNOHANG) = -1 ECHILD (No child processes) sigreturn() = ? (mask now []) rt_sigaction(SIGCHLD, {0x806f5bc, [], 0}, {0x806f5bc, [], 0}, 8) = 0 close(4) = 0 read(3, "/usr\n", 128) = 5 read(3, "", 128) = 0 close(3) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {0x806eab6, [], 0}, {SIG_DFL}, 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, {0x806eab6, [], 0}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 read(255, "\nexport MA_DIR=$BASEPATH\n\n$MYPAT"..., 125) = 60 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 rt_sigprocmask(SIG_BLOCK, [INT CHLD], [], 8) = 0 _llseek(255, -1, [124], SEEK_CUR) = 0 clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb7e8b708) = 16016 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0 rt_sigaction(SIGINT, {0x806eab6, [], 0}, {SIG_DFL}, 8) = 0 waitpid(-1, *** glibc detected *** free(): invalid pointer: 0x081cc0f0 *** [{WIFSIGNALED(s) && WTERMSIG(s) == SIGABRT}], 0) = 16016 fstat64(2, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 4), ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7fe8000 write(2, "/usr/bin/mysql-administrator: li"..., 100/usr/bin/mysql-administrator: line 9: 16016 Aborted $MYPATH/mysql-administrator-bin ) = 100 rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0 --- SIGCHLD (Child exited) @ 0 (0) --- waitpid(-1, 0xbfffea68, WNOHANG) = -1 ECHILD (No child processes) sigreturn() = ? (mask now []) rt_sigaction(SIGINT, {SIG_DFL}, {0x806eab6, [], 0}, 8) = 0 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 read(255, "\n", 125) = 1 rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0 read(255, "", 125) = 0 munmap(0xb7fe8000, 4096) = 0 exit_group(134) = ? adam@aphrodite adam $
(In reply to comment #9) > #11 0x08161d92 in MGOptions::get_user_config_dir (this=0x0) > at basic_string.h:218 > #12 0x08161e24 in MGOptions::build_path_to (this=0x0, file=@0x0) > at MGPreferences.cc:68 > #13 0x08161f28 in MGOptions::load (this=0x820eec0, file=@0xbffff140) > at MGPreferences.cc:94 > #14 0x080c009a in main (argc=1, argv=0xbffff244) at new_allocator.h:62 > (gdb) frame 13 > #13 0x08161f28 in MGOptions::load (this=0x820eec0, file=@0xbffff140) > at MGPreferences.cc:94 > 94 MGPreferences.cc: No such file or directory. > in MGPreferences.cc > Current language: auto; currently c++ > (gdb) print file > $1 = (const string &) @0xbffff140: {static npos = 4294967295, > _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x82119bc "mysqla_options.xml"}} This is what looks really strange to me and seems to be the cause of it. Frame 13 shows that we've been called with this and file arguments. this is implicit the current instance of class MGOptions. In line 94 we call build_to_path and now this is NULL. In line 68 we call get_user_config_dir and this is again NULL. Code from MGPreferences.cc: 56 std::string MGOptions::get_user_config_dir() 57 { 58 std::string path=Glib::get_home_dir()+"/.mysqlgui"; 59 60 check_directory(path, true); 61 62 return path; 63 } 66 std::string MGOptions::build_path_to(const std::string &file) 67 { 68 return Glib::build_filename(get_user_config_dir(), file); 69 } 90 bool MGOptions::load(const std::string &file) 91 { 92 MYX_LIB_ERROR err; 93 MYX_APPLICATION_OPTIONS *options; 94 std::string path= build_path_to(file); 95 96 _store_path= file; 97 98 options= myx_get_application_options((char*)path.c_str(), &err); 99 if (!options) 100 return false; 101 102 process_options(options); 103 104 free_options(options); 105 106 return true; 107 }
Created attachment 59407 [details] strace of mysql-administrator with glibc-2.3.5 compiled w/out nptl
Still trying the shotgun approach for lack of any other ideas and impatience to resolve this problem. As the strace shows, after rebuilding glibc-2.3.5 with yet another use flag removed (nptl), then rebooting and remerging mysql-admininistrator yet again, I still have this problem. adam@aphrodite adam $ mysql-administrator *** glibc detected *** free(): invalid pointer: 0x081cc138 *** /usr/bin/mysql-administrator: line 9: 16171 Aborted $MYPATH/mysql-administrator-bin My inexpert opinion: I'm thinking something is broken in glibc-2.3.5 here.
I'm running 2.3.5 myself and don't have the problem. I'm running mysql-4.1.8-r1 but according to the gdb backtraces the error is in some area that has nothing to do with the mysql library. And my USE flags for glibc are mostly the same you are all using: [ebuild R ] sys-libs/glibc-2.3.5 -build -debug -erandom -hardened (-multilib) +nls -nomalloccheck +nptl -nptlonly -pic +userlocales 0 kB
Hey, I am having the same problem, and with mysql-query-browser too. I am not a C/C++ coder, but I am wondering if it could be something in the GTK libraries?
My desktop is primarily KDE, though I have no grudges against gnome. So I ran an 'emerge -epv mysql-query-browser' and selected a few gnome related libraries to reemerge: emerge --oneshot -pv mysql orbit gtk+ gnome-libs pango libglade gtkmm libbonobo libgnomecanvas libgnome libbonoboui libgnomeui gtk-engines libgtkhtml which gave the interesting result: These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild U ] dev-db/mysql-4.1.12 [4.0.24] +berkdb -cluster -debug +doc -extraengine -geometry -minimal +perl +readline (-selinux) +ssl -static +tcpd +utf8* 0 kB [ebuild U ] dev-perl/DBD-mysql-2.9007 [2.9003] 114 kB [ebuild R ] gnome-base/orbit-2.12.1 -debug +doc +ssl 659 kB [ebuild R ] x11-libs/gtk+-2.6.4-r1 -debug +doc +jpeg -static +tiff 10,985 kB [ebuild R ] gnome-base/gnome-libs-1.4.2 +doc +kde +nls 2,807 kB [ebuild R ] x11-libs/pango-1.8.1 -debug +doc -static 973 kB [ebuild R ] gnome-base/libglade-2.4.2 -debug +doc 310 kB [ebuild NS ] dev-libs/libsigc++-2.0.11 -debug 1,401 kB [ebuild N ] dev-cpp/glibmm-2.4.7-r1 -debug +doc 791 kB [ebuild NS ] dev-cpp/gtkmm-2.4.11 -debug 3,837 kB [ebuild R ] gnome-base/libbonobo-2.8.1 -debug +doc 1,036 kB [ebuild R ] gnome-base/libgnomecanvas-2.8.0 -debug +doc 565 kB [ebuild R ] gnome-base/libgnome-2.8.1 -debug +doc 1,150 kB [ebuild R ] gnome-base/libbonoboui-2.8.1 -debug +doc 997 kB [ebuild R ] gnome-base/libgnomeui-2.8.1-r1 -debug +doc +jpeg 1,422 kB [ebuild R ] x11-themes/gtk-engines-2.2.0 1,072 kB [ebuild R ] gnome-extra/libgtkhtml-3.2.5 -debug 1,284 kB Note, there are a few libraries which are listed as dependencies and are not emerged (hmm, broken dependencies). Results after reemerging libraries: bummer. :( *** glibc detected *** free(): invalid pointer: 0x0820de70 *** /usr/bin/mysql-query-browser: line 9: 28714 Abortado $MYPATH/mysql-query-browser-bin /usr/bin/mysql-administrator: line 9: 30198 Falha de segmenta
My desktop is primarily KDE, though I have no grudges against gnome. So I ran an 'emerge -epv mysql-query-browser' and selected a few gnome related libraries to reemerge: emerge --oneshot -pv mysql orbit gtk+ gnome-libs pango libglade gtkmm libbonobo libgnomecanvas libgnome libbonoboui libgnomeui gtk-engines libgtkhtml which gave the interesting result: These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild U ] dev-db/mysql-4.1.12 [4.0.24] +berkdb -cluster -debug +doc -extraengine -geometry -minimal +perl +readline (-selinux) +ssl -static +tcpd +utf8* 0 kB [ebuild U ] dev-perl/DBD-mysql-2.9007 [2.9003] 114 kB [ebuild R ] gnome-base/orbit-2.12.1 -debug +doc +ssl 659 kB [ebuild R ] x11-libs/gtk+-2.6.4-r1 -debug +doc +jpeg -static +tiff 10,985 kB [ebuild R ] gnome-base/gnome-libs-1.4.2 +doc +kde +nls 2,807 kB [ebuild R ] x11-libs/pango-1.8.1 -debug +doc -static 973 kB [ebuild R ] gnome-base/libglade-2.4.2 -debug +doc 310 kB [ebuild NS ] dev-libs/libsigc++-2.0.11 -debug 1,401 kB [ebuild N ] dev-cpp/glibmm-2.4.7-r1 -debug +doc 791 kB [ebuild NS ] dev-cpp/gtkmm-2.4.11 -debug 3,837 kB [ebuild R ] gnome-base/libbonobo-2.8.1 -debug +doc 1,036 kB [ebuild R ] gnome-base/libgnomecanvas-2.8.0 -debug +doc 565 kB [ebuild R ] gnome-base/libgnome-2.8.1 -debug +doc 1,150 kB [ebuild R ] gnome-base/libbonoboui-2.8.1 -debug +doc 997 kB [ebuild R ] gnome-base/libgnomeui-2.8.1-r1 -debug +doc +jpeg 1,422 kB [ebuild R ] x11-themes/gtk-engines-2.2.0 1,072 kB [ebuild R ] gnome-extra/libgtkhtml-3.2.5 -debug 1,284 kB Note, there are a few libraries which are listed as dependencies and are not emerged (hmm, broken dependencies). Results after reemerging libraries: bummer. :( *** glibc detected *** free(): invalid pointer: 0x0820de70 *** /usr/bin/mysql-query-browser: line 9: 28714 Abortado $MYPATH/mysql-query-browser-bin /usr/bin/mysql-administrator: line 9: 30198 Falha de segmentação $MYPATH/mysql-administrator-bin
Update: It's still broke! However, it crashes in a new and interesting way: $ export MA_DIR=/usr/bin $ gdb mysql-administrator-bin GNU gdb 6.3 Copyright 2004 Free Software Foundation, Inc. GDB is free software, covered by the GNU General Public License, and you are welcome to change it and/or distribute copies of it under certain conditions. Type "show copying" to see the conditions. There is absolutely no warranty for GDB. Type "show warranty" for details. This GDB was configured as "i686-pc-linux-gnu"...Using host libthread_db library "/lib/libthread_db.so.1". gdb> run [Thread debugging using libthread_db enabled] [New Thread -1225529680 (LWP 5044)] *** glibc detected *** free(): invalid pointer: 0x081ee0e0 *** Program received signal SIGABRT, Aborted. [Switching to Thread -1225529680 (LWP 5044)] Error while running hook_stop: Invalid type combination in ordering comparison. 0xffffe410 in __kernel_vsyscall () gdb> bt #0 0xffffe410 in __kernel_vsyscall () #1 0xb7226a93 in raise () from /lib/libc.so.6 #2 0xb7321ff4 in ?? () from /lib/libc.so.6 #3 0xb6f3e6b0 in ?? () # to save space, deleting lines like this #4 0xb722866d in abort () from /lib/libc.so.6 #38 0xb6f2a448 in ?? () from /lib/libnss_nis.so.2 #43 0xb8000fd4 in ?? () from /lib/ld-linux.so.2 #44 0xb6f2a436 in ?? () from /lib/libnss_nis.so.2 #45 0xb7ff4d43 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2 #47 0xb7ff3c83 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2 #52 0xb80011c0 in _rtld_global () from /lib/ld-linux.so.2 #53 0xb7323800 in __after_morecore_hook () from /lib/libc.so.6 #54 0xb7321ff4 in ?? () from /lib/libc.so.6 #55 0xb7323800 in __after_morecore_hook () from /lib/libc.so.6 #58 0xb72613a2 in calloc () from /lib/libc.so.6 #61 0xb72284e4 in abort () from /lib/libc.so.6 #64 0xb725a616 in __fsetlocking () from /lib/libc.so.6 #67 0xb7362160 in ?? () from /usr/lib/gcc/i686-pc-linux-gnu/3.4.4/libstdc++.so.6#68 0xb7316360 in in6addr_loopback () from /lib/libc.so.6 #70 0xb7312eb4 in in6addr_loopback () from /lib/libc.so.6 #72 0xb7316379 in in6addr_loopback () from /lib/libc.so.6 #76 0xb731637f in in6addr_loopback () from /lib/libc.so.6 #79 0xb7ff2f05 in _dl_rtld_di_serinfo () from /lib/ld-linux.so.2 #81 0xb72b1153 in open () from /lib/libc.so.6 #82 0xb7316360 in in6addr_loopback () from /lib/libc.so.6 #87 0xb7316380 in in6addr_loopback () from /lib/libc.so.6 #93 0xb7321ff4 in ?? () from /lib/libc.so.6 #95 0xb7316360 in in6addr_loopback () from /lib/libc.so.6 #96 0xb7323800 in __after_morecore_hook () from /lib/libc.so.6 #97 0xb72633b6 in mallopt () from /lib/libc.so.6 #99 0xb7316360 in in6addr_loopback () from /lib/libc.so.6 #100 0xb7312eb4 in in6addr_loopback () from /lib/libc.so.6 #106 0xb7321ff4 in ?? () from /lib/libc.so.6 #107 0xb7312eb4 in in6addr_loopback () from /lib/libc.so.6 #109 0xb7261fa2 in mallopt () from /lib/libc.so.6 #111 0xb7312eb4 in in6addr_loopback () from /lib/libc.so.6 #113 0xb73afa6e in std::string::_M_mutate (this=Cannot access memory at address 0xfffffff1 ) at basic_string.tcc:391 Previous frame inner to this frame (corrupt stack?) gdb> This would seem to indicate some problem with IPv6 support. mysql-query-browser dies with the same sort of error message, but a very different stack trace, which I'm not including. My emerge info is as follows: Portage 2.0.51.22-r2 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r0, 2.6.11-gentoo-r11 i686) ================================================================= System uname: 2.6.11-gentoo-r11 i686 Intel(R) Pentium(R) 4 CPU 3.40GHz Gentoo Base System version 1.6.13 dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.11 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.18-r1 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -falign-labels=8 -falign-functions=64 -O2 -g -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /var/cache /var/portage /var/tmp /etc/env.d" CXXFLAGS="-march=pentium4 -falign-labels=8 -falign-functions=64 -O2 -g -pipe" DISTDIR="/var/cache/distfiles" FEATURES="autoconfig distlocks nostrip sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_US.utf8" LC_ALL="en_US.utf8" MAKEOPTS="-j2" PKGDIR="/var/cache/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/var/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="x86 X aac alsa apm avi berkdb bitmap-fonts cdr crypt cups curl dvd dvdr eds emacs emboss encode esd fam firefox foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 imagemagick imlib ipv6 java jpeg ldap libg++ libwww mad maildir mikmod mmx motif mozilla mozsvg mp3 mpeg mysql ncurses nls nptl offensive ogg oggvorbis opengl pam pdflib perl png python qt quicktime readline samba sdl spell sse ssl svga tcltk tcpd tidy tiff truetype truetype-fonts type1-fonts vorbis win32codecs xml xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS, LINGUAS
Not sure if this is related or helpful - attemting to run this on amd64 and I get: mysql-administrator-bin: stack smashing attack in function myx_convert_utf8_dbstr() /usr/bin/mysql-administrator: line 18: 7935 Aborted $PRG-bin This is right after entering my password on the initial dialog box. Running 1.0.22a on mostly stable amd64. I'm not sure if this is related to this bug or not, but since I'm using -fstack-protector it could be that this error is a precursor to the problems described below.
*** Bug 105610 has been marked as a duplicate of this bug. ***
Here's a better GDB backtrace (version 1.1.2): *** glibc detected *** free(): invalid pointer: 0x081f10e0 *** #0 0xffffe410 in __kernel_vsyscall () #1 0xb705dd1d in *__GI_raise (sig=0x6) at raise.c:64 #2 0xb705f333 in *__GI_abort () at abort.c:88 #3 0xb7090b52 in __libc_message (do_abort=0x2, fmt=0xb713ba98 "*** glibc detected *** %s: 0x%s ***\n") at libc_fatal.c:145 #4 0xb7096497 in malloc_printerr (action=0x2, str=0xb713924b "free(): invalid pointer", ptr=0x0) at malloc.c:5523 #5 0xb7096e9b in *__GI___libc_free (mem=0x81f10e0) at malloc.c:3404 #6 0xb71f243d in operator delete (ptr=0x0) at /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/libstdc++-v3/libsupc++/del_op.cc:40 #7 0xb71d373b in std::string::_Rep::_M_destroy (this=0x0, __a=@0xbff5ab30) at new_allocator.h:86 #8 0x0813bec2 in MGOptions::get_user_config_dir (this=0x0) at basic_string.h:220 #9 0x0813bf24 in MGOptions::build_path_to (this=0x0, file=@0x0) at MGPreferences.cc:68 #10 0x0813c028 in MGOptions::load (this=0x81f04a0, file=@0xbff5afc0) at MGPreferences.cc:94 #11 0x0809055a in main (argc=0x1, argv=0xbff5b0c4) at new_allocator.h:62 Note that with the related mysql-query-browser-1.1.14, I get a slightly different error: *** glibc detected *** double free or corruption (out): 0x08225dc0 *** #0 0xffffe410 in __kernel_vsyscall () #1 0xb6b0dd1d in *__GI_raise (sig=0x6) at raise.c:64 #2 0xb6b0f333 in *__GI_abort () at abort.c:88 #3 0xb6b40b52 in __libc_message (do_abort=0x2, fmt=0xb6beba98 "*** glibc detected *** %s: 0x%s ***\n") at libc_fatal.c:145 #4 0xb6b46497 in malloc_printerr (action=0x2, str=0xb6bebb70 "double free or corruption (out)", ptr=0x0) at malloc.c:5523 #5 0xb6b46e9b in *__GI___libc_free (mem=0x8225dc0) at malloc.c:3404 #6 0xb6ca143d in operator delete (ptr=0x0) at /var/tmp/portage/gcc-3.4.4-r1/work/gcc-3.4.4/libstdc++-v3/libsupc++/del_op.cc:40 #7 0xb6c8273b in std::string::_Rep::_M_destroy (this=0x0, __a=@0xbfe29fb0) at new_allocator.h:86 #8 0x08150342 in MGOptions::get_user_config_dir (this=0x0) at basic_string.h:220 #9 0x081503a4 in MGOptions::build_path_to (this=0x0, file=@0x0) at MGPreferences.cc:68 #10 0x081504a8 in MGOptions::load (this=0x82232a0, file=@0xbfe2a210) at MGPreferences.cc:94 #11 0x0809f87f in main (argc=0x1, argv=0xbfe2a324) at new_allocator.h:62 Portage 2.0.52-r1 (default-linux/x86/2005.0, gcc-3.4.4, glibc-2.3.5-r1, 2.6.12-gentoo-r9 i686) ================================================================= System uname: 2.6.12-gentoo-r9 i686 Intel(R) Pentium(R) 4 CPU 3.40GHz Gentoo Base System version 1.12.0_pre8 dev-lang/python: 2.3.5, 2.4.1-r1 sys-apps/sandbox: 1.2.13 sys-devel/autoconf: 2.13, 2.59-r7 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6 sys-devel/binutils: 2.16.1 sys-devel/libtool: 1.5.20 virtual/os-headers: 2.6.11-r2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-march=pentium4 -falign-labels=8 -falign-functions=64 -O2 -g -pipe" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/lib/mozilla/defaults/pref /usr/share/config /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /var/cache /var/portage /var/tmp /etc/env.d" CXXFLAGS="-march=pentium4 -falign-labels=8 -falign-functions=64 -O2 -g -pipe" DISTDIR="/var/cache/distfiles" FEATURES="autoconfig distlocks nostrip sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo" LANG="en_US.utf8" LC_ALL="en_US.utf8" MAKEOPTS="-j2" PKGDIR="/var/cache/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/var/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.us.gentoo.org/gentoo-portage" USE="x86 X aac alsa apm avi berkdb bitmap-fonts cdr crypt cups curl db2 dvd dvdr eds emacs emboss encode esd fam firefox foomaticdb fortran gdbm gif gnome gpm gstreamer gtk gtk2 imagemagick imlib ipv6 java jpeg ldap libg++ libwww mad maildir mikmod mmx motif mozilla mozsvg mp3 mpeg mysql ncurses nls nptl odbc offensive ogg oggvorbis opengl openntpd pam pdflib perl png python quicktime readline samba sdl spell sse ssl svga tcltk tcpd tidy tiff truetype truetype-fonts type1-fonts vorbis win32codecs xml xml2 xmms xv zlib userland_GNU kernel_linux elibc_glibc" Unset: ASFLAGS, CTARGET, LDFLAGS, LINGUAS
Reporting in... same problem here. I'm running: Portage 2.0.51.22-r3 (default-linux/x86/2005.1, gcc-3.4.4, glibc-2.3.5-r2, 2.6.13-gentoo-r4 i686) Both mysql-query-browser and mysql-administrator...
Created attachment 71338 [details] dev-db/mysql-administrator/mysql-administrator-1.1.4.ebuild Since MySQL-5.0.15 (first GA release) came out today, I decided to take another stab at mysql-administrator. The announcement referenced a new version (1.1.4) with MySQL-5.0 support, so I made this ebuild. Changes: * Require gtkmm-2.4 or newer * Discard patch for MySQL-4.1 compatibilty (no longer needed) However, this fails late in the build with this error: cd ../.. && /bin/sh /var/tmp/portage/mysql-administrator-1.1.4/work/mysql-administrator-1.1.4/mysql-administrator/missing --run autoheader autom4te-2.59: need GNU m4 1.4 or later: /usr/bin/gm4 autoheader-2.59: /usr/bin/autom4te-2.59 failed with exit status: 1 I'm thinking this is an autoconf problem, and I'm not sure what the right way to fix it is. As a workaround, I tried making a symlink from /usr/bin/m4 to /usr/bin/gm4. This let's the build complete successfully. Better still, mysql-adminstrator now starts up with a dialog box! It even seems to work. Yay! So... Still need to figure out how to solve the autoconf problem. Maybe someone else can do that?
Created attachment 71340 [details] dev-db/mysql-query-browser/mysql-query-browser-1.1.17.ebuild Here's an updated ebuild for mysql-query-browser-1.1.7. Historically, I've had similar problems with this as with mysql-administrator. Changes: * Require gtkmm-2.4 or newer * Remove unneeded patch for MySQL-4.1 compatibility It probably has the same autoconf problem as the previous ebuild, but I never got rid of my gm4 symlink to test. With the symlink it builds and seems to run correctly.
I'm currently 500 km away from home. I'll get back to my equipment this weekend and take a look at the new versions.
swegener: *bump* if there is no response by 14 dec, I will assume this problem has gone away, and close with NEEDINFO pending anybody getting back to it.
I haven't seen this occur for a long time. However, the current version still has a critical bug where going to User Administration causes it to freeze. The fix for this is to alter /usr/bin/mysql-administrator (shell script) by adding this line before launching the real program: export DEBUG_DONT_SPAWN_FETCHES=1 See http://bugs.mysql.com/bug.php?id=17879 for the upstream bug. It's closed, but perhaps should not be. I'm currently running 1.1.10 and it needs the fix. All these issues seem to be covered by #141648, so I think it is safe to close this one.
If you have issues with dev-db/mysql-gui-tools, file a new bug please.