Labels and uniqueid Was: some crash report by Rich

Alexandre Oliveira aleprjlists at gmail.com
Thu Nov 9 02:47:49 UTC 2006


The crash is in:
 for(QMap<QString, QStringList>::ConstIterator it = newLabels.begin();
it != endLabels; ++it ) {
        CollectionDB::instance()->setLabels( it.key(), it.data(),
m_playlistItem->uniqueId(), CollectionDB::typeUser );
    }

m_playlistItem->uniqueId() is wrong there, as when tagdialog isn't
called from playlist, m_playlistItem will be null. Also, it'll return
current item, so if the user uses next or previous and change labels
for different tracks, all of them would use the same uniqueid on that
call.

I could fix it by making newLabels use a QPair with the url and the id
as key, or by storing the ids in other map, or even by refactoring
CollectionDB::setLabels() so that it finds the id by itself, but all
this brought me question:
Isn't having urls and uniqueids on labels table redundant? We already
have both on statistics, so when amarok finds out about url changes,
it could update the url on migrateFile(), like it happens for lyrics
table.




On 11/8/06, Rich <rich at hq.vsaa.lv> wrote:
> Amarok has crashed! We are terribly sorry about this :(
>
> But, all is not lost! You could potentially help us fix the crash.
> Information describing the crash is below, so just click send, or if you
> have time, write a brief description of how the crash happened first.
>
> Many thanks.
>
> --------------
> amarok stalled for a moment when i clicked on save&close in tag editor
> (for 16 tracks), then crashed.
>
> --------------
>
>
> The information below is to help the developers identify the problem,
> please do not modify it.
>
>
>
> ======== DEBUG INFORMATION  =======
> Version:    1.4-SVN
> Engine:     xine-engine
> Build date: Nov  8 2006
> CC version: 3.4.6
> KDElibs:    3.5.4
> Qt:         3.3.6
> TagLib:     1.4.0
> CPU count:  1
>
> ==== file `which amarokapp` =======
> /opt/kde/bin/amarokapp: ELF 32-bit LSB executable, Intel 80386, version
> 1 (SYSV), dynamically linked (uses shared libs), not stripped
>
>
> ==== (gdb) bt =====================
> Using host libthread_db library "/lib/tls/libthread_db.so.1".
> [Thread debugging using libthread_db enabled]
> [New Thread -1245554464 (LWP 25553)]
> [New Thread -1300304976 (LWP 26280)]
> [New Thread -1291916368 (LWP 25579)]
> [New Thread -1283527760 (LWP 25578)]
> [New Thread -1273250896 (LWP 25577)]
> [New Thread -1258292304 (LWP 25576)]
> [New Thread -1248429136 (LWP 25573)]
> 0xb5fb7071 in __waitpid_nocancel () from /lib/tls/libpthread.so.0
> #0  0xb5fb7071 in __waitpid_nocancel () from /lib/tls/libpthread.so.0
> #1  0x0804df6b in Amarok::Crash::crashHandler () at crashhandler.cpp:249
> #2  <signal handler called>
> #3  0xb68ce669 in QString::QString () from /usr/lib/qt/lib/libqt-mt.so.3
> #4  0xb7c1edf4 in MetaBundle::uniqueId (this=0x0) at
> ../../../amarok/src/metabundle.h:493
> #5  0xb7dc35f4 in TagDialog::saveTags (this=0x937a698) at tagdialog.cpp:1226
> #6  0xb7dbb097 in TagDialog::accept (this=0x937a698) at tagdialog.cpp:122
> #7  0xb7dc5cf4 in TagDialog::qt_invoke (this=0x937a698, _id=52,
> _o=0xbf83cfa0) at tagdialog.moc:138
> #8  0xb65dfd44 in QObject::activate_signal () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #9  0xb65e04dc in QObject::activate_signal () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #10 0xb6926c7c in QButton::clicked () from /usr/lib/qt/lib/libqt-mt.so.3
> #11 0xb6679761 in QButton::mouseReleaseEvent () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #12 0xb6619aa4 in QWidget::event () from /usr/lib/qt/lib/libqt-mt.so.3
> #13 0xb657b23f in QApplication::internalNotify () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #14 0xb657b496 in QApplication::notify () from /usr/lib/qt/lib/libqt-mt.so.3
> #15 0xb6bc6ac5 in KApplication::notify () from /opt/kde/lib/libkdecore.so.4
> #16 0xb651539b in QETWidget::translateMouseEvent () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #17 0xb6513821 in QApplication::x11ProcessEvent () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #18 0xb6526f25 in QEventLoop::processEvents () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #19 0xb6591961 in QEventLoop::enterLoop () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #20 0xb65918b6 in QEventLoop::exec () from /usr/lib/qt/lib/libqt-mt.so.3
> #21 0xb657a39f in QApplication::exec () from /usr/lib/qt/lib/libqt-mt.so.3
> #22 0x0804ceb0 in main (argc=1, argv=0xbf83db94) at main.cpp:109
> #0  0xb5fb7071 in __waitpid_nocancel () from /lib/tls/libpthread.so.0
> No symbol table info available.
> #1  0x0804df6b in Amarok::Crash::crashHandler () at crashhandler.cpp:249
>         pid = 26291
> #2  <signal handler called>
> No symbol table info available.
> #3  0xb68ce669 in QString::QString () from /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #4  0xb7c1edf4 in MetaBundle::uniqueId (this=0x0) at
> ../../../amarok/src/metabundle.h:493
> No locals.
> #5  0xb7dc35f4 in TagDialog::saveTags (this=0x937a698) at tagdialog.cpp:1226
>         it = {node = 0x9bb90c0}
>         endScore = {node = 0x9aaf070}
>         endRating = {node = 0x9395f00}
>         endLyrics = {node = 0x9b9e978}
>         endLabels = {node = 0x9b9e998}
> #6  0xb7dbb097 in TagDialog::accept (this=0x937a698) at tagdialog.cpp:122
> No locals.
> #7  0xb7dc5cf4 in TagDialog::qt_invoke (this=0x937a698, _id=52,
> _o=0xbf83cfa0) at tagdialog.moc:138
> No locals.
> #8  0xb65dfd44 in QObject::activate_signal () from
> /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #9  0xb65e04dc in QObject::activate_signal () from
> /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #10 0xb6926c7c in QButton::clicked () from /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #11 0xb6679761 in QButton::mouseReleaseEvent () from
> /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #12 0xb6619aa4 in QWidget::event () from /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #13 0xb657b23f in QApplication::internalNotify () from
> /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #14 0xb657b496 in QApplication::notify () from /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #15 0xb6bc6ac5 in KApplication::notify () from /opt/kde/lib/libkdecore.so.4
> No symbol table info available.
> #16 0xb651539b in QETWidget::translateMouseEvent () from
> /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #17 0xb6513821 in QApplication::x11ProcessEvent () from
> /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #18 0xb6526f25 in QEventLoop::processEvents () from
> /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #19 0xb6591961 in QEventLoop::enterLoop () from
> /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #20 0xb65918b6 in QEventLoop::exec () from /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #21 0xb657a39f in QApplication::exec () from /usr/lib/qt/lib/libqt-mt.so.3
> No symbol table info available.
> #22 0x0804ceb0 in main (argc=1, argv=0xbf83db94) at main.cpp:109
>         app = {<> = {<No data fields>}, <EngineObserver> =
> {_vptr.EngineObserver = 0xb7f329a8, m_subject = 0x0},
>    static metaObj = 0x8172368, static mainThreadId = 0, m_pGlobalAccel =
> 0x81cc228, m_pPlayerWindow = 0x0,
>    m_pPlaylistWindow = 0x81cdd60, m_pTray = 0x81e0798,
> m_pMediaDeviceManager = 0xb7f4fd80}
> ==== (gdb) thread apply all bt ====
> Thread 7 (Thread -1248429136 (LWP 25573)):
> #0  0xb5fb3d72 in pthread_cond_timedwait@@GLIBC_2.3.2 () from
> /lib/tls/libpthread.so.0
> #1  0xb476791e in xine_stream_master_slave () from /usr/lib/libxine.so.1
> #2  0x093f4420 in ?? ()
> #3  0x093f4408 in ?? ()
> #4  0xb596746c in ?? ()
> #5  0xb5967474 in ?? ()
> #6  0xb5967474 in ?? ()
> #7  0x093f4408 in ?? ()
> #8  0x093f4420 in ?? ()
> #9  0xb596746c in ?? ()
> #10 0x4551f561 in ?? ()
> #11 0x17bf7f90 in ?? ()
> #12 0x4551f55c in ?? ()
> #13 0x0006145a in ?? ()
> #14 0xb5fbaff4 in ?? () from /lib/tls/libpthread.so.0
> #15 0x00000000 in ?? ()
> Thread 6 (Thread -1258292304 (LWP 25576)):
> #0  0xb5d4574a in poll () from /lib/tls/libc.so.6
> #1  0xb420064f in ?? () from
> /usr/lib/xine/plugins/1.1.2/xineplug_ao_out_alsa.so
> #2  0xb4fff3fc in ?? ()
> #3  0x00000001 in ?? ()
> #4  0x0000014d in ?? ()
> #5  0x00000000 in ?? ()
> Thread 5 (Thread -1273250896 (LWP 25577)):
> #0  0xb5d4574a in poll () from /lib/tls/libc.so.6
> #1  0xb46470a8 in snd_pcm_wait_nocheck () from /usr/lib/libasound.so.2
> #2  0xb46472af in snd_pcm_wait () from /usr/lib/libasound.so.2
> #3  0xb4201a04 in ?? () from
> /usr/lib/xine/plugins/1.1.2/xineplug_ao_out_alsa.so
> #4  0x09ca12b0 in ?? ()
> #5  0x000f4240 in ?? ()
> #6  0x00000000 in ?? ()
> Thread 4 (Thread -1283527760 (LWP 25578)):
> #0  0xb5fb3d72 in pthread_cond_timedwait@@GLIBC_2.3.2 () from
> /lib/tls/libpthread.so.0
> #1  0xb4779177 in xine_free_audio_frame () from /usr/lib/libxine.so.1
> #2  0x0942bf94 in ?? ()
> #3  0x0942bf7c in ?? ()
> #4  0xb37ee34c in ?? ()
> #5  0xb37ee34c in ?? ()
> #6  0x0942bfc4 in ?? ()
> #7  0x4551f561 in ?? ()
> #8  0x33f07a70 in ?? ()
> #9  0x4551f560 in ?? ()
> #10 0x000d4be6 in ?? ()
> #11 0xb479e0f0 in ?? () from /usr/lib/libxine.so.1
> #12 0x0940d940 in ?? ()
> #13 0x09541600 in ?? ()
> #14 0xb5073220 in ?? ()
> #15 0xb4784f36 in _x_post_frame_u_turn () from /usr/lib/libxine.so.1
> #16 0x0940d940 in ?? ()
> #17 0xb1eb7ec4 in ?? () from
> /usr/lib/xine/plugins/1.1.2/xineplug_decode_mad.so
> #18 0xb1eb7ec4 in ?? () from
> /usr/lib/xine/plugins/1.1.2/xineplug_decode_mad.so
> #19 0x09538fe8 in ?? ()
> #20 0x09541600 in ?? ()
> #21 0xb1ea36d5 in ?? () from
> /usr/lib/xine/plugins/1.1.2/xineplug_decode_mad.so
> #22 0x09541600 in ?? ()
> #23 0xb507668c in ?? ()
> #24 0x000004e4 in ?? ()
> #25 0xb479e0f0 in ?? () from /usr/lib/libxine.so.1
> #26 0x09538b78 in ?? ()
> #27 0x093f44b0 in ?? ()
> #28 0xb5074244 in ?? ()
> #29 0xb5078acc in ?? ()
> #30 0xb507664c in ?? ()
> #31 0xb507668c in ?? ()
> #32 0xb476182f in _x_extra_info_merge () from /usr/lib/libxine.so.1
> #33 0xb479e0f0 in ?? () from /usr/lib/libxine.so.1
> #34 0x03010000 in ?? ()
> #35 0x09538fe8 in ?? ()
> #36 0x0952d030 in ?? ()
> #37 0xb47728c3 in _x_waveformatex_le2me () from /usr/lib/libxine.so.1
> #38 0xb5073220 in ?? ()
> #39 0x09538fe8 in ?? ()
> #40 0x00000000 in ?? ()
> Thread 3 (Thread -1291916368 (LWP 25579)):
> #0  0xb5fb3b11 in pthread_cond_wait@@GLIBC_2.3.2 () from
> /lib/tls/libpthread.so.0
> #1  0xb477b7c0 in xine_event_wait () from /usr/lib/libxine.so.1
> #2  0x09540e58 in ?? ()
> #3  0x00000001 in ?? ()
> #4  0xb477bc2c in xine_event_dispose_queue () from /usr/lib/libxine.so.1
> #5  0x00000000 in ?? ()
> Thread 2 (Thread -1300304976 (LWP 26280)):
> #0  0xb5fb3b11 in pthread_cond_wait@@GLIBC_2.3.2 () from
> /lib/tls/libpthread.so.0
> #1  0xb476a9a8 in _x_config_change_opt () from /usr/lib/libxine.so.1
> #2  0x09538c30 in ?? ()
> #3  0x09538c18 in ?? ()
> #4  0xb1f4f474 in ?? () from
> /usr/lib/xine/plugins/1.1.2/xineplug_dmx_audio.so
> #5  0xb1f4f474 in ?? () from
> /usr/lib/xine/plugins/1.1.2/xineplug_dmx_audio.so
> #6  0x001ed2d6 in ?? ()
> #7  0x00000000 in ?? ()
> Thread 1 (Thread -1245554464 (LWP 25553)):
> #0  0xb5fb7071 in __waitpid_nocancel () from /lib/tls/libpthread.so.0
> #1  0x0804df6b in Amarok::Crash::crashHandler () at crashhandler.cpp:249
> #2  <signal handler called>
> #3  0xb68ce669 in QString::QString () from /usr/lib/qt/lib/libqt-mt.so.3
> #4  0xb7c1edf4 in MetaBundle::uniqueId (this=0x0) at
> ../../../amarok/src/metabundle.h:493
> #5  0xb7dc35f4 in TagDialog::saveTags (this=0x937a698) at tagdialog.cpp:1226
> #6  0xb7dbb097 in TagDialog::accept (this=0x937a698) at tagdialog.cpp:122
> #7  0xb7dc5cf4 in TagDialog::qt_invoke (this=0x937a698, _id=52,
> _o=0xbf83cfa0) at tagdialog.moc:138
> #8  0xb65dfd44 in QObject::activate_signal () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #9  0xb65e04dc in QObject::activate_signal () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #10 0xb6926c7c in QButton::clicked () from /usr/lib/qt/lib/libqt-mt.so.3
> #11 0xb6679761 in QButton::mouseReleaseEvent () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #12 0xb6619aa4 in QWidget::event () from /usr/lib/qt/lib/libqt-mt.so.3
> #13 0xb657b23f in QApplication::internalNotify () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #14 0xb657b496 in QApplication::notify () from /usr/lib/qt/lib/libqt-mt.so.3
> #15 0xb6bc6ac5 in KApplication::notify () from /opt/kde/lib/libkdecore.so.4
> #16 0xb651539b in QETWidget::translateMouseEvent () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #17 0xb6513821 in QApplication::x11ProcessEvent () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #18 0xb6526f25 in QEventLoop::processEvents () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #19 0xb6591961 in QEventLoop::enterLoop () from
> /usr/lib/qt/lib/libqt-mt.so.3
> #20 0xb65918b6 in QEventLoop::exec () from /usr/lib/qt/lib/libqt-mt.so.3
> #21 0xb657a39f in QApplication::exec () from /usr/lib/qt/lib/libqt-mt.so.3
> #22 0x0804ceb0 in main (argc=1, argv=0xbf83db94) at main.cpp:109
> #0  0xb5fb7071 in __waitpid_nocancel () from /lib/tls/libpthread.so.0
>
>
> ==== kdBacktrace() ================
> [
> 0: /opt/kde/lib/libkdecore.so.4(_Z11kdBacktracei+0x41) [0xb6bd6811]
> 1: /opt/kde/lib/libkdecore.so.4(_Z11kdBacktracev+0x2b) [0xb6bd6b8b]
> 2: amarokapp(_ZN6Amarok5Crash12crashHandlerEi+0xcb2) [0x804dd74]
> 3: [0xb7f5c420]
> 4: /opt/kde/lib/libamarok.so.0(_ZNK10MetaBundle8uniqueIdEv+0x24)
> [0xb7c1edf4]
> 5: /opt/kde/lib/libamarok.so.0(_ZN9TagDialog8saveTagsEv+0x2ec) [0xb7dc35f4]
> 6: /opt/kde/lib/libamarok.so.0(_ZN9TagDialog6acceptEv+0x41) [0xb7dbb097]
> 7: /opt/kde/lib/libamarok.so.0(_ZN9TagDialog9qt_invokeEiP8QUObject+0x8e)
> [0xb7dc5cf4]
> 8:
> /usr/lib/qt/lib/libqt-mt.so.3(_ZN7QObject15activate_signalEP15QConnectionListP8QUObject+0x144)
> [0xb65dfd44]
> 9: /usr/lib/qt/lib/libqt-mt.so.3(_ZN7QObject15activate_signalEi+0x9c)
> [0xb65e04dc]
> 10: /usr/lib/qt/lib/libqt-mt.so.3(_ZN7QButton7clickedEv+0x2c) [0xb6926c7c]
> 11:
> /usr/lib/qt/lib/libqt-mt.so.3(_ZN7QButton17mouseReleaseEventEP11QMouseEvent+0xb1)
> [0xb6679761]
> 12: /usr/lib/qt/lib/libqt-mt.so.3(_ZN7QWidget5eventEP6QEvent+0x5b4)
> [0xb6619aa4]
> 13:
> /usr/lib/qt/lib/libqt-mt.so.3(_ZN12QApplication14internalNotifyEP7QObjectP6QEvent+0x8f)
> [0xb657b23f]
> 14:
> /usr/lib/qt/lib/libqt-mt.so.3(_ZN12QApplication6notifyEP7QObjectP6QEvent+0x146)
> [0xb657b496]
> 15:
> /opt/kde/lib/libkdecore.so.4(_ZN12KApplication6notifyEP7QObjectP6QEvent+0x215)
> [0xb6bc6ac5]
> 16:
> /usr/lib/qt/lib/libqt-mt.so.3(_ZN9QETWidget19translateMouseEventEPK7_XEvent+0xceb)
> [0xb651539b]
> 17:
> /usr/lib/qt/lib/libqt-mt.so.3(_ZN12QApplication15x11ProcessEventEP7_XEvent+0x691)
> [0xb6513821]
> 18:
> /usr/lib/qt/lib/libqt-mt.so.3(_ZN10QEventLoop13processEventsEj+0x105)
> [0xb6526f25]
> 19: /usr/lib/qt/lib/libqt-mt.so.3(_ZN10QEventLoop9enterLoopEv+0x51)
> [0xb6591961]
> 20: /usr/lib/qt/lib/libqt-mt.so.3(_ZN10QEventLoop4execEv+0x26) [0xb65918b6]
> 21: /usr/lib/qt/lib/libqt-mt.so.3(_ZN12QApplication4execEv+0x1f)
> [0xb657a39f]
> 22: amarokapp [0x804ceb0]
> 23: /lib/tls/libc.so.6(__libc_start_main+0xd4) [0xb5c9ae14]
> 24: amarokapp(_ZN6QGList5clearEv+0xb9) [0x804c731]
> ]
> _______________________________________________
> Amarok mailing list
> Amarok at kde.org
> https://mail.kde.org/mailman/listinfo/amarok
>



More information about the Amarok mailing list