Summary: | Crash at close when it's closed | ||
---|---|---|---|
Product: | [Applications] kalarm | Reporter: | BRULE Herman <alpha.super-one> |
Component: | general | Assignee: | David Jarvie <djarvie> |
Status: | CLOSED FIXED | ||
Severity: | crash | CC: | andresbajotierra, nils.roscher-nielsen |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Gentoo Packages | ||
OS: | Unspecified | ||
Latest Commit: | Version Fixed In: |
Description
BRULE Herman
2009-02-23 18:55:49 UTC
How exactly did you close KAlarm? What version of Qt are you using? Qt 4.5 I have never used kalarm, just open, restart kde, close kalarm. But what method did you use to close KAlarm? Did you use the menu File -> Quit? or what? The cross on the with (top, and most at right). Bug 185017 seems to have a similar backtrace, but in another app and situation. May be it's a Qt4.5 bug (or KDE4.2+Qt4.5 bug) I have had a look at this through Valgrind,and it looks like kalarm is deleting the QAction (KActionCollection::~KActionCollection() ), and then later when QMenu::findIdForAction(QAction*) is called, QAction::d_func() will be invalid. This seems to be an implementation error in kalarm. From this reasoning, I am guessing that 185017 is not a Qt bug either. valgrind output: ==12479== Invalid read of size 8 ==12479== at 0x8683464: QAction::d_func() (qaction.h:67) ==12479== by 0x8BF904C: QMenu::findIdForAction(QAction*) const (qmenu.cpp:3157) ==12479== by 0x8BFCD6B: QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) (qmenu.cpp:965) ==12479== by 0x8C01938: QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) (qmenu.cpp:1058) ==12479== by 0x8C0392B: QMenu::mouseReleaseEvent(QMouseEvent*) (qmenu.cpp:2252) ==12479== by 0x793E270: KMenu::mouseReleaseEvent(QMouseEvent*) (in /usr/lib/libkdeui.so.5.2.0) ==12479== by 0x86F7BBE: QWidget::event(QEvent*) (qwidget.cpp:7516) ==12479== by 0x8C02C5B: QMenu::event(QEvent*) (qmenu.cpp:2351) ==12479== by 0x8686EC6: QApplicationPrivate::notify_helper(QObject*, QEvent*) (qapplication.cpp:4084) ==12479== by 0x8687CBD: QApplication::notify(QObject*, QEvent*) (qapplication.cpp:3786) ==12479== by 0x786D5DA: KApplication::notify(QObject*, QEvent*) (in /usr/lib/libkdeui.so.5.2.0) ==12479== by 0x9BECEF6: QCoreApplication::notifyInternal(QObject*, QEvent*) (qcoreapplication.cpp:602) ==12479== Address 0x14e2a7c8 is 8 bytes inside a block of size 24 free'd ==12479== at 0x4C24DAD: operator delete(void*) (vg_replace_malloc.c:342) ==12479== by 0x9C009D8: QObjectPrivate::deleteChildren() (qobject.cpp:1845) ==12479== by 0x9C09BE8: QObject::~QObject() (qobject.cpp:844) ==12479== by 0x7797475: KActionCollection::~KActionCollection() (in /usr/lib/libkdeui.so.5.2.0) ==12479== by 0x78EC07E: KSystemTrayIcon::~KSystemTrayIcon() (in /usr/lib/libkdeui.so.5.2.0) ==12479== by 0x4DD139: (within /usr/bin/kalarm) ==12479== by 0x4ABE92: (within /usr/bin/kalarm) ==12479== by 0x4AA47A: (within /usr/bin/kalarm) ==12479== by 0x49B2D8: (within /usr/bin/kalarm) ==12479== by 0x49B8DE: (within /usr/bin/kalarm) ==12479== by 0x4DC297: (within /usr/bin/kalarm) ==12479== by 0x9C086B5: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3060) ==12479== Now fixed for KDE 4.2.2 (SVN commits 935343, 935344). Now fixed for KDE 4.2.2 (SVN commits 935343, 935344). |