|
Bugzilla – Full Text Bug Listing |
| Summary: | Audio CDs are crashing banshee, maybe inside liboil or gstreamer plugins | ||
|---|---|---|---|
| Product: | [openSUSE] openSUSE 10.2 | Reporter: | Andreas Hanke <andreas.hanke> |
| Component: | GNOME | Assignee: | Aaron Bockover <abockover> |
| Status: | RESOLVED FIXED | QA Contact: | E-mail List <qa-bugs> |
| Severity: | Critical | ||
| Priority: | P5 - None | CC: | cduquette |
| Version: | Final | ||
| Target Milestone: | --- | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Found By: | Other | Services Priority: | |
| Business Priority: | Blocker: | --- | |
| Marketing QA Status: | --- | IT Deployment: | --- |
| Attachments: |
Backtrace
/proc/cpuinfo lshal output hwinfo --all output |
||
|
Description
Andreas Hanke
2006-10-20 17:07:29 UTC
Created attachment 102155 [details] Backtrace According to instructions at http://banshee-project.org/Debugging This is a bug in liboil. I cannot reproduce it SUSE 10.2 Beta1, although you must install the -base-oil package from GStreamer as that's where audioresample is. We'll fix the dependency in Banshee. However, you at least have the plugin installed - it's just crashing inside liboil. Andreas: Please let us know if this is any better in Beta 1. Also Banshee was upgraded from 0.10.12 to 0.11.2 from Alpha 5 to Beta 1. When you upgrade to Beta 1, just make sure you install gstreamer010-plugins-base-oil. Thanks! This is unfortunately still happening for me. All required libraries and gstreamer plugins are installed, both MP3 and Ogg Vorbis are working nicely, but Audio CDs (all the ones I tested) are crashing Banshee. Alright, try taking this out of the Banshee context. Please send results for the following commands: $ GST_DEBUG=3 gst-inspect-0.10 audioresample &> gst-inspect-results Attach the 'gst-inspect-results' file to this bug. Try playing the CD from the command line using both variations: $ gst-launch-0.10 cdparanoiasrc ! gconfaudiosink The above should work, it's not using audioresample. $ gst-launch-0.10 cdparanoiasrc ! audioresample ! gconfaudiosink This one should probably crash, as it uses audioresample. If it does crash, please run it in gdb: $ gdb gst-launch-0.10 (gdb) run cdparanoiasrc ! audioresample ! gconfaudiosink <press enter until crash or playback> (gdb) thread apply all bt And attach the GDB trace. Sorry, no backtrace because I can't trigger a crash this way. The following commands are both(!) playing the CD without a crash: gst-launch-0.10 cdparanoiasrc ! gconfaudiosink gst-launch-0.10 cdparanoiasrc ! audioresample ! gconfaudiosink Just Banshee is still crashing. But I found out the following, which might be helpful: - Banshee crashes if the first song I'm trying to play is from a CD. - Banshee crashes if I play an MP3 and afterwards a CD. - Banshee does _not_ crash if I play an Ogg Vorbis file and afterwards a CD. Andreas: is this any better with RC1/GStreamer 0.10.10? Andreas: also, what kind of hardware are you running this on? Would you happen to be using a 32 bit build of openSUSE on 64 bit hardware? This is still happening even with RC1. :-( The machine is i686 (Celeron, to be more exact) and runs openSUSE 10.2 RC1 (i586) now. Is liboil maybe using some instructions that it shouldn't use on this CPU? Created attachment 106784 [details]
/proc/cpuinfo
Created attachment 106785 [details]
lshal output
Created attachment 106786 [details]
hwinfo --all output
Rebuilding liboil without SSE2 support (CPPFLAGS=-mno-sse2) "fixes" this, I can now play Audio CDs with Banshee on this CPU. This is of course not a proper fix, but maybe it helps you investigating further for a proper fix. Tested -mno-sse3 as well and that doesn't suffice. Tested -mno-sse afterwards and that worked, but is more than enough because -mno-sse2 works, too. => It crashes with SSE2 and higher. Either the CPU is broken and claims to support SSE2 without actually supporting it, or liboil does something wrong (like e.g. using SSE3 in a code path that was supposed to use SSE2 only). I don't really understand this stuff, but it's maybe a starting point. I am getting a similar error message when trying to play MP3s using either MAD or Fluendo. This is in fact a bug with liboil-0.3.7 and Pentium4/PentiumM computers. Ubuntu had this bug and for a workaround they disabled SSE support. Here's a link to their bug report: https://launchpad.net/distros/ubuntu/+bug/33077 Actually I'm not 100% sure that this is the same bug because in the Ubuntu report it seemed to have crashed in a different place, but maybe for the same reason. And yes, I can confirm that this happens even with MP3s when using the non-Helix build + Fluendo MP3 codec. I reverted to helix-banshee therefore, where at least MP3 works (because it doesn't use any gstreamer -> liboil code paths then). Disabling SSE2 does definitely "resolve" this problem, banshee is working perfectly fine with a liboil that has SSE2 disabled. I'm getting this bug when trying to play anything in banshee using the fluendo mp3 plugins. I'm on a Pentium M. Here's a stack trace from the crash: #0 0xb2eb388b in composite_in_argb_sse () from /opt/gnome/lib/liboil-0.3.so.0 #1 0xb2ea5a25 in _oil_test_marshal_function () from /opt/gnome/lib/liboil-0.3.so.0 #2 0xb2ea772f in oil_test_check_function () from /opt/gnome/lib/liboil-0.3.so.0 #3 0xb2ea471e in oil_cpu_fault_check_try () from /opt/gnome/lib/liboil-0.3.so.0 #4 0xb2ea7943 in oil_test_check_impl () from /opt/gnome/lib/liboil-0.3.so.0 #5 0xb2ea548f in oil_class_optimize () from /opt/gnome/lib/liboil-0.3.so.0 #6 0xb2ea56f7 in oil_optimize_all () from /opt/gnome/lib/liboil-0.3.so.0 #7 0xb2ea57c5 in oil_init () from /opt/gnome/lib/liboil-0.3.so.0 #8 0xb31f19d1 in resample_init () from /opt/gnome/lib/gstreamer-0.10/libgstaudioresample.so #9 0xb31ef897 in gst_audioresample_get_type () from /opt/gnome/lib/gstreamer-0.10/libgstaudioresample.so #10 0xb6bec7e3 in gst_plugin_get_name () from /opt/gnome/lib/libgstreamer-0.10.so.0 #11 0xb6bece7c in gst_plugin_load_file () from /opt/gnome/lib/libgstreamer-0.10.so.0 #12 0xb6bed44b in gst_plugin_load_by_name () from /opt/gnome/lib/libgstreamer-0.10.so.0 #13 0xb6bee110 in gst_plugin_feature_load () from /opt/gnome/lib/libgstreamer-0.10.so.0 These packages disable SSE and fix the issues for me: http://abock.org/~aaron/liboil AJ, online update is needed for this bug. My fix was submitted. Our current policy does allow only to ship fixes for critical bugs (we have already too many complains that too much updates are needed). This bug is currently classified as a major, but not as a critical bug. But I do agree that this one is a critical one. -> changed classification |