Bug 169125 - JuK crashes when accessing a deleted file
Summary: JuK crashes when accessing a deleted file
Status: RESOLVED FIXED
Alias: None
Product: juk
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Scott Wheeler
URL:
Keywords:
: 126118 131541 136963 138209 (view as bug list)
Depends on:
Blocks:
 
Reported: 2008-08-14 14:27 UTC by erik_hahn
Modified: 2009-06-27 05:48 UTC (History)
7 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description erik_hahn 2008-08-14 14:27:21 UTC
Version:            (using KDE 4.1.0)
Installed from:    Gentoo Packages
Compiler:          gcc 4.3.1 
OS:                Linux

After upgrading to Qt 4.4.1, Juk crashes everytime I try to access a playlist.

Application: JuK (juk), signal SIGSEGV
[Thread debugging using libthread_db enabled]
[New Thread 0xb6422ac0 (LWP 23378)]
[New Thread 0xb25bcb90 (LWP 23399)]
[New Thread 0xb2dbdb90 (LWP 23398)]
[New Thread 0xb35beb90 (LWP 23397)]
[New Thread 0xb3dbfb90 (LWP 23396)]
[New Thread 0xb45cab90 (LWP 23393)]
0xb7fe4410 in __kernel_vsyscall ()
[Current thread is 0 (LWP 23378)]

Thread 6 (Thread 0xb45cab90 (LWP 23393)):
#0  0xb7fe4410 in __kernel_vsyscall ()
#1  0x41c99372 in pthread_cond_timedwait@@GLIBC_2.3.2 ()
   from /lib/libpthread.so.0
#2  0x41bf2b24 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb4baa124 in metronom_sync_loop () from /usr/lib/libxine.so.1
#4  0xb45ca3a4 in ?? ()
#5  0x08455eb0 in ?? ()
#6  0x08455ec8 in ?? ()
#7  0x48a423a1 in ?? ()
#8  0x0e4876b0 in ?? ()
#9  0x48a4239c in ?? ()
#10 0x0003a80e in ?? ()
#11 0x41ca4ff4 in ?? () from /lib/libpthread.so.0
#12 0x00000000 in ?? ()

Thread 5 (Thread 0xb3dbfb90 (LWP 23396)):
#0  0xb7fe4410 in __kernel_vsyscall ()
#1  0x41bd2b6b in read () from /lib/libc.so.6
#2  0xb4c5be31 in snd_ctl_hw_read () from /usr/lib/libasound.so.2
#3  0xb3dbf250 in ?? ()
#4  0x00000048 in ?? ()
#5  0x000b82dc in ?? ()
#6  0xb4c325a8 in ?? () from /usr/lib/libasound.so.2
#7  0xb4c5be06 in snd_ctl_hw_read () from /usr/lib/libasound.so.2
#8  0xb4c59489 in snd_ctl_read () from /usr/lib/libasound.so.2
#9  0x084126c8 in ?? ()
#10 0xb3dbf250 in ?? ()
#11 0x0849540c in ?? ()
#12 0xb4c59450 in ?? () from /usr/lib/libasound.so.2
#13 0x084126c8 in ?? ()
#14 0xb4cdeff4 in ?? () from /usr/lib/libasound.so.2
#15 0x084c1424 in ?? ()
#16 0xb4c55b81 in snd_hctl_handle_events () from /usr/lib/libasound.so.2
#17 0x00000000 in ?? ()

