audacious crashed in playlistwin_set_sinfo_font with SIGSEGV 1.4.6-1ubuntu1 seg. fault

Bug #188659 reported by JImBroad
28
This bug affects 1 person
Affects Status Importance Assigned to Milestone
audacious (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Binary package hint: audacious

Audacious was working fine yesterday, installed updates through update manager this morning and now:
jeremy@xubuntu-blackbox:~$ audacious
amidi-plug(amidi-plug.c:amidiplug_init:97): init, read configuration
amidi-plug(i_backend.c:i_backend_load:107): loading backend '/usr/lib/audacious/Input/amidi-plug/ap-alsa.so'
amidi-plug(i_backend.c:i_backend_load:145): backend /usr/lib/audacious/Input/amidi-plug/ap-alsa.so (name 'alsa') successfully loaded
Segmentation fault (core dumped)
jeremy@xubuntu-blackbox:~$

/var/log/messages:
Feb 3 10:18:23 xubuntu-blackbox kernel: [ 781.916769] audacious[6940]: segfault at 00000000 eip 080850dd esp bff15550 error 6

If any other info is required please let me know.

ProblemType: Crash
Architecture: i386
CrashCounter: 1
Date: Sun Feb 3 10:06:39 2008
DistroRelease: Ubuntu 8.04
ExecutablePath: /usr/bin/audacious
NonfreeKernelModules: nvidia
Package: audacious 1.4.6-1ubuntu1
PackageArchitecture: i386
ProcCmdline: audacious
ProcCwd: /home/jeremy
ProcEnviron:
 PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
 LANG=C
 SHELL=/bin/bash
Signal: 11
SourcePackage: audacious
StacktraceTop:
 ?? ()
 ?? ()
 ?? ()
 ?? ()
 ?? ()
Title: audacious crashed with SIGSEGV
Uname: Linux xubuntu-blackbox 2.6.24-3-generic #1 SMP Thu Jan 3 23:30:29 UTC 2008 i686 GNU/Linux
UserGroups: adm admin audio cdrom dialout dip floppy lpadmin netdev plugdev scanner video

#0 0x080850dd in playlistwin_set_sinfo_font (font=0x8130488 "0") at ui_playlist.c:327
 tmp = (gchar *) 0x83551a0 "0"
 tmp2 = <value optimized out>
 __PRETTY_FUNCTION__ = "playlistwin_set_sinfo_font"
#1 0x08085682 in playlistwin_create () at ui_playlist.c:1373
No locals.
#2 0x0806ecdc in init_skins (path=0x81304d0 "/usr/share/audacious/Skins/Default") at skin.c:527
No locals.
#3 0x0805c9ae in main (argc=1, argv=0xbff70bc4) at main.c:1511
 gtk_init_check_ok = 135541520
 playlist = (Playlist *) 0x8399668
 context = <value optimized out>
 error = (GError *) 0x0
#4 0xb7625450 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#5 0x08054d01 in _start ()
SegvAnalysis:
 Segfault happened at: 0x80850dd <gdk_window_show@plt+197657>: movb $0x0,(%eax)
 PC (0x080850dd) ok
 source "$0x0" ok
 destination "(%eax)" (0x00000000) not located in a known VMA region (needed writable region)!
SegvReason: writing NULL VMA

Tags: apport-crash
Revision history for this message
JImBroad (jeremy-broad) wrote :
Revision history for this message
Apport retracing service (apport) wrote : Symbolic stack trace

StacktraceTop:playlistwin_set_sinfo_font (font=0x8130488 "0") at ui_playlist.c:327
playlistwin_create () at ui_playlist.c:1373
init_skins (path=0x81304d0 "/usr/share/audacious/Skins/Default") at skin.c:527
main (argc=1, argv=0xbff70bc4) at main.c:1511
__libc_start_main () from /lib/tls/i686/cmov/libc.so.6

Revision history for this message
Apport retracing service (apport) wrote : Symbolic threaded stack trace
Revision history for this message
Apport retracing service (apport) wrote : Stack trace with source code
Changed in audacious:
importance: Undecided → Medium
Revision history for this message
JImBroad (jeremy-broad) wrote : Re: 1.4.6-1ubuntu1 seg. fault
Revision history for this message
JImBroad (jeremy-broad) wrote :

I fooled around a bit with this, and after renaming ~/.config/audacious/config to a backup, audacious started just fine.

I have attached the two config files.

Only change I made to the vanilla config file was skin as I suspected it might be issue looking at traceback, but audacious loads fine with that skin enabled.

So I tried using old config file again, but got the same results. So there is something in there that is causing it to bung up...

JimBroad

Revision history for this message
Thomas Templin (coastgnu) wrote : 1.4.6-2ubuntu1 seg. fault

deleting the config doesnt help

/var/log/message
 After a second start of audacious (after it segfauls the first time) /var/log/messages says:
 Feb 10 09:50:43 bronto kernel: [47167.316030] audacious[2918]: segfault at 00078780 eip 46f39a8b esp bfa59dc0 error 4

htop
 In htop audacious is listed consuming all available memmory (2GB)

apport
 apport says it isn't able to send an error report because of not having enough memory

Revision history for this message
ScottHerman (scott-herman) wrote : Re: 1.4.6-1ubuntu1 seg. fault

I am also experiencing this problem:

/var/log/messages shows
May 15 11:18:07 seh kernel: [84758.908633] audacious[10642]: segfault at 519fc381 eip b79fb85c esp bfab1f40 error 4

I also tried removing the config file, and it did not help me either.

Revision history for this message
PrinsEdje80 (eduardwestra) wrote : 1.5.0-2ubuntu2~hardy1 segfaults on login

I'm experiencing the same mesage as ScottHerman, but only on logging in. Audacious is started then as part of the saved KDE session (Kubuntu 8.04.1). Version of audacious is 1.5.0-2ubuntu2~hardy1 (hardy-proposed), kernel
2.6.24-19-generic.

dmesg entry:
[ 85.644039] audacious[7494]: segfault at 00000000 eip 080b86e7 esp bfbc2d60 error 4

Revision history for this message
PrinsEdje80 (eduardwestra) wrote :

Forgot to mention that when I then start up audacious normally from the command line, there are no problems. It just gives me the following messages:

$ audacious
amidi-plug(amidi-plug.c:amidiplug_init:97): init, read configuration
amidi-plug(i_backend.c:i_backend_load:107): loading backend '/usr/lib/audacious/Input/amidi-plug/ap-alsa.so'
amidi-plug(i_backend.c:i_backend_load:145): backend /usr/lib/audacious/Input/amidi-plug/ap-alsa.so (name 'alsa') successfully loaded

Revision history for this message
Charlie Kravetz (cjkgeek) wrote : Re: audacious crashed with SIGSEGV 1.4.6-1ubuntu1 seg. fault

Thanks for reporting this bug and any supporting documentation. Since this bug has enough information provided for a developer to begin work, I'm going to mark it as confirmed and let them handle it from here. Thanks for taking the time to make Ubuntu better!

Changed in audacious:
status: New → Confirmed
Revision history for this message
Bryce Harrington (bryce) wrote :

I'm also seeing a crash with a similar backtrace:

(gdb) run
Starting program: /usr/bin/audacious
[Thread debugging using libthread_db enabled]
[New Thread 0x7f5a4891a7d0 (LWP 20945)]
[New Thread 0x7f5a401a3950 (LWP 20948)]
amidi-plug(amidi-plug.c:amidiplug_init:97): init, read configuration
amidi-plug(i_backend.c:i_backend_load:107): loading backend '/usr/lib/audacious/Input/amidi-plug/ap-alsa.so'
amidi-plug(i_backend.c:i_backend_load:145): backend /usr/lib/audacious/Input/amidi-plug/ap-alsa.so (name 'alsa') successfully loaded
[New Thread 0x7f5a30604950 (LWP 20950)]
[New Thread 0x7f5a2f752950 (LWP 20951)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7f5a4891a7d0 (LWP 20945)]
playlistwin_set_sinfo_font (font=<value optimized out>) at ui_playlist.c:311
311 ui_playlist.c: No such file or directory.
 in ui_playlist.c
(gdb) bt full
#0 playlistwin_set_sinfo_font (font=<value optimized out>) at ui_playlist.c:311
 __PRETTY_FUNCTION__ = "playlistwin_set_sinfo_font"
#1 0x0000000000441b60 in playlistwin_create () at ui_playlist.c:1374
No locals.
#2 0x0000000000450d8d in init_skins (path=0xcce140 "/usr/share/audacious/Skins/Refugee") at ui_skin.c:527
No locals.
#3 0x0000000000419fea in main (argc=1, argv=0x7fff5094dfa8) at main.c:758
No locals.

Attached is my config file

description: updated
Revision history for this message
Bryce Harrington (bryce) wrote :
Download full text (4.2 KiB)

Here's the log output from this run:

** LOGGING STARTED AT Fri Jan 9 12:50:24 2009

Loaded plugin (/usr/lib/audacious/Input/metronom.so)
Loaded plugin (/usr/lib/audacious/Input/adplug.so)
Loaded plugin (/usr/lib/audacious/Input/timidity.so)
Loaded plugin (/usr/lib/audacious/Input/sexypsf.so)
Loaded plugin (/usr/lib/audacious/Input/console.so)
Loaded plugin (/usr/lib/audacious/Input/modplug.so)
Loaded plugin (/usr/lib/audacious/Input/cdaudio-ng.so)
Loaded plugin (/usr/lib/audacious/Input/tta.so)
Loaded plugin (/usr/lib/audacious/Input/wavpack.so)
Loaded plugin (/usr/lib/audacious/Input/vtx.so)
Loaded plugin (/usr/lib/audacious/Input/cuesheet.so)
Loaded plugin (/usr/lib/audacious/Input/aac.so)
Loaded plugin (/usr/lib/audacious/Input/amidi-plug.so)
Loaded plugin (/usr/lib/audacious/Input/musepack.so)
Loaded plugin (/usr/lib/audacious/Input/madplug.so)
Loaded plugin (/usr/lib/audacious/Input/sid.so)
Loaded plugin (/usr/lib/audacious/Input/flacng.so)
Loaded plugin (/usr/lib/audacious/Input/alac.so)
Loaded plugin (/usr/lib/audacious/Input/wma.so)
Loaded plugin (/usr/lib/audacious/Input/demac.so)
Loaded plugin (/usr/lib/audacious/Input/tonegen.so)
Loaded plugin (/usr/lib/audacious/Input/vorbis.so)
Loaded plugin (/usr/lib/audacious/Input/sndfile.so)
Loaded plugin (/usr/lib/audacious/Output/ESD.so)
Loaded plugin (/usr/lib/audacious/Output/filewriter.so)
Loaded plugin (/usr/lib/audacious/Output/ALSA.so)
Loaded plugin (/usr/lib/audacious/Output/pulse_audio.so)
Loaded plugin (/usr/lib/audacious/Output/OSS.so)
Loaded plugin (/usr/lib/audacious/Output/arts.so)
Loaded plugin (/usr/lib/audacious/Output/null.so)
Loaded plugin (/usr/lib/audacious/Output/jackout.so)
Loaded plugin (/usr/lib/audacious/Effect/voice_removal.so)
Loaded plugin (/usr/lib/audacious/Effect/echo.so)
Loaded plugin (/usr/lib/audacious/Effect/audiocompress.so)
Loaded plugin (/usr/lib/audacious/Effect/ladspa.so)
Loaded plugin (/usr/lib/audacious/Effect/crystalizer.so)
Loaded plugin (/usr/lib/audacious/Effect/sndstretch.so)
Loaded plugin (/usr/lib/audacious/Effect/stereo.so)
Loaded plugin (/usr/lib/audacious/General/song_change.so)
Loaded plugin (/usr/lib/audacious/General/alarm.so)
Loaded plugin (/usr/lib/audacious/General/statusicon.so)
Loaded plugin (/usr/lib/audacious/General/lirc.so)
Loaded plugin (/usr/lib/audacious/General/hotkey.so)
Loaded plugin (/usr/lib/audacious/General/evdev-plug.so)
Loaded plugin (/usr/lib/audacious/General/mtp_up.so)
Loaded plugin (/usr/lib/audacious/General/gnomeshortcuts.so)
Loaded plugin (/usr/lib/audacious/General/aosd.so)
Loaded plugin (/usr/lib/audacious/General/scrobbler.so)
Loaded plugin (/usr/lib/audacious/Visualization/rootvis.so)
Loaded plugin (/usr/lib/audacious/Visualization/rocklight.so)
Loaded plugin (/usr/lib/audacious/Visualization/blur_scope.so)
Loaded plugin (/usr/lib/audacious/Visualization/paranormal.so)
Loaded plugin (/usr/lib/audacious/Visualization/spectrum.so)
Loaded plugin (/usr/lib/audacious/Container/m3u.so)
Loaded plugin (/usr/lib/audacious/Container/pls.so)
Loaded plugin (/usr/lib/audacious/Container/xspf.so)
Loaded plugin (/usr/lib/audacious/Transport/neon.so)
Loaded plugin (/usr/lib/audacious/Transport/stdio.so)
Loaded plugin (...

Read more...

Revision history for this message
Bryce Harrington (bryce) wrote :

I can also confirm that moving aside my ~/.config/audacious/config file restored it to the defaults and got everything working properly again.

Revision history for this message
Bryce Harrington (bryce) wrote :

Here's the problem:

(gdb) print font
$1 = (gchar *) 0x1d940d0 "/usr/share/audacious/Skins/Refugee"

    tmp = g_strdup(font);
    *strrchr(tmp, ' ') = '\0';

Since there is no space character in font (nor tmp), strrchr() returns NULL. Dereferencing that is not a good idea.

Revision history for this message
Bryce Harrington (bryce) wrote :

This of course begs the question of why "/usr/share/audacious/Skins/Refugee" is being used as a font name...? I see in my config file that it's gotten set in there:

 playlist_font=/usr/share/audacious/Skins/Refugee
 mainwin_font=Sans Bold 8

Perhaps something is wrong with the Refugee skin setup file or something?

Anyway, here is a patch to implement strrchr() is a more robust fashion, so it doesn't crash under this error condition.

Revision history for this message
Bryce Harrington (bryce) wrote :

...and this one fixes the skin setup file (the Default skin was also missing the Font setting.)

Revision history for this message
Bryce Harrington (bryce) wrote :

...and this fixes another incorrect use of strrchr().

Not entirely sure what the true root cause of the problem is, but my guess is that with Font undefined in the skin file, audacious doesn't do error handling very well. Hopefully the above patches will help make it more robust against these types of errors.

It might be worthwhile doing an audit of strrchr() usages throughout the program; it seems there are numerous places where it does not account for the possibility of a NULL return from strrchr().

Revision history for this message
Bryce Harrington (bryce) wrote :

My first patch had an error - truncation_point should be a pointer obviously. Stick a * in front of it.

Changed in audacious:
status: Confirmed → In Progress
Revision history for this message
Ludo6431 (lacoste) wrote :

I have the same error in ubuntu 9.04 with audacious 1.5.1-4ubuntu3 (same line, same code, same error).
What about a fix version ?

Kees Cook (kees)
description: updated
Revision history for this message
Bryce Harrington (bryce) wrote :

The code these patches patched is no longer present in the 2.1 codebase. Further, I don't recall having seen this particular bug in a long long time, so I'm considering it fixed now.

Changed in audacious (Ubuntu):
status: In Progress → Fix Released
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.