Version: 2.4.3 (using KDE 4.7.2) OS: Linux Scanning the collection containing .ape (Monkey Audio) files is aborted (after 40 crashes of Collection scanner, as can be seen with --debug option): ... kmimetype filetype guessing failed for /home/hermann/Music/Artist1/track09.ape amarok: [ScanManager] Collection scanner crashed, restart count is 40 amarok: [ScanManager] Aborting ScanManager ScannerJob amarok: [ScanManager] ScannerJob finished ... This leaves the collection empty (although several other files got scanned successfully) and produces no messages in the UI (which would be very helpful, btw). The output of kmimetypefinder is: $ kmimetypefinder /home/hermann/Music/Artist1/track09.ape audio/x-ape (accuracy 100) I guess Amarok does not use it? Hopefully, no wheels were reinvented during the production of Amarok? ;-) When I got rid of the .ape files, the scanning got finished successfully. Reproducible: Always Steps to Reproduce: 1) Launch Amarok. 2) Set the local collection to a local folder with audio files, with over 40 files of audio/x-ape type (Monkey Audio, .ape extension). 3) Use "Tools > Update Collection" or some other means to start collection scanning. Actual Results: Scanning progress bar is shown for a while, then is hidden. The collection is left unchanged (empty). No error messages are displayed to the user. Expected Results: 1. An error message is shown "Failed to scan the collection due to the following errors: ..." for all similar cases. 2. .ape files should be recognized and placed into the collection (at least). 3. Collection should be completely scanned and filled with the files. $ uname -a Linux neptune 3.0.0-13-generic #21-Ubuntu SMP Mon Oct 17 20:18:51 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux Using gstreamer backend. Most of gstreamer plugins are installed.
This depends on the mime types the Phonon backend provides. Which phonon-backend-gstreamer and gstreamer version are you using?
Taken from dpkg -l: phonon-backend-gstreamer 4:4.7.0really4.5.1-1ubuntu3 libgstreamer0.10-0 0.10.35-1
Thank you for the feedback.
I have the same issue with the same versions of gstreamer and phono-gstreamer. It happens when importing certain ape files in Amarok. I tried to play those files using vlc and it crashed with segmentation fault without any other details. I have uploaded an example ape file where it crashes at http://alainlauzon.com/amarok/01%20Kyrie%20%27cum%20jubilo%27.ape .
Please upgrade to the phonon-backend-gstreamer 4.6 and Amarok 2.5 and try again. Alain: your crash report is not related to this.
Any news on this? Without feedback within a week I will close this as solved with the versions stated in comment #5
I tried a new Amarok (2.5.0) - the problem is still there. The gstreamer and phonon backend are still the older ones, though - updating those to 4.6 would trigger a major system update for my working computer I believe, so I'd rather avoid that until some kind of "official stable" release of phonon-backend-gstreamer and its dependencies. I guess you can close this bug if "it works for you". I'll reopen it as soon as I get my hands on phonon-backend-gstreamer 2.6 and if I get this bug reproduced.
Phonon backend-gstreamer 4.6 is a stable version, so is Amarok 2.5 and KDE 4.8 of which the phonon backend is part of. Those versions are all quite official and stable :) You could try the phonon-backend-vlc instead, it's latest stable version is 0.5.0 FWFW, since you use an Ubuntu based system: the kubuntu-backports PPA provides all these packages.
I actually do use kubuntu-backports PPA, but there weren't any updates for backend-gstreamer. I wonder if it's because it says "phonon-backend-gstreamer 4:4.7.0really4.5.1-1ubuntu3" which probably makes my version above the one at PPA? Btw, I've just checked kubuntu-backports PPA - it has nothing related to gstreamer or phonon there. Are there any other sources for the official gstreamer goodness for Ubuntu? ;)
Hm, not that I know of, but since they have KDE 4.8.2 they should also have the newest Phonon and backends. Anyway, 12.04 will be out soon so you can test it :)
Updated Ubuntu to 12.04, now with the following app versions: amarok 2:2.5.0-0ubuntu6 phonon-backend-gstreamer 4:4.7.0really4.6.0-0ubuntu1 The bug is still there, no changes to the debug messages: ... kmimetype filetype guessing failed for /home/cordawyn/Music TODO/ape/Unknown Artist/track01.ape amarok: [ScanManager] Collection scanner crashed, restart count is 40 amarok: [ScanManager] Aborting ScanManager ScannerJob amarok: [ScanManager] ScannerJob finished ... Plus Ubuntu now additionally reports that "/usr/bin/amarokcollectionscanner" has crashed.
Could you try the phonon-backend-vlc instead? You will have to restart KDE to make the backend change effective.
Alas, it's the same story with phonon-backend-vlc (0.5.0-0ubuntu1).
Thank you for the fast feedback.
Myriam, this is not phonon-backend related at all. This probably means a crash in TabLib, please ensure that you use the latest package. To debug, you can run amarokcollectionscanner -r path/to/your/music/dir and see if it crashes.
(In reply to comment #15) > To debug, you can run amarokcollectionscanner -r path/to/your/music/dir > and see if it crashes. This comment is actually meant for the OR :) We are waiting for feedback.
$ amarokcollectionscanner -r ~/Music//Music/Artist1 <?xml version="1.0" encoding="UTF-8"?> <scanner count="2"> <!--Created by amarokcollectionscanner 2.6.0 on Thu Jan 10 18:54:31 2013-->kmimetype filetype guessing failed for /home/hermann/Music/Artist1/track09.ape Segmentation fault (core dumped) Now it crashes at the first encounter with an .ape file.
(In reply to comment #17) > $ amarokcollectionscanner -r ~/Music//Music/Artist1 > > Now it crashes at the first encounter with an .ape file. Okay, expected and confirmed, good. Now please install debugging symbols for Amarok, TagLib, kdelibs, Qt and glibc and run the scanner from within gdb: $ gdb --ex 'set height 0' --ex 'run' --args amarokcollectionscanner -r ~/Music/Music/Artist1 # wait till it crashes (gdb) thread apply all bt And paste (don't attach) the full backtrace, thanks!
Unfortunately, I couldn't find a debug package for TagLib (does it even exist?). Here's what I've got with the remaining ones (see below). If you still need debug symbols for TagLib, could you point me to where I could get them from? $ gdb --ex 'set height 0' --ex 'run' --args amarokcollectionscanner -r ~/Music/Artist1 GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 7.4-2012.04 Copyright (C) 2012 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 "x86_64-linux-gnu". For bug reporting instructions, please see: <http://bugs.launchpad.net/gdb-linaro/>... Reading symbols from /usr/bin/amarokcollectionscanner...Reading symbols from /usr/lib/debug/.build-id/a8/7c52503ab257ecbe0714149732c69e720d963d.debug...done. done. Starting program: /usr/bin/amarokcollectionscanner -r /home/hermann/Music/Artist1 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". <?xml version="1.0" encoding="UTF-8"?> <scanner count="3"> <!--Created by amarokcollectionscanner 2.6.0 on Fri Jan 11 00:24:44 2013-->kmimetype filetype guessing failed for /home/hermann/Music/Artist1/track01.ape Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7b47a7e in TagLib::ID3v2::FrameFactory::createFrame(TagLib::ByteVector const&, TagLib::ID3v2::Header*) const () from /usr/lib/x86_64-linux-gnu/libtag.so.1 (gdb)
(In reply to comment #19) > Unfortunately, I couldn't find a debug package for TagLib (does it even > exist?). Here's what I've got with the remaining ones (see below). If you > still need debug symbols for TagLib, could you point me to where I could get > them from? It really seems that Ubuntu doesn't provide debugging symbpols for taglib [1], please file a but about it to your distribution. Until then your only change is probably to compile taglib from source. [1] http://packages.ubuntu.com/source/quantal/taglib > Program received signal SIGSEGV, Segmentation fault. > 0x00007ffff7b47a7e in > TagLib::ID3v2::FrameFactory::createFrame(TagLib::ByteVector const&, > TagLib::ID3v2::Header*) const () > from /usr/lib/x86_64-linux-gnu/libtag.so.1 > (gdb) You forgot to execute the important part: (gdb) thread apply all bt
(In reply to comment #19) > Unfortunately, I couldn't find a debug package for TagLib (does it even > exist?) > Here's what I've got with the remaining ones (see below). If you > still need debug symbols for TagLib, could you point me to where I could get > them from? Not on K/Ubuntu, no, sadly. You can compile your own taglib with debugging enabled, though. FWIW: this is could be a duplicate of bug 311726
oops! Here's the rest of the backtrace (while I'm compiling taglib): (gdb) thread apply all bt Thread 1 (Thread 0x7ffff7fc7740 (LWP 13102)): #0 0x00007ffff7b47a7e in TagLib::ID3v2::FrameFactory::createFrame(TagLib::ByteVector const&, TagLib::ID3v2::Header*) const () from /usr/lib/x86_64-linux-gnu/libtag.so.1 #1 0x00007ffff7b4c176 in TagLib::ID3v2::Tag::parse(TagLib::ByteVector const&) () from /usr/lib/x86_64-linux-gnu/libtag.so.1 #2 0x00007ffff7b4beb7 in TagLib::ID3v2::Tag::read() () from /usr/lib/x86_64-linux-gnu/libtag.so.1 #3 0x00007ffff7b4a3c3 in TagLib::ID3v2::Tag::Tag(TagLib::File*, long, TagLib::ID3v2::FrameFactory const*) () from /usr/lib/x86_64-linux-gnu/libtag.so.1 #4 0x00007ffff7b72cef in TagLib::APE::Properties::findDescriptor() () from /usr/lib/x86_64-linux-gnu/libtag.so.1 #5 0x00007ffff7b72b45 in TagLib::APE::Properties::read() () from /usr/lib/x86_64-linux-gnu/libtag.so.1 #6 0x00007ffff7b72a0b in TagLib::APE::Properties::Properties(TagLib::APE::File*, TagLib::AudioProperties::ReadStyle) () from /usr/lib/x86_64-linux-gnu/libtag.so.1 #7 0x00007ffff7b7265f in TagLib::APE::File::read(bool, TagLib::AudioProperties::ReadStyle) () from /usr/lib/x86_64-linux-gnu/libtag.so.1 #8 0x00007ffff7b71d16 in TagLib::APE::File::File(char const*, bool, TagLib::AudioProperties::ReadStyle) () from /usr/lib/x86_64-linux-gnu/libtag.so.1 #9 0x00007ffff7ba4405 in TagLib::FileRef::create(char const*, bool, TagLib::AudioProperties::ReadStyle) () from /usr/lib/x86_64-linux-gnu/libtag.so.1 #10 0x00007ffff7ba2dba in TagLib::FileRef::FileRef(char const*, bool, TagLib::AudioProperties::ReadStyle) () from /usr/lib/x86_64-linux-gnu/libtag.so.1 #11 0x000000000041a427 in Meta::Tag::getFileRef (path=...) at ../../../shared/MetaTagLib.cpp:111 #12 0x000000000041b162 in Meta::Tag::readTags (path=...) at ../../../shared/MetaTagLib.cpp:220 #13 0x0000000000416f48 in CollectionScanner::Track::Track (this=0x66cf20, path=..., directory=<optimized out>) at ../../../utilities/collectionscanner/Track.cpp:76 #14 0x00000000004129c3 in CollectionScanner::Directory::Directory (this=0x7fffffffd4c0, path=..., state=0x7fffffffdba0, skip=<optimized out>) at ../../../utilities/collectionscanner/Directory.cpp:113 #15 0x000000000040e276 in CollectionScanner::Scanner::doJob (this=0x7fffffffdb60) at ../../../utilities/collectionscanner/CollectionScanner.cpp:341 #16 0x00007ffff758b926 in QObject::event (this=0x7fffffffdb60, e=<optimized out>) at kernel/qobject.cpp:1195 #17 0x00007ffff757230c in QCoreApplication::notifyInternal (this=0x7fffffffdb60, receiver=0x7fffffffdb60, event=0x665210) at kernel/qcoreapplication.cpp:915 #18 0x00007ffff75760ea in sendEvent (event=0x665210, receiver=0x7fffffffdb60) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #19 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x6441f0) at kernel/qcoreapplication.cpp:1539 #20 0x00007ffff75a1473 in sendPostedEvents () at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:236 #21 postEventSourceDispatch (s=<optimized out>) at kernel/qeventdispatcher_glib.cpp:279 #22 0x00007ffff5860d53 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #23 0x00007ffff58610a0 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #24 0x00007ffff5861164 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0 #25 0x00007ffff75a189f in QEventDispatcherGlib::processEvents (this=0x645ad0, flags=...) at kernel/qeventdispatcher_glib.cpp:424 #26 0x00007ffff7570e42 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149 #27 0x00007ffff7571097 in QEventLoop::exec (this=0x7fffffffdb10, flags=...) at kernel/qeventloop.cpp:204 #28 0x00007ffff75763e7 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187 #29 0x000000000040beb0 in main (argc=3, argv=<optimized out>) at ../../../utilities/collectionscanner/CollectionScanner.cpp:53
I have to confess, I'm not very good with the packaging stuff. Could you help me prepare the package with debugging symbols? I tried several recipes already, but they don't yield anything beyond the backtrace I already provided. I tried setting CFLAGS="-ggdb" and DEB_BUILD_OPTIONS="debug,nostrip,noopt" before building with "dpkg-buildpackage -rfakeroot -b", but as far as I could read the compilation logs, no debugging options got into the cmake command line.
(In reply to comment #23) > I have to confess, I'm not very good with the packaging stuff. Unfortunately neither I am (at least in Debian-based), but https://wiki.ubuntu.com/DebuggingProgramCrash should have the information.
taglib is a C++ library, so use CXXFLAGS, not CFLAGS. The correct cmake option to enable debugging should be "-DCMAKE_BUILD_TYPE=Debug", but unsure if taglib respects it.
Is this still valid for Amarok 2.7? I have several .ape files here and see no crash.
Looks like it's gone. Tested with Amarok 2.7.0.
Great, thank you for the fast feedback.