Bug 272483

Summary: amarok collection scanner hangs when scanning collection
Product: [Unmaintained] taglib Reporter: Thomas Fjellstrom <thomas>
Component: generalAssignee: Scott Wheeler <wheeler>
Status: RESOLVED UNMAINTAINED    
Severity: normal CC: lalinsky, mitchell, ralf-engels
Priority: NOR    
Version First Reported In: 1.6.3   
Target Milestone: ---   
Platform: Debian unstable   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:

Description Thomas Fjellstrom 2011-05-04 22:57:28 UTC
Version:           2.4.0.90 (using KDE 4.6.2) 
OS:                Linux

Any attempt to scan my collection stops at 37%.

here's a backtrace of where it seems to get stuck:


(gdb) thread apply all bt

Thread 1 (Thread 0x7febfeb5d720 (LWP 7936)):
#0  0x00007febfe2883a3 in TagLib::FLAC::File::~File() () from /usr/lib/libtag.so.1
#1  0x00007febfe288489 in TagLib::FLAC::File::~File() () from /usr/lib/libtag.so.1
#2  0x00007febfe29e8ed in TagLib::FileRef::~FileRef() () from /usr/lib/libtag.so.1
#3  0x00000000004221a8 in Meta::Tag::readTags (path="/mnt/boris/data/audio/misc/Nine Inch Nails/Nine Inch Nails - Year Zero/02 The Beginning of the End.flac") at ../../../shared/MetaTagLib.cpp:175
#4  0x00000000004184b1 in CollectionScanner::Track::Track (this=0x1273540, path="/mnt/boris/data/audio/misc/Nine Inch Nails/Nine Inch Nails - Year Zero/02 The Beginning of the End.flac", directory=<value optimized out>)
    at ../../../utilities/collectionscanner/Track.cpp:73
#5  0x0000000000411cf1 in CollectionScanner::Directory::Directory (this=0x7fff388b7bf0, path=<value optimized out>, state=0x7fff388b8340, skip=<value optimized out>) at ../../../utilities/collectionscanner/Directory.cpp:113
#6  0x000000000040ec29 in CollectionScanner::Scanner::doJob (this=0x7fff388b8300) at ../../../utilities/collectionscanner/CollectionScanner.cpp:352
#7  0x000000000040f5b0 in CollectionScanner::Scanner::qt_metacall (this=0x7fff388b8300, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=<value optimized out>) at ./CollectionScanner.moc:72
#8  0x00007febfe64b19a in QObject::event (this=0x7fff388b8300, e=<value optimized out>) at kernel/qobject.cpp:1217
#9  0x00007febfe63497c in QCoreApplication::notifyInternal (this=0x7fff388b8300, receiver=0x7fff388b8300, event=0x11b74f0) at kernel/qcoreapplication.cpp:731
#10 0x00007febfe637cc4 in sendEvent (receiver=0x0, event_type=0, data=0x1196ef0) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#11 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x1196ef0) at kernel/qcoreapplication.cpp:1372
#12 0x00007febfe65f173 in sendPostedEvents (s=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#13 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:277
#14 0x00007febfc80e4a3 in g_main_dispatch (context=0x119b080) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:2440
#15 g_main_context_dispatch (context=0x119b080) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3013
#16 0x00007febfc80ec80 in g_main_context_iterate (context=0x119b080, block=1, dispatch=1, self=<value optimized out>) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3091
#17 0x00007febfc80ef1d in g_main_context_iteration (context=0x119b080, may_block=1) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3154
#18 0x00007febfe65f5cf in QEventDispatcherGlib::processEvents (this=0x1195920, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#19 0x00007febfe633b82 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#20 0x00007febfe633d7f in QEventLoop::exec (this=0x7fff388b82b0, flags=...) at kernel/qeventloop.cpp:201
#21 0x00007febfe637f57 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#22 0x000000000040e18f in main (argc=8, argv=<value optimized out>) at ../../../utilities/collectionscanner/CollectionScanner.cpp:58

Also, somewhat related, trying to close amarok after canceling the scan, causes amarok to crash (#272477), which then causes plasma-desktop to crash (#272470)

It happens with 2.4.0.90 and the older version (2.4.0-2) in Debian Sid.

Reproducible: Always

Steps to Reproduce:
Scan my music collection.

Actual Results:  
Collection scanner hangs

Expected Results:  
Entire collection should eventually be scanned
Comment 1 Ralf Engels 2011-05-05 11:38:49 UTC
It seems that taglib doesn't like Nine Inch Nails.
Or Flac.

But anyway, that seems to be a taglib error.
Looking at the code it might be a corrupted pointer:

~FilePrivate()
  {
    for(uint i = 0; i < blocks.size(); i++) {
      delete blocks[i];
    }
    delete properties;
  }
Comment 2 Myriam Schweingruber 2011-05-07 09:31:13 UTC
Reassigning, then.
Comment 3 Lukáš Lalinský 2011-05-07 11:02:52 UTC
Can you please test with the TagLib tagreader example or send me the file to lalinsky@gmail.com?
Comment 4 Justin Zobel 2021-03-09 07:26:05 UTC
Thank you for the bug report.

As this report hasn't seen any changes in 5 years or more, we ask if you can please confirm that the issue still persists.

If this bug is no longer persisting or relevant please change the status to resolved.
Comment 5 Christoph Cullmann 2025-06-15 14:58:44 UTC
Upstream bugs should go to 

https://github.com/taglib/taglib/issues

If your issue still happens with a recent release, please report it there, sorry that we did not inform you earlier about this change, seems it was forgotten to close this component for bugs here.