| Summary: | Crash when closing amarok directly after startup | ||
|---|---|---|---|
| Product: | [Applications] amarok | Reporter: | Sven Krohlas <sven> |
| Component: | Playlist | Assignee: | Amarok Bugs <amarok-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | ||
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Sven Krohlas
2006-10-26 20:19:43 UTC
The backtrace, saved from pastebin:
======== DEBUG INFORMATION =======
Version: 1.4-SVN-0610260935
Engine: xine-engine
Build date: Oct 26 2006
CC version: 4.0.2 20050901 (prerelease) (SUSE Linux)
KDElibs: 3.5.5 "release 19.1"
Qt: 3.3.6
TagLib: 1.4.0
CPU count: 1
==== file `which amarokapp` =======
/opt/kde3/bin/amarokapp: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.2.5, dynamically linked (uses shared libs), not stripped
==== (gdb) bt =====================
Using host libthread_db library "/lib/tls/libthread_db.so.1".
`system-supplied DSO at 0xffffe000' has disappeared; keeping its symbols.
[Thread debugging using libthread_db enabled]
[New Thread 1108656128 (LWP 2574)]
[New Thread 1136765872 (LWP 2586)]
[Thread debugging using libthread_db enabled]
[New Thread 1108656128 (LWP 2574)]
[New Thread 1136765872 (LWP 2586)]
[Thread debugging using libthread_db enabled]
[New Thread 1108656128 (LWP 2574)]
[New Thread 1136765872 (LWP 2586)]
[New Thread 1134664624 (LWP 2585)]
[New Thread 1130675120 (LWP 2584)]
[New Thread 1128266672 (LWP 2583)]
0xffffe410 in __kernel_vsyscall ()
#0 0xffffe410 in __kernel_vsyscall ()
#1 0x41ff842b in __waitpid_nocancel () from /lib/tls/libpthread.so.0
#2 0x0804dd10 in Amarok::Crash::crashHandler () at /home/sven/amarok-svn/amarok/src/amarokcore/crashhandler.cpp:249
#3 <signal handler called>
#4 0x00000000 in ?? ()
#5 0x40381b38 in ~UrlLoader (this=0x835b200) at /home/sven/amarok-svn/amarok/src/playlistloader.cpp:174
#6 0x416f1b3d in QApplication::removePostedEvents () from /usr/lib/qt3/lib/libqt-mt.so.3
#7 0x416f1ba3 in QApplication::removePostedEvents () from /usr/lib/qt3/lib/libqt-mt.so.3
#8 0x41753ea1 in QObject::~QObject () from /usr/lib/qt3/lib/libqt-mt.so.3
#9 0x403f213f in ~ThreadWeaver (this=0x82c57d0) at /home/sven/amarok-svn/amarok/src/threadweaver.cpp:55
#10 0x401cc9af in ThreadWeaver::deleteInstance () at threadweaver.h:413
#11 0x401c73eb in ~App (this=0xbfe4617c) at /home/sven/amarok-svn/amarok/src/app.cpp:152
#12 0x0804cde8 in main (argc=1, argv=0xbfe462e4) at /home/sven/amarok-svn/amarok/src/main.cpp:109
#0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0x41ff842b in __waitpid_nocancel () from /lib/tls/libpthread.so.0
No symbol table info available.
#2 0x0804dd10 in Amarok::Crash::crashHandler () at /home/sven/amarok-svn/amarok/src/amarokcore/crashhandler.cpp:249
pid = 2602
#3 <signal handler called>
No symbol table info available.
#4 0x00000000 in ?? ()
No symbol table info available.
#5 0x40381b38 in ~UrlLoader (this=0x835b200) at /home/sven/amarok-svn/amarok/src/playlistloader.cpp:174
No locals.
#6 0x416f1b3d in QApplication::removePostedEvents () from /usr/lib/qt3/lib/libqt-mt.so.3
No symbol table info available.
#7 0x416f1ba3 in QApplication::removePostedEvents () from /usr/lib/qt3/lib/libqt-mt.so.3
No symbol table info available.
#8 0x41753ea1 in QObject::~QObject () from /usr/lib/qt3/lib/libqt-mt.so.3
No symbol table info available.
#9 0x403f213f in ~ThreadWeaver (this=0x82c57d0) at /home/sven/amarok-svn/amarok/src/threadweaver.cpp:55
No locals.
#10 0x401cc9af in ThreadWeaver::deleteInstance () at threadweaver.h:413
No locals.
#11 0x401c73eb in ~App (this=0xbfe4617c) at /home/sven/amarok-svn/amarok/src/app.cpp:152
uniquelyNamedStackAllocatedStandardBlock = {m_start = {tv_sec = 1161852006, tv_usec = 456504}, m_label = 0x404cdd78 "virtual App::~App()"}
engine = (EngineBase * const) 0x8397f60
#12 0x0804cde8 in main (argc=1, argv=0xbfe462e4) at /home/sven/amarok-svn/amarok/src/main.cpp:109
app = {<> = {<No data fields>}, <EngineObserver> = {_vptr.EngineObserver = 0x40528d88, m_subject = 0x0}, static metaObj = 0x8134ce8,
static mainThreadId = 0, m_pGlobalAccel = 0x816af30, m_pPlayerWindow = 0x0, m_pPlaylistWindow = 0x8169f20, m_pTray = 0x814ada0,
m_pMediaDeviceManager = 0x40544980}
==== (gdb) thread apply all bt ====
Thread 5 (Thread 1128266672 (LWP 2583)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0x41ff4cec in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0
#2 0x42cfa9e3 in metronom_sync_loop (this=0x83fadf0) at metronom.c:873
#3 0x41ff2297 in start_thread () from /lib/tls/libpthread.so.0
#4 0x420e337e in clone () from /lib/tls/libc.so.6
#5 0x433ffbb0 in ?? ()
Thread 4 (Thread 1130675120 (LWP 2584)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0x41ff4a76 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0
#2 0x42d08eba in fifo_remove_int (fifo=0x84131d8, blocking=1) at audio_out.c:342
#3 0x42d0cc41 in ao_loop (this_gen=0x8412668) at audio_out.c:380
#4 0x41ff2297 in start_thread () from /lib/tls/libpthread.so.0
#5 0x420e337e in clone () from /lib/tls/libc.so.6
#6 0x4364bbb0 in ?? ()
Thread 3 (Thread 1134664624 (LWP 2585)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0x41ff4a76 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0
#2 0x42cfd8fc in fifo_buffer_get (fifo=0x8593c10) at buffer.c:233
#3 0x42d04c71 in audio_decoder_loop (stream_gen=0x8587f80) at audio_decoder.c:68
#4 0x41ff2297 in start_thread () from /lib/tls/libpthread.so.0
#5 0x420e337e in clone () from /lib/tls/libc.so.6
#6 0x43a19bb0 in ?? ()
Thread 2 (Thread 1136765872 (LWP 2586)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0x41ff4a76 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/libpthread.so.0
#2 0x42d0e094 in xine_event_wait (queue=0x859bef0) at events.c:59
#3 0x42d0e44c in listener_loop (queue_gen=0x859bef0) at events.c:216
#4 0x41ff2297 in start_thread () from /lib/tls/libpthread.so.0
#5 0x420e337e in clone () from /lib/tls/libc.so.6
#6 0x43c1abb0 in ?? ()
Thread 1 (Thread 1108656128 (LWP 2574)):
#0 0xffffe410 in __kernel_vsyscall ()
#1 0x41ff842b in __waitpid_nocancel () from /lib/tls/libpthread.so.0
#2 0x0804dd10 in Amarok::Crash::crashHandler () at /home/sven/amarok-svn/amarok/src/amarokcore/crashhandler.cpp:249
#3 <signal handler called>
#4 0x00000000 in ?? ()
#5 0x40381b38 in ~UrlLoader (this=0x835b200) at /home/sven/amarok-svn/amarok/src/playlistloader.cpp:174
#6 0x416f1b3d in QApplication::removePostedEvents () from /usr/lib/qt3/lib/libqt-mt.so.3
#7 0x416f1ba3 in QApplication::removePostedEvents () from /usr/lib/qt3/lib/libqt-mt.so.3
#8 0x41753ea1 in QObject::~QObject () from /usr/lib/qt3/lib/libqt-mt.so.3
#9 0x403f213f in ~ThreadWeaver (this=0x82c57d0) at /home/sven/amarok-svn/amarok/src/threadweaver.cpp:55
#10 0x401cc9af in ThreadWeaver::deleteInstance () at threadweaver.h:413
#11 0x401c73eb in ~App (this=0xbfe4617c) at /home/sven/amarok-svn/amarok/src/app.cpp:152
#12 0x0804cde8 in main (argc=1, argv=0xbfe462e4) at /home/sven/amarok-svn/amarok/src/main.cpp:109
#0 0xffffe410 in __kernel_vsyscall ()
==== kdBacktrace() ================
[
0: /opt/kde3/lib/libkdecore.so.4(_Z11kdBacktracei+0x45) [0x412d7e55]
1: /opt/kde3/lib/libkdecore.so.4(_Z11kdBacktracev+0x2b) [0x412d81db]
2: amarokapp(_ZN6Amarok5Crash12crashHandlerEi+0xc7b) [0x804db59]
3: [0xffffe420]
4: /usr/lib/qt3/lib/libqt-mt.so.3(_ZN12QApplication18removePostedEventsEP7QObjecti+0xcd) [0x416f1b3d]
5: /usr/lib/qt3/lib/libqt-mt.so.3(_ZN12QApplication18removePostedEventsEP7QObject+0x23) [0x416f1ba3]
6: /usr/lib/qt3/lib/libqt-mt.so.3(_ZN7QObjectD2Ev+0x91) [0x41753ea1]
7: /opt/kde3/lib/libamarok.so.0(_ZN12ThreadWeaverD0Ev+0x2f9) [0x403f213f]
8: /opt/kde3/lib/libamarok.so.0(_ZN12ThreadWeaver14deleteInstanceEv+0x33) [0x401cc9af]
9: /opt/kde3/lib/libamarok.so.0(_ZN3AppD1Ev+0x257) [0x401c73eb]
10: amarokapp [0x804cde8]
11: /lib/tls/libc.so.6(__libc_start_main+0xd0) [0x42039ea0]
12: amarokapp(_ZN6QGList5clearEv+0xc9) [0x804c671]
]
I was able to reproduce this also in 1.4.3 Heres the first 15 in the backtrace: ======== DEBUG INFORMATION ======= Version: 1.4.3 Engine: xine-engine Build date: Oct 15 2006 CC version: 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5) KDElibs: 3.5.5 Qt: 3.3.6 TagLib: 1.4.0 CPU count: 1 NDEBUG: true ==== file /usr/lib/amarok/amarokapp ======= /usr/lib/amarok/amarokapp: symbolic link to `/usr/bin/amarokapp' ==== (gdb) bt ===================== Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1". [Thread debugging using libthread_db enabled] [New Thread -1249580560 (LWP 7404)] [New Thread -1301603424 (LWP 7416)] [New Thread -1293210720 (LWP 7415)] [New Thread -1253274720 (LWP 7414)] [New Thread -1282622560 (LWP 7411)] 0xffffe410 in __kernel_vsyscall () #0 0xffffe410 in __kernel_vsyscall () #1 0xb6caf34b in __waitpid_nocancel () from /lib/tls/i686/cmov/libpthread.so.0 #2 0x0804d161 in amaroK::Crash::crashHandler () #3 <signal handler called> #4 0xb7cb308e in Playlist::unlock () from /usr/lib/libamarok.so.0 #5 0xb7d27388 in UrlLoader::~UrlLoader () from /usr/lib/libamarok.so.0 #6 0xb62db89a in QApplication::removePostedEvents () from /usr/lib/libqt-mt.so.3 #7 0xb62db95d in QApplication::removePostedEvents () from /usr/lib/libqt-mt.so.3 #8 0xb6347580 in QObject::~QObject () from /usr/lib/libqt-mt.so.3 #9 0xb7d9b8f2 in ThreadWeaver::~ThreadWeaver () from /usr/lib/libamarok.so.0 #10 0xb7b22211 in App::~App () from /usr/lib/libamarok.so.0 #11 0x0804bcc7 in ?? () #12 0xbfc9ce5c in ?? () #13 0xbfc9cff4 in ?? () #14 0x00000013 in ?? () #15 0x08067ac8 in _IO_stdin_used () #16 0x00000000 in ?? () #0 0xffffe410 in __kernel_vsyscall () No symbol table info available. SVN commit 617346 by aumuell:
don't crash when quitting while still loading the saved playlist
BUG: 136353
M +2 -0 ChangeLog
M +5 -1 src/playlist.cpp
M +5 -2 src/playlistloader.cpp
--- trunk/extragear/multimedia/amarok/ChangeLog #617345:617346
@@ -87,6 +87,8 @@
* Amarok now saves playlists with relative paths by default.
BUGFIXES:
+ * Don't crash when quitting while initially loading the playlist.
+ (BR 136353)
* The same track could be queued multiple times for transferring to a
media device. (BR 129136)
* Migrate statistics for files moved from outside to the collection.
--- trunk/extragear/multimedia/amarok/src/playlist.cpp #617345:617346
@@ -175,6 +175,9 @@
, m_visLength( 0 )
, m_total( 0 )
, m_itemCountDirty( false )
+ , m_undoButton( 0 )
+ , m_redoButton( 0 )
+ , m_clearButton( 0 )
, m_undoDir( Amarok::saveLocation( "undo/" ) )
, m_undoCounter( 0 )
, m_dynamicMode( 0 )
@@ -401,12 +404,13 @@
{
saveLayout( KGlobal::config(), "PlaylistColumnsLayout" );
- if( AmarokConfig::savePlaylist() ) saveXML( defaultPlaylistPath() );
+ if( AmarokConfig::savePlaylist() && m_lockStack == 0 ) saveXML( defaultPlaylistPath() );
//speed up quit a little
safeClear(); //our implementation is slow
Amarok::ToolTip::remove( viewport() );
blockSignals( true ); //might help
+ s_instance = 0;
}
--- trunk/extragear/multimedia/amarok/src/playlistloader.cpp #617345:617346
@@ -172,9 +172,12 @@
UrlLoader::~UrlLoader()
{
- Playlist::instance()->unlock();
+ if( Playlist::instance() )
+ {
+ Playlist::instance()->unlock();
+ delete m_markerListViewItem;
+ }
- delete m_markerListViewItem;
delete m_xmlSource;
}
|