Bug 134906 - segfault in collectionscanner while scanning a certain song
Summary: segfault in collectionscanner while scanning a certain song
Status: RESOLVED WORKSFORME
Alias: None
Product: amarok
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-09-30 17:23 UTC by Manuel Amador (Rudd-O)
Modified: 2007-08-02 11:58 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Manuel Amador (Rudd-O) 2006-09-30 17:23:47 UTC
Version:           1.4.3 (using KDE KDE 3.5.4)
Installed from:    Fedora RPMs
OS:                Linux

From here:

[~/.kde/share/apps/amarok] > gdb amarokcollectionscanner
GNU gdb Red Hat Linux (6.3.0.0-1.134.fc5rh)
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-redhat-linux-gnu"...(no debugging symbols found)
Using host libthread_db library "/lib/libthread_db.so.1".

(gdb) set args --nocrashhandler -p -r "/home/shared/Musica/(Unsorted)/traido de Omega_X/Electronika and Industrial/Mixes/Trance Control (not an album)/"
(gdb) run
Starting program: /usr/bin/amarokcollectionscanner --nocrashhandler -p -r "/home/shared/Musica/(Unsorted)/traido de Omega_X/Electronika and Industrial/Mixes/Trance Control (not an album)/"


To here:

[...]

<embed path="/home/shared/Musica/(Unsorted)/traido de Omega_X/Electronika and Industrial/Mixes/Trance Control (not an album)/Psychotic Chaos.mp3" hash="9abf3f2f88ed67532f8af9b2bf2ad5b2" description=" " />

TagLib: Compressed frames are currently not supported.
TagLib: Compressed frames are currently not supported.

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1209039120 (LWP 27584)]
0x01e8d55c in free () from /lib/libc.so.6
(gdb) bt
#0  0x01e8d55c in free () from /lib/libc.so.6
#1  0x06b230e1 in operator delete () from /usr/lib/libstdc++.so.6
#2  0x06b2313d in operator delete[] () from /usr/lib/libstdc++.so.6
#3  0x05708063 in TagLib::String::toCString () from /usr/lib/libtag.so.1
#4  0x0039eae3 in MetaBundle::EmbeddedImage::EmbeddedImage () from /usr/lib/libamarok.so.0
#5  0x003a74f2 in MetaBundle::loadImagesFromTag () from /usr/lib/libamarok.so.0
#6  0x003a8443 in MetaBundle::readTags () from /usr/lib/libamarok.so.0
#7  0x003aa129 in MetaBundle::MetaBundle () from /usr/lib/libamarok.so.0
#8  0x0805fc66 in QValueListPrivate<QString>::~QValueListPrivate ()
#9  0x08060982 in QValueListPrivate<QString>::~QValueListPrivate ()
#10 0x080611e8 in QValueListPrivate<QString>::~QValueListPrivate ()
#11 0x0180717a in QObject::activate_signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#12 0x01b9161e in QSignal::signal () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#13 0x01825847 in QSignal::activate () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#14 0x0182e3f3 in QSingleShotTimer::event () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#15 0x0179e64b in QApplication::internalNotify () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#16 0x0179fa99 in QApplication::notify () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#17 0x014bacd3 in KApplication::notify () from /usr/lib/libkdecore.so.4
#18 0x01792452 in QEventLoop::activateTimers () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#19 0x0174404f in QEventLoop::processEvents () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#20 0x017b7af0 in QEventLoop::enterLoop () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#21 0x017b79b6 in QEventLoop::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#22 0x0179e15f in QApplication::exec () from /usr/lib/qt-3.3/lib/libqt-mt.so.3
#23 0x0805b383 in ?? ()
#24 0x01e39f2c in __libc_start_main () from /lib/libc.so.6
#25 0x0805b081 in ?? ()

no symbol info table available

According to my brainiac heuristic, the following file caused the problem:
Comment 1 Manuel Amador (Rudd-O) 2006-09-30 17:26:49 UTC
sorry but I cannot replicate it manually with the Ogg song that was originally listed as offending.  But I can consistently replicate it with the file that's attached.
Comment 2 Mark Kretschmann 2006-09-30 17:44:17 UTC
Clearly looks like a TagLib issue to me, reassigning.
Comment 3 Manuel Amador (Rudd-O) 2006-09-30 18:29:54 UTC
http://thebastardoperatorsfromhell.de/dfa/bug/Psychotic%20Chaos.mp3

the song!

kudos TheDemonInside
Comment 4 Scott Wheeler 2007-04-02 01:11:44 UTC
Bouncing this back to the amarok guys for now since I can't reproduce this at all with TagLib 1.4 or SVN and don't have amarok installed here.  I'm able to extract a valid description (in this case ' ') and image from the given file.

From the backtrace it looks like there may be an invalid pointer being passed in somewhere.  It's crashing in toCString() code which is used for every single TagLib::String to QString conversion, so I doubt it's a bug there.
Comment 5 Harald Sitter 2007-08-02 11:58:54 UTC
Works for me with Amarok 1.4.6 and Taglib 1.4