Summary: | Crash on startup when no CLI args provided | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | Gregor Petrin <gregap> |
Component: | general | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | cimmino.marco |
Priority: | HI | ||
Version: | 2.3-GIT | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
Gregor Petrin
2009-08-05 23:17:13 UTC
Are these files in the collection or did you load them from the file manager? I loaded them from the file manager (Krusader), but they are also in the collection. Can you reproduce this crash? The fatal part here is probably this: MainWindow::activate (this=0x1) Further up the address still looks normal: MainWindow (this=0x8149008) So the MainWindow pointer becomes invalid (how?), then gets dereferenced, then crash. I've done some tests with 2.2-GIT and I can't really see how this could happen. Maybe it got fixed along the way. I spoke too soon :) Got the same crash a few minutes ago. How to reproduce: Start Amarok without any CLI args (just "amarok"). It will fork, but sometimes the GUI does not appear. Then try to start it again -> crash. This could possibly be related to an issue with extremely long startup time, involving PlaylistFileProvider: http://pastebin.com/m4b1f0529 Note this line: END__: PlaylistFileProvider::PlaylistFileProvider() - Took 27s Backtrace: Thread 1 (Thread 0x7f7fd6a367a0 (LWP 15028)): [KCrash Handler] #5 0x00007f7fd506bcdb in QWidget::testAttribute_helper(Qt::WidgetAttribute) const () from /usr/lib/libQtGui.so.4 #6 0x00007f7fd507a75e in QWidget::winId() const () from /usr/lib/libQtGui.so.4 #7 0x00007f7fd5f8768b in MainWindow::activate (this=0x0) at /home/mark/kde/src/amarok/src/MainWindow.cpp:581 #8 0x00007f7fd5f69312 in App::handleCliArgs () at /home/mark/kde/src/amarok/src/App.cpp:416 #9 0x00007f7fd5f6e345 in App::newInstance (this=0x7fff40e3dfb0) at /home/mark/kde/src/amarok/src/App.cpp:1146 #10 0x00007f7fd65af326 in ?? () from /usr/lib/libkdeui.so.5 #11 0x00007f7fd65af916 in ?? () from /usr/lib/libkdeui.so.5 #12 0x00007f7fd47b4ad4 in ?? () from /usr/lib/libQtDBus.so.4 #13 0x00007f7fd47b5cc3 in ?? () from /usr/lib/libQtDBus.so.4 #14 0x00007f7fd47b6547 in ?? () from /usr/lib/libQtDBus.so.4 #15 0x00007f7fd47b67c8 in ?? () from /usr/lib/libQtDBus.so.4 #16 0x00007f7fd44ad049 in QObject::event(QEvent*) () from /usr/lib/libQtCore.so.4 #17 0x00007f7fd5033b4d in QApplication::event(QEvent*) () from /usr/lib/libQtGui.so.4 #18 0x00007f7fd5f6be67 in App::event (this=0x7fff40e3dfb0, event=0x2a176a0) at /home/mark/kde/src/amarok/src/App.cpp:790 #19 0x00007f7fd5029efc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #20 0x00007f7fd50311ce in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4 #21 0x00007f7fd65a84d6 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #22 0x00007f7fd449db7c in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4 #23 0x00007f7fd449e75a in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/libQtCore.so.4 #24 0x00007f7fd44c6483 in ?? () from /usr/lib/libQtCore.so.4 #25 0x00007f7fccd31a8e in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #26 0x00007f7fccd35458 in ?? () from /usr/lib/libglib-2.0.so.0 #27 0x00007f7fccd35580 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #28 0x00007f7fd44c60f6 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #29 0x00007f7fd50be3de in ?? () from /usr/lib/libQtGui.so.4 #30 0x00007f7fd449c482 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #31 0x00007f7fd449c854 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4 #32 0x00007f7fd4af99dd in KJob::exec() () from /usr/lib/libkdecore.so.5 #33 0x00007f7fd5e6d8f1 in Meta::loadPlaylistFile (url=...) at /home/mark/kde/src/amarok/src/meta/PlaylistFileSupport.cpp:115 #34 0x00007f7fd5efaee8 in PlaylistFileProvider (this=0x29a1760) at /home/mark/kde/src/amarok/src/playlistmanager/file/PlaylistFileProvider.cpp:50 #35 0x00007f7fd5ef3a2f in PlaylistManager (this=0x29a1610) at /home/mark/kde/src/amarok/src/playlistmanager/PlaylistManager.cpp:77 #36 0x00007f7fd5ef3733 in PlaylistManager::instance () at /home/mark/kde/src/amarok/src/playlistmanager/PlaylistManager.cpp:54 #37 0x00007f7fd5ef3704 in The::playlistManager () at /home/mark/kde/src/amarok/src/playlistmanager/PlaylistManager.cpp:48 #38 0x00007f7fd5d42f8f in Model (this=0x27a35a0, parent=0x2175b10) at /home/mark/kde/src/amarok/src/playlist/PlaylistModel.cpp:70 #39 0x00007f7fd5d4dbb5 in ModelStack (this=0x2175b10) at /home/mark/kde/src/amarok/src/playlist/PlaylistModelStack.cpp:58 #40 0x00007f7fd5d4d97d in Playlist::ModelStack::instance () at /home/mark/kde/src/amarok/src/playlist/PlaylistModelStack.cpp:41 #41 0x00007f7fd5d4d945 in The::playlist () at /home/mark/kde/src/amarok/src/playlist/PlaylistModelStack.cpp:28 #42 0x00007f7fd5f295fa in StatusBar (this=0x279ab30, parent=0x21cf000) at /home/mark/kde/src/amarok/src/statusbar/StatusBar.cpp:90 #43 0x00007f7fd5f83b7a in MainWindow (this=0x21cf000) at /home/mark/kde/src/amarok/src/MainWindow.cpp:135 #44 0x00007f7fd5f6b595 in App::continueInit (this=0x7fff40e3dfb0) at /home/mark/kde/src/amarok/src/App.cpp:646 #45 0x00007f7fd5f67c89 in App (this=0x7fff40e3dfb0) at /home/mark/kde/src/amarok/src/App.cpp:221 #46 0x0000000000403a67 in main (argc=1, argv=0x7fff40e3f438) at /home/mark/kde/src/amarok/src/main.cpp:140 commit 5219e90c075b89390e18eb02febb83dabd5c064d Author: Mark Kretschmann <kretschmann@kde.org> Date: Sat Aug 22 15:39:27 2009 +0200 Fix crash on startup while another instance is loading. When Amarok forks at startup, but then takes a long time to initialize, the user might try to start it again. In this case App::mainWindow() returned 0, and then we crashed. |