Bug 104023
| Summary: | arts segfault when called from xmms | ||
|---|---|---|---|
| Product: | [Retired] Red Hat Linux Beta | Reporter: | Bill Nottingham <notting> |
| Component: | arts | Assignee: | Than Ngo <than> |
| Status: | CLOSED RAWHIDE | QA Contact: | |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | beta1 | CC: | rvokal |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2003-10-13 10:34:11 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
| Bug Depends On: | |||
| Bug Blocks: | 100644 | ||
Having it link directly to libartsc instead of dlopen()ing it doesn't help. 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. |
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): xmms-1.2.7-23.p arts-1.1.3-3 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: Segfault Expected results: Playing. 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 (gdb) 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.