Summary: | Krita crashed when closing the application | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | Antti Poikela <antti.poikela> |
Component: | General | Assignee: | Adam C <bugs_kde_org2> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | bruno, bugs_kde_org2, cberger, halla, info, mrdocs, rakatan |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Attachments: | New crash information added by DrKonqi |
Description
Antti Poikela
2010-12-08 23:55:30 UTC
Thanks for your report. Can you reproduce the crash? What did you do before it crashed? I have been unable to reproduce the crash. The crash happened when I was closing the application, but I can't give any exact information about what I was doing before that. Probably just using the pixel brush. I got the same crash in 2.3 today. irc log: adamce_>boud: do you have any exact informations? adamce_>maybe you opened the settingswindow of krita or of the colour selector? boud >adamce_: yes, I had opened the settings window and gone through all the settings pages i suppose, that the bug is in KisColorSpaceSelector::~KisColorSpaceSelector(), but unfortunately i don't have time right now.. I tested again with Adam C's suggestion about the settings window, and now I'm able to reproduce the crash every time. The stack trace is identical to the one I reported in the first post. 1. Open Krita 2. Select new document, "Transparent 1600x1200" 3. Open Setting > Configure Krita... 4. Select "Color Selector Settings" pane 5. Close settings dialog selecting "Ok" 6. Close Krita 7. Crash *** Bug 259559 has been marked as a duplicate of this bug. *** I shall note that storing widgets in a registry is calling for problems. Deleting Widgets in a static deleter is a big no-no. And if you wonder why, here is the code where the crash happen: void QWidget::releaseShortcut(int id) { Q_ASSERT(qApp); if (id) qApp->d_func()->shortcutMap.removeShortcut(id, this, 0); } And when the main function exit (ie before the static deleter are called), the QApplication is deleted, meaning qApp is now... invalid. Hence the crash. So for 2.3, we should leak the KisPreferenceSet in KisPreferenceSetRegistry ::~KisPreferenceSetRegistry (it is an exit leak anyway). And for 2.4, use a factory instead of storing widgets. SVN commit 1206503 by berger: Temporary fix for an exit crash, that happen after opening the settings dialog. Reviewed by Adam and Boudewijn. CCBUG: 259262 M +3 -3 kis_preference_set_registry.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1206503 Created attachment 57865 [details]
New crash information added by DrKonqi
krita (2.3 RC 1) on KDE Platform 4.5.95 (4.6 RC2) using Qt 4.7.0
- What I was doing when the application crashed:
closing krita after playing with wacom tablet and trasparent brushes. All subdialogs have been closed prior the closing the main app.
-- Backtrace (Reduced):
#6 0x00007ffed4f5f963 in QWidget::releaseShortcut (this=0x45d8910, id=-277) at kernel/qwidget.cpp:11043
#7 0x00007ffed533d7f8 in QLabelPrivate::clearContents (this=0x4774960) at widgets/qlabel.cpp:1363
#8 0x00007ffed533e409 in QLabel::~QLabel (this=0x45d8910, __in_chrg=<value optimized out>) at widgets/qlabel.cpp:262
#9 0x00007ffed4545d5f in QObjectPrivate::deleteChildren (this=0x4624470) at kernel/qobject.cpp:1957
#10 0x00007ffed4f71168 in QWidget::~QWidget (this=0x4773e80, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1589
*** Bug 273739 has been marked as a duplicate of this bug. *** *** Bug 276685 has been marked as a duplicate of this bug. *** |