Version: 2.1.1 (using KDE 4.2.90) OS: Linux Installed from: Ubuntu Packages The collection scan will freeze once it hits a directory with m4a files. It will continue to eat up all system ram, as well as swap space (I have 6GB RAM & 6GB swap & amarok was using all of it). To ensure this was the problem, I excluded the folder with m4a's & the scan completed with no problems as usual. This will not cause the actual application to crash, but the whole OS chokes once all the ram & swap are being used.
it would be useful if you could upload one of these files somewhere.
FWIW, m4a is a proprietary file format that needs special codecs, could be a tag reading problem in that file format, and it can be DRM-encrypted which makes it unplayable elsewhere than on the original OS/install. Can you actually play these files from the Files browser? On the scanning slowness: there has been a lot of work lately in trunk on the collection database, might well be solved in 2.2-SVN already
Please ensure that you have taglib-extras (might be called libtag-extras or some such thing) version 0.1.4. If not, bug your package manager to update -- it fixes some issues in MP4 handling that may be causing your troubles. If this does not fix the problem, I'll need access to one of your files.
This sounds the same as a problem I'm having. amarokcollectionscanner segfaults on the offending m4a files at: 0x0418af9c in TagLib::MP4::Tag::parseBool(TagLib::MP4::Atom*, TagLib::File*) () from /usr/lib/libtag-extras.so.0 My system: Fedora rawhide (FC12) amarok 2.1.1 taglib 1.5 taglib-extras 0.1.4 Sample file: http://www.2shared.com/file/6672101/f08da73a/galangation.html
Here's the backtrace with the file Richard provided: #0 0x00007f5f7e3e1422 in TagLib::MP4::Tag::parseBool (this=0x7f11b0, atom=0x7f0820, file=<value optimized out>) at /var/tmp/paludis/media-libs-taglib-extras-9999/work/taglib-extras-9999/taglib-extras/mp4/mp4tag.cpp:143 #1 0x00007f5f7e3e1906 in Tag (this=0x7f11b0, file=0x7ea0e0, atoms=<value optimized out>) at /var/tmp/paludis/media-libs-taglib-extras-9999/work/taglib-extras-9999/taglib-extras/mp4/mp4tag.cpp:65 #2 0x00007f5f7e3de0c1 in TagLib::MP4::File::read (this=0x7ea0e0, readProperties=true, audioPropertiesStyle=TagLib::AudioProperties::Fast) at /var/tmp/paludis/media-libs-taglib-extras-9999/work/taglib-extras-9999/taglib-extras/mp4/mp4file.cpp:92 #3 0x00007f5f7e3e49d6 in MP4FileTypeResolver::createFile (this=<value optimized out>, fileName=<value optimized out>, readProperties=128, propertiesStyle=TagLib::AudioProperties::Fast) at /var/tmp/paludis/media-libs-taglib-extras-9999/work/taglib-extras-9999/taglib-extras/mp4/mp4filetyperesolver.cpp:36 #4 0x00007f5f7e625c42 in TagLib::FileRef::create () from /usr/lib64/libtag.so.1 #5 0x00007f5f7e62639d in TagLib::FileRef::FileRef () from /usr/lib64/libtag.so.1 #6 0x0000000000416fc0 in CollectionScanner::readTags (this=0x7fff212e9280, path=@0x7fff212e86d0, readStyle=TagLib::AudioProperties::Fast) at /home/mikko/amarok/utilities/collectionscanner/CollectionScanner.cpp:496 #7 0x000000000041e09a in CollectionScanner::scanFiles (this=0x7fff212e9280, entries=@0x7fff212e8b50) at /home/mikko/amarok/utilities/collectionscanner/CollectionScanner.cpp:393 #8 0x0000000000421a4d in CollectionScanner::doJob (this=0x7fff212e9280) at /home/mikko/amarok/utilities/collectionscanner/CollectionScanner.cpp:259 #9 0x0000000000421d1e in CollectionScanner::qt_metacall (this=0x7fff212e9280, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fff212e8e00) at /home/mikko/amarok/build/utilities/collectionscanner/CollectionScanner.moc:66 #10 0x00007f5f7f07e525 in QMetaObject::activate (sender=0x7ee890, from_signal_index=<value optimized out>, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3101
(In reply to comment #3) > Please ensure that you have taglib-extras (might be called libtag-extras or > some such thing) version 0.1.4. If not, bug your package manager to update -- > it fixes some issues in MP4 handling that may be causing your troubles. > > If this does not fix the problem, I'll need access to one of your files. OK, Scott and Richard,reminder, did you install taglib-extras and try again?
TagLib-Extras 0.1.5 has now been released too, which fixes some mp4 handling bugs. I recommend testing that out.
Did you read my report? Yes, I have taglib-extras 0.1.4 installed. I haven't tried with 0.1.5. But Mikko has already replicated the problem with the file I uploaded for you. You can test yourself if 0.1.5 fixes it.
Yes, I read your report. And my response is to please test with taglib-extras-0.1.5, which fixes some mp4 issues which could lead to crashes.
My reply was directed at Myriam. But in answer to your request, I am traveling and so I will be unable to do this testing for you. Sorry.
The maintainer of the MP4 code in TagLib took a look and said that it's a corrupted MP4 file. Nevertheless he put a workaround in so that it should not crash anymore when such a corruption is encountered. I'll be applying it to TagLib-Extras momentarily and will release 0.1.6, which will have the fix.
SVN commit 1006016 by mitchell: Fix crash on corrupted MP4 files. BUG: 197782 M +2 -1 mp4tag.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1006016