GNOME Bugzilla – Bug 637216
Banshee crash due to error in GStreamer (was: beat detection on and file name like " C'est à Hambourg.wv"
Last modified: 2012-10-25 16:42:16 UTC
Created attachment 176392 [details] Banshee debug file Opensuse 11.3 Gstreamer 0.10.30 .. m.1000.9 also with 0.10.30.... 1000.11 Banshee 1.9.0 68.10 from Opensuse Alphe build The Banshee team ask me to file this bug for Gstreamer When I enable the option "automatically BPM detection" in the configuration panel banshee crash when he found a file name like "Music/Édith Piaf/25e anniversaire, Volume 2/01. C'est à Hambourg.wv" [4 Debug 08:42:05.405] Starting - Détection du nombre de BPM [5 Debug 08:42:05.539] DAAP Proxy listening for connections on port 8089 [6 Debug 08:42:06.941] GStreamer running beat detection on /media/Media/Music/Édith Piaf/25e anniversaire, Volume 2/01. C'est à Hambourg.wv Native stacktrace: banshee-1() [0x80dae42] banshee-1() [0x8060f84] [0xffffe40c] /lib/libpthread.so.0(pthread_mutex_lock+0x17) [0xb75d1fb7] banshee-1() [0x819ade8] banshee-1(mono_class_vtable+0x1f) [0x819bd2f] banshee-1(mono_object_new+0x17) [0x819cbc7] banshee-1(mono_exception_from_name_domain+0x42) [0x81505e2] banshee-1(mono_exception_from_name+0x28) [0x8150688] banshee-1(mono_exception_from_name_msg+0x25) [0x8150775] banshee-1(mono_get_exception_execution_engine+0x28) [0x8150968] banshee-1() [0x8060d84] [0xffffe40c] /usr/lib/libSoundTouch.so.0(_ZN10soundtouch10PeakFinder10detectPeakEPKfii+0x9a) [0xb1acf8ca] /usr/lib/libSoundTouch.so.0(_ZN10soundtouch9BPMDetect6getBpmEv+0x47) [0xb1acf497] /usr/lib/gstreamer-0.10/libgstsoundtouch.so(+0x5c70) [0xb1adac70] /usr/lib/libgstbase-0.10.so.0(+0x28d5e) [0xb3b4fd5e] /usr/lib/libgstbase-0.10.so.0(+0x2a016) [0xb3b51016] /usr/lib/libgstreamer-0.10.so.0(+0x5944a) [0xb377444a] /usr/lib/libgstreamer-0.10.so.0(+0x5a74f) [0xb377574f] /usr/lib/libgstbase-0.10.so.0(+0x2a077) [0xb3b51077] /usr/lib/libgstreamer-0.10.so.0(+0x5944a) [0xb377444a] /usr/lib/libgstreamer-0.10.so.0(+0x5a74f) [0xb377574f] /usr/lib/libgstreamer-0.10.so.0(+0x467ac) [0xb37617ac] /usr/lib/libgstreamer-0.10.so.0(+0x5944a) [0xb377444a] /usr/lib/libgstreamer-0.10.so.0(+0x5a74f) [0xb377574f] /usr/lib/gstreamer-0.10/libgstwavpack.so(+0x8542) [0xb1a8a542] /usr/lib/libgstreamer-0.10.so.0(+0x5944a) [0xb377444a] /usr/lib/libgstreamer-0.10.so.0(+0x5a74f) [0xb377574f] /usr/lib/gstreamer-0.10/libgstcoreelements.so(+0x2c6cb) [0xb26656cb] /usr/lib/libgstreamer-0.10.so.0(+0x8653b) [0xb37a153b] /usr/lib/libgstreamer-0.10.so.0(+0x876c8) [0xb37a26c8] /lib/libglib-2.0.so.0(+0x70443) [0xb7665443] /lib/libglib-2.0.so.0(+0x6ddf4) [0xb7662df4] /lib/libpthread.so.0(+0x5b25) [0xb75cfb25] /lib/libc.so.6(clone+0x5e) [0xb750846e] The complete debug file is joint. Michael
Is this reproducible with gst-launch-0.10 filesrc location="/media/Media/Music/Édith Piaf/25e anniversaire, Volume 2/01. C'est à Hambourg.wv" ! decodebin2 ! audioconvert ! bpmdetect ! fakesink If it is, which versions of soundtouch, wavpack, gst-plugins-good and gst-plugins-bad do you have installed? Also, could you make a file available which causes this behaviour?
wavpack, libwavpack 1.50 gst-plugins-good 0.10.24.9 1001.12 gst-plugins-bad 0.10.19.m ...1003.8 And not reproductible with michael@wst2:~> gst-launch-0.10 filesrc location="/media/Media/Music/Édith Piaf/25e > anniversaire, Volume 2/01. C'est à > Hambourg.wv" ! decodebin2 ! audioconvert ! bpmdetect ! fakesink (gst-launch-0.10:14669): GStreamer-CRITICAL **: gst_element_make_from_uri: assertion `gst_uri_is_valid (uri)' failed AVERTISSEMENT : pipeline erroné : pas d'élément « anniversaire » the file is located in a iomega StorCenter ix 2 (LAN device) I send you a test file par PM.
Works fine here with the file you send to me. Which version of soundtouch, libsoundtouch or whatever it is called do you have installed? Also please try that gst-launch-0.10 line again but without the line-break. It should all be in a single line
Soundtouch 1.4.0.6.1 gst launch dont work I try to open the directory in the console manually with the <dir> command drwxrwxrwx+ 3 michael users 30 nov. 25 14:39 Eddie Cochran drwxrwxrwx+ 4 michael users 55 déc. 16 15:59 Eddy Mitchell drwxrwxrwx+ 4 michael users 57 déc. 7 11:17 Edgar Winter Group drwxrwxrwx+ 2 michael users 6 déc. 20 17:04 Édith Piaf drwxrwxrwx+ 5 michael users 71 déc. 7 18:20 Eels but <cd> don't work also for michael@wst2:/media/Media/Music> cd Édith Piaf bash: cd: Édith: Aucun fichier ou dossier de ce type michael@wst2:/media/Media/Music> cd Edith Piaf bash: cd: Edith: Aucun fichier ou dossier de ce type michael@wst2:/media/Media/Music> and works for michael@wst2:/media/Media/Music> cd Eels michael@wst2:/media/Media/Music/Eels> And when I modify in Banshee the Artist name [directory name] Édith Piaf --> Edith Piaf <cd> works and beat detection in banshee also. The handling of majuscules with french accents like < É> it's perhaps not a Gstreamer issue
same issue with artist name like <-M->
I have no idea what's going on here. The accents and other non-ASCII characters shouldn't pose a problem for GStreamer. From GStreamer's point of view, those are just some byte values that correspond to some byte values in the filesystem directory structure. Byte values that are not printable non-space ASCII characters will need to be escaped when creating an URI, before passing that URI to GStreamer. The problems you had with gst-launch and the shell are due to you not escaping things properly when passing it to the shell. The stack trace suggests a crash in libsoundtouch, but there aren't any usable details I'm afraid. Also, I really don't know why this would only happen with files with a certain filename - might just be a concidence. If you still have this problem with current versions of GStreamer, you need to install libsoundtouch and GStreamer packages (esp. gst-plugins-bad) with debugging symbols, so we can see exactly where it's crashing and why. Moving to -bad since it looks soundtouch-related (if it's GStreamer related at all).
Thak you for your answer. I have verify and if needed updated all my files, and now when i enable BTM detect oin banshee, i've the followed error message GStreamer running beat detection on /media/Media/Music/12 Stones/Album inconnu/197. Open Your Eyes.mp3 (Banshee:16372): GStreamer-WARNING **: Failed to load plugin '/usr/lib/gstreamer-0.10/libgstsoundtouch.so': /usr/lib/gstreamer-0.10/libgstsoundtouch.so: undefined symbol: _ZN10soundtouch9BPMDetect12inputSamplesEPfi bpm_detect got error: Impossible de créer le greffon bpmdetect (null)
That's a bug in your distribution
Created attachment 192364 [details] Banshee error log
You are right, ans also for the other bug with *.wv and all other. With a fresh install of Opensuse 11.4 + Update to Gnome 3, it's work's fine, but when I install the update library's multimedia:libs http://download.opensuse.org/repositories/multimedia:/libs/openSUSE_11.4/ multimedia:apps http://download.opensuse.org/repositories/multimedia:/apps/openSUSE_11.4/ Banshee (and also totem) crash. When I disabled this library’s, it's work I try to make a Opensuse bug report For your information the Banshee debug output. And thank you (and all the team) for your work Michael
Created attachment 192880 [details] Crash output with soundtouch 1.6.0
I could reproduce this in Debian. Crash with soundtouch 1.6.0 running slomo's pipeline, but if I downgrade to 1.5.0-5 it works fine. Output in comment 10. Note there's nothing strange about the characters in the filename; that's a red herring.
Could you get a backtrace with gdb for the crash with the simple gst-launch commandline?
michael@linux-14ib:~/Musique> gst-launch-0.10 filesrc location="68. Don't Stand So Close To Me.mp3 > " Définition du pipeline à PAUSED... Le pipeline a terminé la phase PREROLL... Passage du pipeline à la phase PLAYING... New clock: GstSystemClock ERREUR : de l'élément /GstPipeline:pipeline0/GstFileSrc:filesrc0 : Erreur interne de flux de données. Information de débogage supplémentaire : gstbasesrc.c(2582): gst_base_src_loop (): /GstPipeline:pipeline0/GstFileSrc:filesrc0: streaming task paused, reason not-linked (-1) Execution ended after 24009554 ns. Définition du pipeline à PAUSED... Définition du pipeline à READY (prêt)... Définition du pipeline à NULL... Libération du pipeline..
sorry now with gdb michael@linux-14ib:~/Musique> dir total 317412 -rw-r--r-- 1 michael users 4294552 2 août 15:35 68. Don't Stand So Close To Me.mp3 -rw------- 1 michael users 320730124 25 juil. 17:22 polystar3_a.wav michael@linux-14ib:~/Musique> gdb gst-launch-0.10 filesrc location="68. Don't Stand So Close To Me.mp3" Excess command line arguments ignored. (location=68. Don't Stand So Close To Me.mp3) GNU gdb (GDB) SUSE (7.2-3.3) Copyright (C) 2010 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "i586-suse-linux". For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>... Reading symbols from /usr/bin/gst-launch-0.10...Reading symbols from /usr/lib/debug/usr/bin/gst-launch-0.10.debug...done. done. /home/michael/Musique/filesrc: Aucun fichier ou dossier de ce type. (gdb) r Starting program: /usr/bin/gst-launch-0.10 [Thread debugging using libthread_db enabled] ERREUR : le pipeline n'a pas pu être construit : pipeline vide non autorisé. Program exited with code 01.
thanks. Next time, try export LC_ALL=C before issuing commands.
(In reply to comment #16) > thanks. Next time, try > export LC_ALL=C > before issuing commands. Hi I don't try "beat detection" since some time. And today with my configuration I can't reproduce the issue. Now Beat detection work fine. The changes was Opensuse 11.4 -> 12.1 gstreamer 10.35-65.1 from Packman Thanks Michael
> I don't try "beat detection" since some time. And today with my configuration > I can't reproduce the issue. Now Beat detection work fine. Great, thanks for letting us know.