Bug 104023 - arts segfault when called from xmms
arts segfault when called from xmms
Product: Red Hat Linux Beta
Classification: Retired
Component: arts (Show other bugs)
All Linux
medium Severity medium
: ---
: ---
Assigned To: Ngo Than
Depends On:
Blocks: CambridgeTarget
  Show dependency treegraph
Reported: 2003-09-08 23:07 EDT by Bill Nottingham
Modified: 2014-03-16 22:38 EDT (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2003-10-13 06:34:11 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Bill Nottingham 2003-09-08 23:07:18 EDT
Description of problem:

arts segfaults when opened to play a song if it's been opened to check if it's
available before.

Version-Release number of selected component (if applicable):


How reproducible:

Every time.

Steps to Reproduce:
1. Remove output plugin from ~/.xmms/config, start artsd
2. Start xmms; it detects artsd and defaults to the arts output plugin
3. Hit play
Actual results:


Expected results:


Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 1109908400 (LWP 3326)]
0xbf1f2f6c in Arts::StartupManager::startup() () from /usr/lib/libmcop.so.1
(gdb) bt
#0  0xbf1f2f6c in Arts::StartupManager::startup() ()
   from /usr/lib/libmcop.so.1
#1  0xbf1d9309 in Arts::Dispatcher::Dispatcher(Arts::IOManager*,
Arts::Dispatcher::StartServer) () from /usr/lib/libmcop.so.1
#2  0x42286ae9 in arts_backend_init () from /usr/lib/libartscbackend.so.0
#3  0x40a56776 in arts_init () from /usr/lib/libartsc.so.0
#4  0x40a52a98 in artsd_open (fmt=3208087432, rate=-1086879864,
    nch=-1086879864) at audio.c:314
#5  0x40cf1d80 in vorbis_play_loop (arg=0x9765788) at vorbis.c:348
#6  0x00bbc4fa in start_thread (arg=0xbf378788) at pthread_create.c:264
#7  0x00a10ac7 in ?? () from /lib/tls/libc.so.6

This doesn't happen when playing normally (i.e., when not using the detection code.)

What the detection code does is:

- dlopen libartsc.so.0
- run arts_init(), check the result
- run arts_free()

I'm pretty sure this used to work at one point.
Comment 1 Bill Nottingham 2003-09-08 23:19:36 EDT
Having it link directly to libartsc instead of dlopen()ing it doesn't help.
Comment 2 Ngo Than 2003-10-13 06:34:11 EDT
It looks like there's problem with library unloading in conjuction with
X11. I have added a workaround in xmms, so it should work now.

Note You need to log in before you can comment on or make changes to this bug.