Summary: | Amarok crash on quit | ||
---|---|---|---|
Product: | [Applications] amarok | Reporter: | s.zelman |
Component: | Context View/Albums | Assignee: | Amarok Developers <amarok-bugs-dist> |
Status: | RESOLVED DUPLICATE | ||
Severity: | crash | CC: | frederic.coiffier, lfranchi, michael.seiwert, shlomif, simon.esneault, vianasw |
Priority: | NOR | ||
Version: | 2.3.1-GIT | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
New crash information added by DrKonqi
proposed patch |
Description
s.zelman
2010-07-31 11:27:28 UTC
Sorry, but your backtrace is not useful, as you are lacking debugging symbols. If you can reproduce this bug, please check here on how to get a valid backtrace: http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports Created attachment 49736 [details]
New crash information added by DrKonqi
amarok (2.3.1) on KDE Platform 4.4.95 (KDE 4.4.95 (KDE 4.5 >= 20100723)) using Qt 4.6.3
- What I was doing when the application crashed:
Sometimes, Amarok crashes when it's launched during the restoration of a KDE session.
-- Backtrace (Reduced):
#6 QGraphicsProxyWidget::widget (this=0x100000001) at graphicsview/qgraphicsproxywidget.cpp:736
#7 0x00007f9c7e4cf470 in ~Albums (this=0x41c06a0, __in_chrg=<value optimized out>) at /var/tmp/portage/media-sound/amarok-2.3.1-r2/work/amarok-2.3.1/src/context/applets/albums/Albums.cpp:54
#8 0x00000035a977573d in QObject::event (this=<value optimized out>, e=<value optimized out>) at kernel/qobject.cpp:1223
#9 0x0000003639bdfcfb in QGraphicsWidget::event (this=<value optimized out>, event=<value optimized out>) at graphicsview/qgraphicswidget.cpp:1355
#10 0x00000036395bb3bc in QApplicationPrivate::notify_helper (this=<value optimized out>, receiver=<value optimized out>, e=<value optimized out>) at kernel/qapplication.cpp:4302
Thank you for the feedback. *** Bug 246540 has been marked as a duplicate of this bug. *** From duplicate: Amarok 2.3.1-git doesn't crash on start anymore, but crashes on quit. This bug is annoying. How can it be fixed? A workaround would be to disable the Albums applet, as there is a destructor problem with it, but of course that is just a workaround. (In reply to comment #7) > A workaround would be to disable the Albums applet, as there is a destructor > problem with it, but of course that is just a workaround. OK, I've disabled the albums applet (had to do it by editing the relevant line in "amarok_homerc" because Amarok still crashed on exit after disabling the Albums' applet using the GUI). However, Amarok still crashes. What should I do now? Do you get the same backtrace? (In reply to comment #9) > Do you get the same backtrace? I'm getting this backtrace: [quote] (gdb) bt #0 0xb6f96727 in QGraphicsProxyWidget::setWidget (this=0x0, widget=0x0) at graphicsview/qgraphicsproxywidget.cpp:593 #1 0xa4ef5825 in LyricsApplet::~LyricsApplet (this=0x8ad4a18, __in_chrg=<value optimized out>) at /mnt/old-mandriva/Download/unpack/KDE/amarok/git/amarok/src/context/applets/lyrics/LyricsApplet.cpp:67 #2 0xb6391df3 in qDeleteInEventHandler (o=0x0) at kernel/qobject.cpp:3980 #3 0xb6394250 in QObject::event (this=0x8ad4a18, e=0xa4efe7f0) at kernel/qobject.cpp:1194 #4 0xb6fdbb44 in QGraphicsWidget::event (this=0x8ad4a18, event=0x8ad5298) at graphicsview/qgraphicswidget.cpp:1404 #5 0xb68b7e6c in QApplicationPrivate::notify_helper (this=0x8153d60, receiver= 0x8ad4a18, e=0x8ad5298) at kernel/qapplication.cpp:4389 #6 0xb68bfc08 in QApplication::notify (this=0xbfffdd48, receiver=0x8ad4a18, e= 0x8ad5298) at kernel/qapplication.cpp:4270 #7 0xb7d7e671 in KApplication::notify (this=0xbfffdd48, receiver=0x8ad4a18, event=0x8ad5298) at /usr/src/debug/kdelibs-4.4.95/kdeui/kernel/kapplication.cpp:309 #8 0xb6380bae in QCoreApplication::notifyInternal (this=0xbfffdd48, receiver= 0x8ad4a18, event=0x8ad5298) at kernel/qcoreapplication.cpp:732 #9 0xb6384e8c in sendEvent (receiver=0x0, event_type=52, data=0x80628f8) at kernel/qcoreapplication.h:215 #10 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=52, data=0x80628f8) at kernel/qcoreapplication.cpp:1373 ---Type <return> to continue, or q <return> to quit--- #11 0xb638504c in QCoreApplication::sendPostedEvents (receiver=0x0, event_type= 52) at kernel/qcoreapplication.cpp:1266 #12 0xb6385160 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1016 #13 0xb68b6b54 in QApplication::exec () at kernel/qapplication.cpp:3665 #14 0x080526c7 in main (argc=3, argv=0xbfffe5d4) at /mnt/old-mandriva/Download/unpack/KDE/amarok/git/amarok/src/main.cpp:237 (gdb) frame 1 #1 0xa4ef5825 in LyricsApplet::~LyricsApplet (this=0x8ad4a18, __in_chrg=<value optimized out>) at /mnt/old-mandriva/Download/unpack/KDE/amarok/git/amarok/src/context/applets/lyrics/LyricsApplet.cpp:67 67 m_proxy->setWidget( 0 ); [/quote] Same destructor problem as bug 245513 *** This bug has been marked as a duplicate of bug 245513 *** Created attachment 49889 [details] proposed patch Hi, I've discussed this bug with Leo Franchi yesterday. We are not sure why the null-pointer happens exactly, but we have a possible solution. The reason why the LyricsApplet and the AlbumApplet are crashing is because a QGraphicsProxyWidget is accessed in their destructors. Someone tried to free the memory of the QGraphicsProxyWidget's widget(). Unfortunately it's not necessary to clean up the widget() on your own, as Qt's documentation suggests: http://doc.trolltech.com/4.4/qgraphicsproxywidget.html#dtor.QGraphicsProxyWidget My solution was to remove the memory cleanup from the destructors. Could more people please test my patch and report if it works (the patch should apply against the latest git master)? Regards, Martin (In reply to comment #12) > Created an attachment (id=49889) [details] > proposed patch > > Hi, > > I've discussed this bug with Leo Franchi yesterday. > We are not sure why the null-pointer happens exactly, but we have a possible > solution. > > The reason why the LyricsApplet and the AlbumApplet are crashing is because a > QGraphicsProxyWidget is accessed in their destructors. > Someone tried to free the memory of the QGraphicsProxyWidget's widget(). > > Unfortunately it's not necessary to clean up the widget() on your own, as Qt's > documentation suggests: > http://doc.trolltech.com/4.4/qgraphicsproxywidget.html#dtor.QGraphicsProxyWidget > > My solution was to remove the memory cleanup from the destructors. > Could more people please test my patch and report if it works (the patch should > apply against the latest git master)? > I'm on Mandriva Cooker and tried your patch and the lyrics applet crashed Amarok after I tried to remove it using the X button in the applets task bar. I can get you a backtrace tomorrow. > Regards, > Martin Please continue the discussions on bug 245513 |