Thread 4 (Thread 0xb35beb90 (LWP 23397)):
#0  0xb7fe4410 in __kernel_vsyscall ()
#1  0x41c99045 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x41bf2acc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb4bb93bc in fifo_peek_int () from /usr/lib/libxine.so.1
#4  0x084bfc20 in ?? ()
#5  0xb4be4ff4 in ?? () from /usr/lib/libxine.so.1
#6  0xb35be314 in ?? ()
#7  0x00000001 in ?? ()
#8  0x084bfc68 in ?? ()
#9  0x084bfc20 in ?? ()
#10 0xb4bb94dd in fifo_remove () from /usr/lib/libxine.so.1
#11 0x41c5fff4 in ?? () from /lib/libc.so.6
#12 0x084bfc18 in ?? ()
#13 0xb4bb9371 in fifo_peek_int () from /usr/lib/libxine.so.1
#14 0x084bfc18 in ?? ()
#15 0x084bfc20 in ?? ()
#16 0x084b6d80 in ?? ()
#17 0xb4bba344 in ao_loop () from /usr/lib/libxine.so.1
#18 0x00000000 in ?? ()

Thread 3 (Thread 0xb2dbdb90 (LWP 23398)):
#0  0xb7fe4410 in __kernel_vsyscall ()
#1  0x41bdbdc1 in select () from /lib/libc.so.6
#2  0xb7379cc4 in QEventDispatcherUNIX::select ()
   from /usr/lib/qt4/libQtCore.so.4
#3  0xb737a3b6 in QEventDispatcherUNIXPrivate::doSelect ()
   from /usr/lib/qt4/libQtCore.so.4
#4  0xb737bb77 in QEventDispatcherUNIX::processEvents ()
   from /usr/lib/qt4/libQtCore.so.4
#5  0xb734c394 in QEventLoop::processEvents ()
   from /usr/lib/qt4/libQtCore.so.4
#6  0xb734c551 in QEventLoop::exec () from /usr/lib/qt4/libQtCore.so.4
#7  0xb7252a4b in QThread::exec () from /usr/lib/qt4/libQtCore.so.4
#8  0xb4bf59a6 in Phonon::Xine::XineThread::run ()
   from /usr/kde/4.1/lib/kde4/phonon_xine.so

Thread 2 (Thread 0xb25bcb90 (LWP 23399)):
#0  0xb7fe4410 in __kernel_vsyscall ()
#1  0x41c99045 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0
#2  0x41bf2acc in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libc.so.6
#3  0xb4bb93bc in fifo_peek_int () from /usr/lib/libxine.so.1
#4  0x0863f180 in ?? ()
#5  0x00000000 in ?? ()

Thread 1 (Thread 0xb6422ac0 (LWP 23378)):
#0  0xb7fe4410 in __kernel_vsyscall ()
#1  0x41b9cf16 in nanosleep () from /lib/libc.so.6
#2  0x41b9cd24 in sleep () from /lib/libc.so.6
#3  0xb785698c in KCrash::startDrKonqi () from /usr/kde/4.1/lib/libkdeui.so.5
#4  0xbffdb4c0 in ?? ()
#0  0xb7fe4410 in __kernel_vsyscall ()
Comment 1 Roman Zimmermann 2008-09-19 09:56:54 UTC
It seems that I ran into the same problem. I'm on gentoo (gcc 4.3.1) too. But it worked for me for a while (I installed juk yesterday) with qt-4.4.1. This is juk-3.1.1 on kde-4.1.1.

I hope this backtrace is more useful:
Anwendung: JuK (juk), Signal SIGSEGV
Using host libthread_db library "/lib/libthread_db.so.1".
[Thread debugging using libthread_db enabled]
[New Thread 0x7f98d400f700 (LWP 10270)]
[New Thread 0x42f13950 (LWP 10277)]
[New Thread 0x411d6950 (LWP 10276)]
[New Thread 0x42712950 (LWP 10275)]
[New Thread 0x41f11950 (LWP 10274)]
[New Thread 0x409d5950 (LWP 10271)]
[KCrash handler]
#5  FileHandle (this=0x7fffdc04b1d0, f=@0xf8c4c8)
    at /home/paludis/tmp/kde-base-juk-4.1.1/work/juk-4.1.1/juk/filehandle.cpp:61
#6  0x000000000049fde1 in PlaylistItem::file (this=<value optimized out>)
    at /home/paludis/tmp/kde-base-juk-4.1.1/work/juk-4.1.1/juk/playlistitem.cpp:84
