Summary: | Closing akregator causes crash (incl. Kontact-with-akregator) | ||
---|---|---|---|
Product: | [Applications] akregator | Reporter: | Michał Kudła <m1k0> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED UNMAINTAINED | ||
Severity: | crash | CC: | alboz, bruno, cfeck, DBA, dreibh, frederic.coiffier, heri+kde, hrvoje.senjan, jemand, kde, marko.gabriel.cz, maxim.stargazer, mourka, mpyne, nicotra.andrea, rasasi78, sayeed.ka, sven.burmeister, xosecalvo, yodayado, yohan.pereira |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Unlisted Binaries | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
New crash information added by DrKonqi
New crash information added by DrKonqi Valgrind log of Akregator shut down. New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi New crash information added by DrKonqi |
Description
Michał Kudła
2009-05-23 17:40:41 UTC
*** Bug 197845 has been marked as a duplicate of this bug. *** *** Bug 242757 has been marked as a duplicate of this bug. *** *** Bug 243567 has been marked as a duplicate of this bug. *** *** Bug 254479 has been marked as a duplicate of this bug. *** *** Bug 265518 has been marked as a duplicate of this bug. *** Created attachment 57418 [details]
New crash information added by DrKonqi
kontact (4.4.10) on KDE Platform 4.6.00 (4.6.0) using Qt 4.7.1
- What I was doing when the application crashed:
I just tried to log off and shut down. Nothing else.
-- Backtrace (Reduced):
#7 0x00000000004041bf in qDeleteAll<QList<KMainWindow*>::const_iterator> (argc=1, argv=0x7fff29933a48) at /usr/include/QtCore/qalgorithms.h:322
#8 qDeleteAll<QList<KMainWindow*> > (argc=1, argv=0x7fff29933a48) at /usr/include/QtCore/qalgorithms.h:330
#9 main (argc=1, argv=0x7fff29933a48) at /usr/src/debug/kdepim-4.4.10/kontact/src/main.cpp:225
*** Bug 271338 has been marked as a duplicate of this bug. *** *** Bug 270623 has been marked as a duplicate of this bug. *** Created attachment 62012 [details]
New crash information added by DrKonqi
kontact (4.7 rc2) on KDE Platform 4.6.95 (4.7 RC2) "release 1" using Qt 4.7.3
Seems to bug in 4.7 and qt 4.73
-- Backtrace (Reduced):
#6 0x00007ffd623c35e4 in Akregator::Feed::unread (this=<optimized out>) at /usr/src/debug/kdepim-4.6.95/akregator/src/feed.cpp:749
#7 0x00007ffd623db240 in Akregator::Folder::updateUnreadCount (this=0x36bcef0) at /usr/src/debug/kdepim-4.6.95/akregator/src/folder.cpp:310
#8 0x00007ffd623db4dc in Akregator::Folder::removeChild (this=0x36bcef0, node=0xa1ed60) at /usr/src/debug/kdepim-4.6.95/akregator/src/folder.cpp:255
#9 0x00007ffd623d2505 in Akregator::TreeNode::emitSignalDestroyed (this=0xa1ed60) at /usr/src/debug/kdepim-4.6.95/akregator/src/treenode.cpp:74
#10 0x00007ffd623c56b9 in Akregator::Feed::~Feed (this=0xa1ed60, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kdepim-4.6.95/akregator/src/feed.cpp:319
*** Bug 278742 has been marked as a duplicate of this bug. *** *** Bug 281564 has been marked as a duplicate of this bug. *** Confirming the bug as I now constantly seem to hit it. :( This bug occurs for me on Akregator shutdown, even if I run akregator by itself. All that is required to reproduce for me is to quit the application. After running it through Valgrind the issue seems to be (IMO) that some TreeNode* entry is being free'd twice during shutdown. Most likely seems to be that a TreeNode* is free'd directly and then as a child of a Folder::FolderPrivate somewhere (that was not updated from the first time the TreeNode* was deleted). I will attach the Valgrind log as well. Is there any easy way to check how a Folder would end up hanging onto a Feed's child? Created attachment 64799 [details]
Valgrind log of Akregator shut down.
valgrind output from: valgrind --tool=memcheck --num-callers=40 --track-origins=yes akregator --nofork --nocrashhandler.
Seems to show in this case that FolderPrivate's dtor is trying to run qDeleteAll over a TreeNode* that had already been deleted by a Feed (feed.cpp:322)
A potential fix is being reviewed at https://git.reviewboard.kde.org/r/102981/ The issue seems to be that the list iterator used by qDeleteAll is invalidated by the actions of the destructors of the items being deleted, which makes sense in retrospect since the "children" list seems to be getting modified as part of the delete action. Michael, did you try if the patch fixes this crash? *** Bug 285753 has been marked as a duplicate of this bug. *** I'm sorry, should have replied. The patch does indeed fix the crash-on-shutdown behavior from qDeleteAll for me. Created attachment 65253 [details]
New crash information added by DrKonqi
akregator (4.7.3) on KDE Platform 4.7.3 (4.7.3) "release 457" using Qt 4.8.0
- What I was doing when the application crashed:
Closed akregator and drkonqi reported it crashed - using KDE 4.7.3 + qt 4.8
-- Backtrace (Reduced):
#6 0x00007fc20f9df823 in qDeleteAll<QList<Akregator::TreeNode*>::const_iterator> (end=<optimized out>, begin=<optimized out>) at /usr/include/QtCore/qalgorithms.h:322
#7 qDeleteAll<QList<Akregator::TreeNode*> > (c=...) at /usr/include/QtCore/qalgorithms.h:330
#8 Akregator::Folder::FolderPrivate::~FolderPrivate (this=0xcbb380, __in_chrg=<optimized out>) at /usr/src/debug/kdepim-4.7.3/akregator/src/folder.cpp:68
#9 0x00007fc20f9df8c0 in Akregator::Folder::~Folder (this=0xcac490, __in_chrg=<optimized out>) at /usr/src/debug/kdepim-4.7.3/akregator/src/folder.cpp:95
#10 0x00007fc20f9df909 in Akregator::Folder::~Folder (this=0xcac490, __in_chrg=<optimized out>) at /usr/src/debug/kdepim-4.7.3/akregator/src/folder.cpp:97
Git commit 6ae89eee936159dd7d7ca3405fbe6d9d66d86ddd by Christoph Feck. Committed on 07/11/2011 at 21:29. Pushed by cfeck into branch 'KDE/4.7'. Fix crash in Folder destructor Especially visible with Qt 4.8.0 qDeleteAll() changes, but might also fix older bugs. BUG: 285938 CCBUG: 193780 FIXED-IN: 4.7.4 REVIEW: 102981 (cherry picked from commit 3497e5afe51490191825c7b7d475a5fc0702988d) M +4 -1 akregator/src/folder.cpp http://commits.kde.org/kdepim/6ae89eee936159dd7d7ca3405fbe6d9d66d86ddd Git commit 3497e5afe51490191825c7b7d475a5fc0702988d by Christoph Feck. Committed on 07/11/2011 at 21:29. Pushed by cfeck into branch 'master'. Fix crash in Folder destructor Especially visible with Qt 4.8.0 qDeleteAll() changes, but might also fix older bugs. BUG: 285938 CCBUG: 193780 FIXED-IN: 4.7.4 REVIEW: 102981 M +4 -1 akregator/src/folder.cpp http://commits.kde.org/kdepim/3497e5afe51490191825c7b7d475a5fc0702988d Although it seems to be 1 day too late, I confirm that this patch solve the bug. Well, I was interested if the patch fixes _this_ bug, which seems to be unrelated to the Qt 4.8 qDeleteAll() changes. I would say let's keep this entry open until someone can confirm it also fixes the crash with Qt 4.7.x. This also fixes it for me (using qt 4.8) *** Bug 288154 has been marked as a duplicate of this bug. *** Created attachment 66440 [details]
New crash information added by DrKonqi
kontact (4.8 beta2) on KDE Platform 4.7.4 (4.7.4) "release 8" using Qt 4.8.0
- What I was doing when the application crashed: on a 4.8 beta2 after letting kontact open, I ask for shutdown, then the crash occurs
-- Backtrace (Reduced):
#6 0x00007f7e06502ce0 in Akregator::Feed::unread (this=<optimized out>) at /usr/src/debug/kdepim-git/akregator/src/feed.cpp:753
#7 0x00007f7e0651a8e0 in Akregator::Folder::updateUnreadCount (this=0x5c00a40) at /usr/src/debug/kdepim-git/akregator/src/folder.cpp:313
#8 0x00007f7e0651ac5a in Akregator::Folder::removeChild (this=0x5c00a40, node=0x5b02000) at /usr/src/debug/kdepim-git/akregator/src/folder.cpp:258
#9 0x00007f7e06511d35 in Akregator::TreeNode::emitSignalDestroyed (this=0x5b02000) at /usr/src/debug/kdepim-git/akregator/src/treenode.cpp:74
#10 0x00007f7e065052a9 in Akregator::Feed::~Feed (this=0x5b02000, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kdepim-git/akregator/src/feed.cpp:323
Created attachment 68454 [details]
New crash information added by DrKonqi
kontact (4.8.0) on KDE Platform 4.8.00 (4.8.0 "release 462" using Qt 4.8.0
- What I was doing when the application crashed:
At shutdown time, you get a kontact crash, under 4.8
-- Backtrace (Reduced):
#7 0x00007f209fb1a8e0 in Akregator::Folder::updateUnreadCount (this=0x4814d40) at /usr/src/debug/kdepim-4.8.0/akregator/src/folder.cpp:313
#8 0x00007f209fb1ac5a in Akregator::Folder::removeChild (this=0x4814d40, node=0x4816710) at /usr/src/debug/kdepim-4.8.0/akregator/src/folder.cpp:258
#9 0x00007f209fb11d35 in Akregator::TreeNode::emitSignalDestroyed (this=0x4816710) at /usr/src/debug/kdepim-4.8.0/akregator/src/treenode.cpp:74
#10 0x00007f209fb052a9 in Akregator::Feed::~Feed (this=0x4816710, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kdepim-4.8.0/akregator/src/feed.cpp:323
#11 0x00007f209fb054e9 in Akregator::Feed::~Feed (this=0x4816710, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kdepim-4.8.0/akregator/src/feed.cpp:326
Created attachment 68998 [details]
New crash information added by DrKonqi
kontact (4.8.0) on KDE Platform 4.8.00 (4.8.0 "release 2" using Qt 4.8.0
- What I was doing when the application crashed: Ask shutdown, kontact was open at that time. Once kwin stop, you get the crash immediately.
Is there anything we can do to help you to debug it more ?
-- Backtrace (Reduced):
#7 0x00007f936f0ce8e0 in Akregator::Folder::updateUnreadCount (this=0x48aa700) at /usr/src/debug/kdepim-4.8.0/akregator/src/folder.cpp:313
#8 0x00007f936f0cec5a in Akregator::Folder::removeChild (this=0x48aa700, node=0x48a7020) at /usr/src/debug/kdepim-4.8.0/akregator/src/folder.cpp:258
#9 0x00007f936f0c5d35 in Akregator::TreeNode::emitSignalDestroyed (this=0x48a7020) at /usr/src/debug/kdepim-4.8.0/akregator/src/treenode.cpp:74
#10 0x00007f936f0b92a9 in Akregator::Feed::~Feed (this=0x48a7020, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kdepim-4.8.0/akregator/src/feed.cpp:323
#11 0x00007f936f0b94e9 in Akregator::Feed::~Feed (this=0x48a7020, __in_chrg=<optimized out>, __vtt_parm=<optimized out>) at /usr/src/debug/kdepim-4.8.0/akregator/src/feed.cpp:326
Hi. https://bugs.kde.org/show_bug.cgi?id=285938 looks like a dupe of this but I don't understand why the one I'm referring to is fixed whereas this one is. Regards, Raúl, bug 285938 was caused by an update to Qt 4.8.0, while this one is much older, and thus probably has a different cause. Cristoph, thanks for you clarification. I applied the suggested commit to the Debian version which is currently 4.4.11 and the crash doesn't appear. Now I don't know whose crash I have been seeing. How do you see this bug different to https://bugs.kde.org/show_bug.cgi?id=285938 so I could triage which one I see? Also anyone could reproduce this bug with the proposed patch applied? Thanks *** Bug 300135 has been marked as a duplicate of this bug. *** *** Bug 325320 has been marked as a duplicate of this bug. *** *** Bug 324513 has been marked as a duplicate of this bug. *** This bug has only been reported for versions before 4.14, which have been unsupported for at least two years now. Can anyone tell if this bug still present? If noone confirms this bug for a Framework-based version of akregator (version 5.0 or later, as part of KDE Applications 15.08 or later), it gets closed in about three months. Just as announced in my last comment, I close this bug. If you encounter it again in a recent version (at least 5.0 aka 15.08), please open a new one unless it already exists. Thank you for all your input. |