Bug 211275 - Crash at startup with loading Dynamic Playlists
Summary: Crash at startup with loading Dynamic Playlists
Status: RESOLVED UPSTREAM
Alias: None
Product: amarok
Classification: Applications
Component: Playlists/Dynamic Playlists (show other bugs)
Version: 2.2.0
Platform: Unlisted Binaries Linux
: NOR crash
Target Milestone: ---
Assignee: Amarok Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-10-21 01:34 UTC by Still
Modified: 2009-11-23 15:25 UTC (History)
1 user (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 Still 2009-10-21 01:34:13 UTC
Application that crashed: amarok
Version of the application: 2.2.0
KDE Version: 4.3.2 (KDE 4.3.2)
Qt Version: 4.5.3
Operating System: Linux 2.6.26-gcc-4.3.3-5 x86_64
Distribution: Debian GNU/Linux unstable (sid)

What I was doing when the application crashed:
Hi there!

I was opening Amarok and it have consumed 100% of three processors and gave me a error message.
The debug is attached.

Regards,

Still

 -- Backtrace:
Application: Amarok (amarok), signal: Segmentation fault
The current source language is "auto; currently c".
[Current thread is 1 (Thread 0x7fd6b51707a0 (LWP 22006))]

Thread 8 (Thread 0x7fd69c6eb910 (LWP 22007)):
#0  pthread_cond_timedwait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S:220
#1  0x00007fd6a24d5c91 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fd6ad23573a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fd6b27af49d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 7 (Thread 0x7fd69ab96910 (LWP 22008)):
#0  0x00007fd6b27a4543 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fd6abe63859 in ?? () from /lib/libglib-2.0.so.0
#2  0x00007fd6abe63b3c in g_main_context_iteration () from /lib/libglib-2.0.so.0
#3  0x00007fd6b3ace3b6 in QEventDispatcherGlib::processEvents (this=0x86f980, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:409
#4  0x00007fd6b3aa4562 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fd6b3aa4934 in QEventLoop::exec (this=0x7fd69ab95fb0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007fd6b39bd5a8 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#7  0x00007fd6a2730aec in ?? () from /usr/lib/qt4/plugins/phonon_backend/phonon_xine.so
#8  0x00007fd6b39c04a5 in QThreadPrivate::start (arg=0x86b690) at thread/qthread_unix.cpp:188
#9  0x00007fd6ad23573a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#10 0x00007fd6b27af49d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 6 (Thread 0x7fd69a18c910 (LWP 22011)):
#0  0x00007fd6b27a4543 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=333) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fd69a191899 in ?? () from /usr/lib/xine/plugins/1.26/xineplug_ao_out_alsa.so
#2  0x00007fd6ad23573a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fd6b27af49d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()
The current source language is "auto; currently c".

Thread 5 (Thread 0x7fd69998b910 (LWP 22012)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fd6a24e6af3 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fd6ad23573a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fd6b27af49d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 4 (Thread 0x7fd698d81910 (LWP 22013)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fd6a24e6af3 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fd6ad23573a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fd6b27af49d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()
The current source language is "auto; currently asm".

Thread 3 (Thread 0x7fd698580910 (LWP 22014)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fd6a24e6af3 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fd6ad23573a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fd6b27af49d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7fd697d7f910 (LWP 22015)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:261
#1  0x00007fd6a24e6af3 in ?? () from /usr/lib/libxine.so.1
#2  0x00007fd6ad23573a in start_thread (arg=<value optimized out>) at pthread_create.c:300
#3  0x00007fd6b27af49d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fd6b51707a0 (LWP 22006)):
[KCrash Handler]
#5  QString (this=0x7fffbd2bbf00, unicode=0x7fd60bad202a, size=536871867) at tools/qstring.cpp:851
#6  0x00007fd6b3a4f9a9 in QTextStream::readAll (this=<value optimized out>) at io/qtextstream.cpp:1612
#7  0x00007fd6b45cc2a6 in PlaylistBrowserNS::DynamicModel::loadPlaylists (this=0x11229a0) at ../../src/browsers/playlistbrowser/DynamicModel.cpp:264
#8  0x00007fd6b45d3ac0 in DynamicCategory (this=0x1c771c0, parent=<value optimized out>) at ../../src/browsers/playlistbrowser/DynamicCategory.cpp:108
#9  0x00007fd6b45e36a8 in PlaylistBrowserNS::PlaylistBrowser::loadDynamicCategory (this=<value optimized out>) at ../../src/browsers/playlistbrowser/PlaylistBrowser.cpp:114
#10 0x00007fd6b45e5a7d in PlaylistBrowserNS::PlaylistBrowser::addCategory (this=0x1c69f20, category=4) at ../../src/browsers/playlistbrowser/PlaylistBrowser.cpp:94
#11 0x00007fd6b45e5c53 in PlaylistBrowser (this=0x1c69f20, name=0x7fd6b47b7d53 "playlists", parent=0x0) at ../../src/browsers/playlistbrowser/PlaylistBrowser.cpp:52
#12 0x00007fd6b46c1835 in MainWindow::init (this=0x7b3a70) at ../../src/MainWindow.cpp:331
#13 0x00007fd6b46c2972 in MainWindow (this=0x7b3a70) at ../../src/MainWindow.cpp:162
#14 0x00007fd6b469e6d3 in App::continueInit (this=0x7fffbd2bdbb0) at ../../src/App.cpp:662
#15 0x00007fd6b46a0016 in App (this=0x7fffbd2bdbb0) at ../../src/App.cpp:225
#16 0x00000000004097d5 in main (argc=1, argv=0x7fffbd2bf958) at ../../src/main.cpp:223
The current source language is "auto; currently c".

Reported using DrKonqi
Comment 1 Mark Kretschmann 2009-10-21 08:55:26 UTC
Hmm. This appears to be the code that crashes:

    QFile file( Amarok::saveLocation() + "dynamic.xml" );
    if( !file.open( QIODevice::ReadWrite ) )
    {
        error() << "Can not open dynamic.xml";
        return;
    }

    QTextStream stream( &file );
    stream.setAutoDetectUnicode( true );
    QString raw = stream.readAll();


This code itself seems OK to me. We're doing error checking for the file operation. So I assume something went wrong at a deeper level, e.g. Qt. Sorry, can't really do anything about it. We'll have to wait and see if it happens again.
Comment 2 Arthur Nascimento 2009-11-23 15:25:36 UTC
I have just re-encountered this crash and filed it on bug 215773.