Crash due to mis-bind of a libstdc++ symbol

Mike Hearn mike@navi.cx
Sun Apr 17 21:47:00 GMT 2005


On Sun, 2005-04-17 at 23:39 +0200, Paolo Carlini wrote:
> We didn't miss it ;) but the issue is hard to understand and we are
> missing way too many details. Therefore, first I would ask you to
> provide the output of a simple 'ldd' on the *spell libraries involved
> together with info on your software system, gnu/linux, I suppose,
> therefore binutils and glibc versions, etc. And, of course, any other
> info on the *spell libraries: where did you get the libraries from?

OK. This is all on a Fedora Core 3 system. 

The *spell libs came from Fedora Core. The Inkscape package came from a
Gentoo-based nightly build system. I discovered this bug while testing
the Inkscape nightly autopackages, but it affects others like AbiWord as
well.

This bug would not normally surface, because the practise of recompiling
every program for every version of every distro means multi-ABI binaries
are virtually non-existent. Only now that we're doing large-scale
deployments of complex dynamically linked binaries via the autopackage
project has it appeared. I've been unable to find any prior references
to the problem on Google.

Here goes:

[mike@littlegreen ~]$ /lib/libc.so.6
GNU C Library stable release version 2.3.5, by Roland McGrath et al.
Copyright (C) 2005 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
Compiled by GNU CC version 3.4.3 20050227 (Red Hat 3.4.3-22).

[mike@littlegreen ~]$ rpm -q binutils
binutils-2.15.92.0.2-5

[mike@littlegreen ~]$ ldd /usr/lib/libaspell.so.15
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0092a000)
        libm.so.6 => /lib/tls/libm.so.6 (0x00b3e000)
        libc.so.6 => /lib/tls/libc.so.6 (0x00d9a000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00920000)
        /lib/ld-linux.so.2 (0x0068d000)

[mike@littlegreen ~]$ needed /usr/lib/libaspell.so.15
  NEEDED      libstdc++.so.6
  NEEDED      libm.so.6
  NEEDED      libc.so.6
  NEEDED      libgcc_s.so.1

[mike@littlegreen ~]$ ldd /usr/lib/libgtkspell.so.0
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00710000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x00111000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00546000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00dba000)
        libm.so.6 => /lib/tls/libm.so.6 (0x00dd1000)
        libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0x00562000)
        libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0x00539000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x001b4000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x001ea000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x0017d000)
        libdl.so.2 => /lib/libdl.so.2 (0x002c0000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00226000)
        libaspell.so.15 => /usr/lib/libaspell.so.15 (0x00588000)
        libc.so.6 => /lib/tls/libc.so.6 (0x002c4000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00b81000)
        libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x00180000)
        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x00183000)
        libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0x0018b000)
        libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x004fa000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x003ee000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x0018e000)
        libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0x002b1000)
        libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x00d90000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x004c7000)
        /lib/ld-linux.so.2 (0x00f58000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00455000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0062a000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x002a1000)
        libexpat.so.0 => /usr/lib/libexpat.so.0 (0x0047b000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00d6b000)

[mike@littlegreen ~]$ needed /usr/lib/libgtkspell.so.0
  NEEDED      libgtk-x11-2.0.so.0
  NEEDED      libgdk-x11-2.0.so.0
  NEEDED      libatk-1.0.so.0
  NEEDED      libgdk_pixbuf-2.0.so.0
  NEEDED      libm.so.6
  NEEDED      libpangoxft-1.0.so.0
  NEEDED      libpangox-1.0.so.0
  NEEDED      libpango-1.0.so.0
  NEEDED      libgobject-2.0.so.0
  NEEDED      libgmodule-2.0.so.0
  NEEDED      libdl.so.2
  NEEDED      libglib-2.0.so.0
  NEEDED      libaspell.so.15
  NEEDED      libc.so.6

[mike@littlegreen ~]$ ldd /usr/local/bin/inkscape.stripped
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x00864000)
        libgthread-2.0.so.0 => /usr/lib/libgthread-2.0.so.0 (0x0082e000)
        libxml2.so.2 => /usr/lib/libxml2.so.2 (0x00737000)
        libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x03097000)
        libgtk-x11-2.0.so.0 => /usr/lib/libgtk-x11-2.0.so.0 (0x00111000)
        libgdk-x11-2.0.so.0 => /usr/lib/libgdk-x11-2.0.so.0 (0x003c6000)
        libatk-1.0.so.0 => /usr/lib/libatk-1.0.so.0 (0x00546000)
        libgdk_pixbuf-2.0.so.0 => /usr/lib/libgdk_pixbuf-2.0.so.0 (0x00680000)
        libpng.so.3 => /usr/lib/libpng.so.3 (0x032ee000)
        libpopt.so.0 => /usr/lib/libpopt.so.0 (0x00569000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x00dca000)
        libpangoft2-1.0.so.0 => /usr/lib/libpangoft2-1.0.so.0 (0x00432000)
        libpango-1.0.so.0 => /usr/lib/libpango-1.0.so.0 (0x00458000)
        libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x008c1000)
        libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x00dc5000)
        libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x00570000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x004d8000)
        libz.so.1 => /usr/lib/libz.so.1 (0x00d6b000)
        libdl.so.2 => /lib/libdl.so.2 (0x00edd000)
        libm.so.6 => /lib/tls/libm.so.6 (0x00f06000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00920000)
        libc.so.6 => /lib/tls/libc.so.6 (0x00b87000)
        /lib/ld-linux.so.2 (0x004c0000)
        libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x00928000)
        libpangoxft-1.0.so.0 => /usr/lib/libpangoxft-1.0.so.0 (0x00562000)
        libpangox-1.0.so.0 => /usr/lib/libpangox-1.0.so.0 (0x0048e000)
        libXrandr.so.2 => /usr/X11R6/lib/libXrandr.so.2 (0x00b1f000)
        libXi.so.6 => /usr/X11R6/lib/libXi.so.6 (0x00d54000)
        libXinerama.so.1 => /usr/X11R6/lib/libXinerama.so.1 (0x00499000)
        libXft.so.2 => /usr/X11R6/lib/libXft.so.2 (0x0049c000)
        libXcursor.so.1 => /usr/X11R6/lib/libXcursor.so.1 (0x004ae000)
        libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x004b7000)
        libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x00a3d000)
        libexpat.so.0 => /usr/lib/libexpat.so.0 (0x005eb000)

[mike@littlegreen ~]$ needed /usr/local/bin/inkscape.stripped
  NEEDED      libpthread.so.0
  NEEDED      libgthread-2.0.so.0
  NEEDED      libxml2.so.2
  NEEDED      libstdc++.so.5
  NEEDED      libgtk-x11-2.0.so.0
  NEEDED      libgdk-x11-2.0.so.0
  NEEDED      libatk-1.0.so.0
  NEEDED      libgdk_pixbuf-2.0.so.0
  NEEDED      libpng.so.3
  NEEDED      libpopt.so.0
  NEEDED      libfontconfig.so.1
  NEEDED      libpangoft2-1.0.so.0
  NEEDED      libpango-1.0.so.0
  NEEDED      libgobject-2.0.so.0
  NEEDED      libgmodule-2.0.so.0
  NEEDED      libglib-2.0.so.0
  NEEDED      libfreetype.so.6
  NEEDED      libz.so.1
  NEEDED      libdl.so.2
  NEEDED      libm.so.6
  NEEDED      libgcc_s.so.1
  NEEDED      libc.so.6


Let me know if there is anything else needed.

thanks -mike



More information about the Libstdc++ mailing list