Summary: | m4a files cause collection scan to freeze | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | Scott Fernandes <fernandess> |
Component: | general | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | fernandess, mitchell, richard.colley |
Priority: | NOR | ||
Version: | 2.1.1 | ||
Target Milestone: | --- | ||
Platform: | Ubuntu | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: |
Description
Scott Fernandes
2009-06-24 23:22:44 UTC
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 |