audacious2 crashed with SIGSEGV in std::ios_base::Init::~Init()

Bug #640732 reported by Dmitry Tantsur
134
This bug affects 18 people
Affects Status Importance Assigned to Milestone
audacious-plugins (Ubuntu)
Invalid
High
Unassigned
gcc-4.4 (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

upstream bug: http://jira.atheme.org/browse/AUD-264

Binary package hint: audacious

Crash always happens on closing audacious.

ProblemType: Crash
DistroRelease: Ubuntu 10.10
Package: audacious 2.4.0-0ubuntu1
ProcVersionSignature: Ubuntu 2.6.35-21.31-generic 2.6.35.4
Uname: Linux 2.6.35-21-generic x86_64
NonfreeKernelModules: nvidia
Architecture: amd64
CrashCounter: 1
Date: Thu Sep 16 23:01:49 2010
Disassembly: => 0x0: Cannot access memory at address 0x0
ExecutablePath: /usr/bin/audacious2
InstallationMedia: Ubuntu 10.04 "Lucid Lynx" - Beta amd64 (20100318)
ProcCmdline: audacious2
ProcEnviron:
 LANG=ru_RU.utf8
 SHELL=/bin/bash
SegvAnalysis:
 Segfault happened at: 0x0: Cannot access memory at address 0x0
 PC (0x00000000) not located in a known VMA region (needed executable region)!
SegvReason: executing NULL VMA
Signal: 11
SourcePackage: audacious
StacktraceTop:
 ?? ()
 std::ios_base::Init::~Init() () from /usr/lib/libstdc++.so.6
 __cxa_finalize (d=0x7ff36edb3220) at cxa_finalize.c:56
 ?? () from /usr/lib/libsidplay2.so.1
 ?? ()
Title: audacious2 crashed with SIGSEGV in std::ios_base::Init::~Init()
UserGroups: adm admin audio cdrom dialout dip fax floppy fuse lpadmin netdev nopasswdlogin plugdev sambashare tape vboxusers video

Revision history for this message
Dmitry Tantsur (divius) wrote :
visibility: private → public
Revision history for this message
Apport retracing service (apport) wrote :

StacktraceTop:
 ?? ()
 std::ios_base::Init::~Init ()
 ?? ()
 __cxa_finalize (d=0x7ff36edb3220)
 __do_global_dtors_aux ()

Revision history for this message
Apport retracing service (apport) wrote : Stacktrace.txt
Revision history for this message
Apport retracing service (apport) wrote : ThreadStacktrace.txt
Changed in audacious (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace
Revision history for this message
Benjamin Drung (bdrung) wrote :

I had this issue once in my virtual machine, but I cannot reproduce it any more.

Changed in audacious (Ubuntu):
status: New → Confirmed
Revision history for this message
Benjamin Drung (bdrung) wrote :

To reproduce:

rm -rf ~/.config/audacious/
audacious
close it

Changed in audacious (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
Benjamin Drung (bdrung) wrote :
Benjamin Drung (bdrung)
Changed in audacious (Ubuntu):
importance: Medium → High
Benjamin Drung (bdrung)
description: updated
Revision history for this message
Benjamin Drung (bdrung) wrote :

According to upstream this is a bug in libstdc++. Here's the comment from John Lindgren:

"Ubuntu bug reports show crashing in the deconstructor for the C++ class std::ios_base::Init, which is registered with __cxa_atexit and called by __cxa_finalize, sometimes when a C++ plugin is unloaded and sometimes when the program exits. The fact that not unloading any plugins is a workaround suggests to me that the deconstructor cannot handle being called more than once. My guess is that there is a bug in the Ubuntu 10.10 version of libstdc++ (but not in the 10.04 version or in the Debian version that I use).

Since I don't have Ubuntu, I can't try to reproduce this outside of Audacious for you. But I suggest you try compiling a pure C program that uses g_module_open to load and initialize (similarly to Audacious) at least two C++ modules using iostream and then uses g_module_close to unload them again.

Meanwhile, you should be able to use the workaround of not actually unloading the plugins without any ill side effects."

affects: gcc-4.5 (Ubuntu) → gcc-4.4 (Ubuntu)
affects: gcc-4.4 (Ubuntu) → gcc-4.5 (Ubuntu)
Revision history for this message
Benjamin Drung (bdrung) wrote :

audacious crashes if audacious-plugins used "gcc" as linker. audacious doesn't crash if "g++" is used as linker in audacious-plugins [1].

[1] Adjust the LD value in buildsys.mk.

Benjamin Drung (bdrung)
affects: audacious (Ubuntu) → audacious-plugins (Ubuntu)
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package audacious-plugins - 2.4.0-0ubuntu3

---------------
audacious-plugins (2.4.0-0ubuntu3) maverick; urgency=low

  * Replace remove-psf.patch by patch from upstream.
  * Use g++ as linker instead of gcc to fix crash on close (LP: #640732).
 -- Benjamin Drung <email address hidden> Sat, 25 Sep 2010 14:41:51 +0200

Changed in audacious-plugins (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
William Pitcock (nenolod) wrote :

That does not fix the bug... it is an STL bug... and it was fixed in GCC 4.5.

Man the Ubuntu QA process is disturbingly incompetent.

Revision history for this message
William Pitcock (nenolod) wrote :

His "change" does not fix the bug period. It is a bug in GCC, period.

Changed in audacious-plugins (Ubuntu):
status: Fix Released → Invalid
Revision history for this message
Benjamin Drung (bdrung) wrote :

I have to correct my words: It's not a fix, but a workaround. audacious with audacious-plugins 2.4.0-0ubuntu3 doesn't crash any more on exit. The GCC bug is still open.

affects: gcc-4.5 (Ubuntu) → gcc-4.4 (Ubuntu)
Revision history for this message
The rage of gcc (m8r-a5e6hw) wrote :

Did anyone take a look at http://www.cygwin.com/ml/libc-hacker/2010-05/msg00003.html. (It's a well-known CRASH)

Matthias Klose (doko)
Changed in gcc-4.4 (Ubuntu):
status: New → Invalid
Revision history for this message
Dmitry Tantsur (divius) wrote :

Why invalid?

Revision history for this message
Matthias Klose (doko) wrote :

the upstream report talks about "it is ruled that ..." why?
comment #14 has a link to glibc patch, which apparently was never applied upstream?

Revision history for this message
Dmitry Tantsur (divius) wrote :

I don't quite get you, but the bug is here and we are left with a mere workaround now. And regarding comment #14... I dont see any connection with this bug. Do you?

Revision history for this message
Matthias Klose (doko) wrote :

No, but maybe "The rage of gcc" can enlighten us?

Revision history for this message
Benjamin Drung (bdrung) wrote :

I made some tests: Install audacious-plugins 2.4.0-0ubuntu2 and run "rm -rf ~/.config/audacious/ && audacious" and then quit audacious. It should crash. Then add "CXX=g++-4.5" to the dh_auto_configure command and build and install the package. Run "rm -rf ~/.config/audacious/ && audacious", quit audacious and it shouldn't crash.

This shows me that the bug is in g++-4.4, but not in g++-4.5. Therefore I am reopening the task for gcc-4.4.

Changed in gcc-4.4 (Ubuntu):
status: Invalid → New
Revision history for this message
dino99 (9d9) wrote :

This version is outdated and no more supported

Changed in gcc-4.4 (Ubuntu):
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.