#7  0x000000000047dcc8 in Playlist::time (this=0x28df970)
    at /home/paludis/tmp/kde-base-juk-4.1.1/work/juk-4.1.1/juk/playlist.cpp:457
#8  0x00000000004adc6f in StatusLabel::updateData (this=0x28fa340)
    at /home/paludis/tmp/kde-base-juk-4.1.1/work/juk-4.1.1/juk/statuslabel.cpp:128
#9  0x000000000049f65d in Watched::dataChanged (this=<value optimized out>)
    at /home/paludis/tmp/kde-base-juk-4.1.1/work/juk-4.1.1/juk/playlistinterface.cpp:30
#10 0x000000000049153c in PlaylistBox::slotPlaylistChanged (this=0xf5b9e0)
    at /home/paludis/tmp/kde-base-juk-4.1.1/work/juk-4.1.1/juk/playlistbox.cpp:657
#11 0x00000000004931d4 in PlaylistBox::contentsMouseReleaseEvent (
    this=0xf5b9e0, e=0xf8c4c8)
    at /home/paludis/tmp/kde-base-juk-4.1.1/work/juk-4.1.1/juk/playlistbox.cpp:563
#12 0x00007f98d38b2de8 in Q3ScrollView::viewportMouseReleaseEvent (
    this=0xf5b9e0, e=0x7fffdc04be10) at widgets/q3scrollview.cpp:1761
#13 0x00007f98d38b3608 in Q3ScrollView::eventFilter (this=0xf5b9e0, 
    obj=0xf7a290, e=0x7fffdc04be10) at widgets/q3scrollview.cpp:1479
#14 0x00007f98d387203f in Q3ListView::eventFilter (this=0xf5b9e0, o=0xf7a290, 
    e=0x7fffdc04be10) at itemviews/q3listview.cpp:3777
#15 0x00007f98d23379f5 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<value optimized out>, receiver=0xf7a290, event=0x7fffdc04be10)
    at kernel/qcoreapplication.cpp:698
#16 0x00007f98d13b6962 in QApplicationPrivate::notify_helper (this=0xe65f40, 
    receiver=0xf7a290, e=0x7fffdc04be10) at kernel/qapplication.cpp:3796
#17 0x00007f98d13b6f64 in QApplication::notify (this=<value optimized out>, 
    receiver=0xf7a290, e=0x7fffdc04be10) at kernel/qapplication.cpp:3527
#18 0x00007f98d2c2f6fb in KApplication::notify (this=0x7fffdc04c8a0, 
    receiver=0xf7a290, event=0x7fffdc04be10)
    at /home/paludis/tmp/kde-base-kdelibs-4.1.1-r2/work/kdelibs-4.1.1/kdeui/kernel/kapplication.cpp:311
#19 0x00007f98d23394d8 in QCoreApplication::notifyInternal (
    this=0x7fffdc04c8a0, receiver=0xf7a290, event=0x7fffdc04be10)
    at kernel/qcoreapplication.cpp:591
#20 0x00007f98d13bba1e in QApplicationPrivate::sendMouseEvent (
    receiver=0xf7a290, event=0x7fffdc04be10, alienWidget=0xf7a290, 
    nativeWidget=0xf2a5c0, buttonDown=<value optimized out>, 
    lastMouseReceiver=@0x7f98d1b996c0) at kernel/qapplication.cpp:2792
#21 0x00007f98d1405508 in QETWidget::translateMouseEvent (this=0xf2a5c0, 
    event=<value optimized out>) at kernel/qapplication_x11.cpp:4048
#22 0x00007f98d1404302 in QApplication::x11ProcessEvent (this=0x7fffdc04c8a0, 
    event=0x7fffdc04c500) at kernel/qapplication_x11.cpp:3244
#23 0x00007f98d1420877 in x11EventSourceDispatch (s=0xe69610, callback=0, 
    user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:148
