Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 136002

Summary: svgdisplay from kde-base/ksvg-3.5.2 crashes when using fonts after gcc version switch
Product: Gentoo Linux Reporter: Martin von Gagern <Martin.vGagern>
Component: [OLD] KDEAssignee: Gentoo KDE team <kde>
Status: RESOLVED FIXED    
Severity: major    
Priority: High    
Version: 2006.0   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Martin von Gagern 2006-06-07 15:16:53 UTC
I recently switched from gcc 3.3 to 3.4. I already encountered bug 135194 and bug 91437 and remerged dev-libs/libsigc++, dev-cpp/glibmm and dev-cpp/gtkmm. I alsro remerged ksvg. Still I get runs like the following.

A file with two text elements crashed immediately:
Font::load(), loading /usr/share/fonts/TTF/Vera.ttf for requested font "sans-serif"
*** glibc detected *** double free or corruption (!prev): 0x080599f0 ***
KCrash: Application 'svgdisplay' crashing...

The same file with one text element removed crashed when closing the window:
Font::load(), loading /usr/share/fonts/TTF/Vera.ttf for requested font "sans-serif"
*** glibc detected *** free(): invalid pointer: 0x080599d8 ***
KCrash: Application 'svgdisplay' crashing...

Without the text elements everything works fine, so I guess it has to have something to do with text or fonts.

But which of the 155 deps of ksvg should I rebuild?
How can I tell which of the 51 libs printed by ldd is a C++ lib affected by the changed ABI?

Looking at the output from ldd, I find that libgcc_s.so.1 is in the gcc 3.3.6 directory, not 3.4.6. Even though I did run fix_libtool_files.sh and remerged the app afterwards. Is there something wrong here?

Portage 2.0.54-r2 (default-linux/x86/2006.0, gcc-3.4.6, glibc-2.3.6-r3, 2.6.16-gentoo-r7 i686)
=================================================================
System uname: 2.6.16-gentoo-r7 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 2.00GHz
Gentoo Base System version 1.12.0
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.3 [disabled]
dev-lang/python:     2.3.5-r2, 2.4.2
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     2.3
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
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-r1
sys-devel/binutils:  2.16.1-r2
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe -msse2 -mfpmath=sse"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/boot/grub /etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/lib/X11/xkb /usr/share/config"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/texmf/web2c /etc/env.d"
CXXFLAGS="-O2 -march=pentium4 -fomit-frame-pointer -pipe -msse2 -mfpmath=sse"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks sandbox sfperms strict"
GENTOO_MIRRORS="http://ftp.belnet.be/mirror/rsync.gentoo.org/gentoo/ http://gentoo.mirror.intouch.nl/gentoo/ http://gentoo.intergenia.de http://pandemonium.tiscali.de/pub/gentoo/ http://mirrors.sec.informatik.tu-darmstadt.de/gentoo/"
LANG="de_DE"
LINGUAS="en de"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/overlays/java-migration /usr/local/portage"
SYNC="rsync://rsync.de.gentoo.org/gentoo-portage"
USE="x86 X acl acpi alsa apache2 apm arts audiofile avi berkdb bitmap-fonts bzip2 cdr cli crypt cups curl dri dts dvd dvdr eds emboss encode esd ethereal exif expat fam ffmpeg flac foomaticdb fortran gd gdbm gif glut gmp gnutls gphoto2 gpm gstreamer gtk gtk2 idn imagemagick imap imlib innodb ipv6 isdnlog java jpeg junit kde lcms leim libg++ libwww lirc mad maildir mailwrapper mikmod mmx mng motif mp3 mpeg mule mysql ncurses nls nptl nsplugin nvidia ogg opengl oss pam pcmcia pcre pdflib perl pic png pnp postgres pppd python qt quicktime readline recode reflection samba sasl scanner sdl session slang speex spell spl sse ssl svga tcltk tcpd tetex tiff truetype truetype-fonts trusted type1-fonts udev unicode usb vorbis wavelan win32codecs wmf xine xml xml2 xmms xorg xv xvid zlib fritzcapi_cards_fcusb2 video_cards_nvidia linguas_en linguas_de userland_GNU kernel_linux elibc_glibc"
Unset:  CTARGET, INSTALL_MASK, LC_ALL, LDFLAGS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS, PORTAGE_RSYNC_OPTS
Comment 1 Caleb Tennis (RETIRED) gentoo-dev 2006-06-07 15:31:17 UTC
revdep-rebuild --soname libstdc++.so.5
Comment 2 Martin von Gagern 2006-06-10 00:10:43 UTC
(In reply to comment #1)
> revdep-rebuild --soname libstdc++.so.5

OK, this rebuilt most of my KDE, among others, took more than a day, but afterwards it really worked.

It is still annoying. Would be great if the compiler version used would be saved in /var/svg/package so that a future revdep-rebuild version could emerge the correct files after an ABI change. But I believe that already has been mentioned somewhere, so let's close this one here.
Comment 3 Martin von Gagern 2006-06-10 00:13:03 UTC
(In reply to comment #2)
> It is still annoying. Would be great if the compiler version used would be
> saved in /var/svg/package ...

It was of course /var/db/pkg/ that I meant.
Should not write bug comments this early in the morning...