Package: g++-4.4 Version: 4.4.5-8 Severity: normal Tags: upstream
There is a bug in GCC/G++ 4.4 which leads to segfaults in random places of the C++ library. The only place it seems to pop up is in Audacious, which is a C program (linked with gcc) that loads C++ plugins at run-time (linked with g++). Compiling Audacious and the plugins with CC=gcc-4.3 and CXX=g++-4.3 eliminates the problem. According to reports from Ubuntu and Gentoo users, the problem is also fixed by using GCC 4.5. So, it would be nice if the change that produced this problem in 4.4 could be reverted, or if the change that fixed it in 4.5 could be backported. Reports of this same bug outside Debian, with several different backtraces: http://jira.atheme.org/browse/AUDPLUG-241 https://lists.fedoraproject.org/pipermail/devel/2010-July/139490.html https://bugs.launchpad.net/ubuntu/+source/audacious-plugins/+bug/640732 http://jira.atheme.org/browse/AUD-264 (In the Ubuntu report, the claim is made that linking the plugins with g++ and not gcc is a workaround. I do not know the grounds for this claim; however, at least in upstream Audacious source, C++ plugins have always been linked with g++, and the problem still occurs.) My backtrace (the crash occurred, after enabling the ProjectM visualization plugin and closing Audacious, on the next startup): Program received signal SIGSEGV, Segmentation fault. 0x00007fffeb5b2079 in std::uncaught_exception() () from /usr/lib/libstdc++.so.6 (gdb) bt #0 0x00007fffeb5b2079 in std::uncaught_exception() () from /usr/lib/libstdc++.so.6 #1 0x00007fffeb58534d in std::basic_ostream<char, std::char_traits<char> >& std::__ostream_insert<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*, long) () from /usr/lib/libstdc++.so.6 #2 0x00007fffeb81cb9f in projectM::initPresetTools(int, int) () from /usr/lib/libprojectM.so.2 #3 0x00007fffeb81d46d in projectM::projectM_init(int, int, int, int, int, int) () from /usr/lib/libprojectM.so.2 #4 0x00007fffeb81dfcf in projectM::readConfig(std::string const&) () from /usr/lib/libprojectM.so.2 #5 0x00007fffeb81e563 in projectM::projectM(std::string, int) () from /usr/lib/libprojectM.so.2 #6 0x00007fffeca0795c in _gtk_projectm_realize_impl (widget=0x83c9f0, data=0x839c30) at gtk_projectm_impl.cxx:140 #7 0x00007ffff484947e in IA__g_closure_invoke (closure=0x8761a0, return_value=0x0, n_param_values=1, param_values=0x72b180, invocation_hint=0x7fffffffe020) at /scratch/build-area/glib2.0-2.24.2/gobject/gclosure.c:767 -- John Lindgren -- System Information: Debian Release: squeeze/sid APT prefers testing APT policy: (500, 'testing') Architecture: amd64 (x86_64) Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages g++-4.4 depends on: ii gcc-4.4 4.4.5-8 The GNU C compiler ii gcc-4.4-base 4.4.5-8 The GNU Compiler Collection (base ii libc6 2.11.2-7 Embedded GNU C Library: Shared lib ii libgmp3c2 2:4.3.2+dfsg-1 Multiprecision arithmetic library ii libmpfr4 3.0.0-2 multiple precision floating-point ii libstdc++6-4.4-dev 4.4.5-8 The GNU Standard C++ Library v3 (d g++-4.4 recommends no packages. Versions of packages g++-4.4 suggests: pn g++-4.4-multilib <none> (no description available) pn gcc-4.4-doc <none> (no description available) pn libstdc++6-4.4-dbg <none> (no description available) -- no debconf information