#24 0x00007f98ce50de67 in IA__g_main_context_dispatch (context=0xe68930)
    at gmain.c:2012
#25 0x00007f98ce50fd27 in g_main_context_iterate (context=0xe68930, block=1, 
    dispatch=1, self=<value optimized out>) at gmain.c:2645
#26 0x00007f98ce50fe0d in IA__g_main_context_iteration (context=0xe68930, 
    may_block=1) at gmain.c:2708
#27 0x00007f98d2355e18 in QEventDispatcherGlib::processEvents (this=0xe65980, 
    flags={i = -603666576}) at kernel/qeventdispatcher_glib.cpp:327
#28 0x00007f98d1420522 in QGuiEventDispatcherGlib::processEvents (
    this=0x7fffdc04b1d0, flags=<value optimized out>)
    at kernel/qguieventdispatcher_glib.cpp:204
#29 0x00007f98d233727d in QEventLoop::processEvents (
    this=<value optimized out>, flags={i = -603666480})
    at kernel/qeventloop.cpp:149
#30 0x00007f98d233740a in QEventLoop::exec (this=0x7fffdc04c810, flags=
      {i = -603666400}) at kernel/qeventloop.cpp:200
#31 0x00007f98d2339b13 in QCoreApplication::exec ()
    at kernel/qcoreapplication.cpp:849
#32 0x00000000004720a5 in main (argc=5, argv=0x7fffdc04cef8)
    at /home/paludis/tmp/kde-base-juk-4.1.1/work/juk-4.1.1/juk/main.cpp:100
#33 0x00007f98d07721f4 in __libc_start_main () from /lib64/libc.so.6
#34 0x000000000042b1b9 in _start ()
#0  0x00007f98d07ebc21 in nanosleep () from /lib64/libc.so.6
Comment 2 Roman Zimmermann 2008-09-19 10:05:45 UTC
Sorry for the double post.

My music files are all stored on a removable disk. The playlist consists of files from this disk. When the disk is not mounted the crash occurs. As soon as the disk is mounted it works like a charm.

The bugs #136963 and #131541 seem to describe the same or a very similar issue.
Comment 3 Dario Andres 2008-12-05 02:54:23 UTC
This may be related to bug 142366 (similar backtrace like comment 1)
Comment 4 Michael Pyne 2009-02-16 03:25:12 UTC
SVN commit 926737 by mpyne:

Backport a slightly more correct revision 909740 to 4.2 branch to fix a JuK bug where a PlaylistItem could
be deleted while cached in some data structures of its parent Playlist.  I believe this fixes bug 169125 (at
least the initial crash, I still need to test removable media).

CCBUG:169125


 M  +4 -6      collectionlist.cpp  
 M  +1 -1      playlist.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=926737
Comment 5 Michael Pyne 2009-02-16 03:26:37 UTC
I think this particular crash is fixed with revision 909740 (and I just
backported the crash fix to 4.2 branch, which would be in KDE 4.2.1).  I still
need to test it with actual removable media though.
Comment 6 Michael Pyne 2009-02-16 05:02:43 UTC
*** Bug 126118 has been marked as a duplicate of this bug. ***
Comment 7 Michael Pyne 2009-02-16 05:03:31 UTC
*** Bug 131541 has been marked as a duplicate of this bug. ***
Comment 8 Michael Pyne 2009-02-16 05:05:39 UTC
The same bug is present in KDE 3.5, as bug 171289 (which I do intend on fixing
if the proposed patch works).
Comment 9 Michael Pyne 2009-02-16 05:06:00 UTC
*** Bug 138209 has been marked as a duplicate of this bug. ***
Comment 10 Michael Pyne 2009-02-16 05:56:28 UTC
*** Bug 136963 has been marked as a duplicate of this bug. ***
Comment 11 Michael Pyne 2009-06-27 05:48:45 UTC
I can't reproduce anymore, I think the bugfix has been effective.