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

Bug #640732 reported by Dmitry Tantsur on 2010-09-16
This bug affects 18 people
Affects Status Importance Assigned to Milestone
audacious-plugins (Ubuntu)
gcc-4.4 (Ubuntu)

Bug Description

upstream bug:

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
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
 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
 ?? ()
 std::ios_base::Init::~Init() () from /usr/lib/
 __cxa_finalize (d=0x7ff36edb3220) at cxa_finalize.c:56
 ?? () from /usr/lib/
 ?? ()
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

Dmitry Tantsur (divius) wrote :
visibility: private → public

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

Changed in audacious (Ubuntu):
importance: Undecided → Medium
tags: removed: need-amd64-retrace
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
Benjamin Drung (bdrung) wrote :

To reproduce:

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

Changed in audacious (Ubuntu):
status: Confirmed → Triaged
Benjamin Drung (bdrung) wrote :
Benjamin Drung (bdrung) on 2010-09-22
Changed in audacious (Ubuntu):
importance: Medium → High
Benjamin Drung (bdrung) on 2010-09-23
description: updated
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)
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

Benjamin Drung (bdrung) on 2010-09-25
affects: audacious (Ubuntu) → audacious-plugins (Ubuntu)
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
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.

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
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)
The rage of gcc (m8r-a5e6hw) wrote :

Did anyone take a look at (It's a well-known CRASH)

Matthias Klose (doko) on 2010-09-27
Changed in gcc-4.4 (Ubuntu):
status: New → Invalid
Dmitry Tantsur (divius) wrote :

Why invalid?

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?

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?

Matthias Klose (doko) wrote :

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

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
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  Edit
Everyone can see this information.

Other bug subscribers