Summary: | akregator always crashed on next login "with start with the system" | ||
---|---|---|---|
Product: | [Applications] akregator | Reporter: | kts <jeckferson> |
Component: | general | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED WORKSFORME | ||
Severity: | crash | CC: | andrius, asturm, cruzki123, dougxul, govik, iivanich, L.Bonnaud, marcus, stupor_scurvy343 |
Priority: | NOR | Keywords: | drkonqi |
Version: | 5.5.3 | ||
Target Milestone: | --- | ||
Platform: | Arch Linux | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: |
Trace of double initialisation
The simplest fix |
Description
kts
2017-08-19 17:19:51 UTC
*** Bug 383719 has been marked as a duplicate of this bug. *** *** Bug 383826 has been marked as a duplicate of this bug. *** *** Bug 385319 has been marked as a duplicate of this bug. *** *** Bug 384975 has been marked as a duplicate of this bug. *** Previous duplicates have a better backtrace. *** Bug 384975 has been marked as a duplicate of this bug. *** from bug 384975 Thread 1 (Thread 0x7fcf288a7980 (LWP 16956)): [KCrash Handler] #6 0x00007fcf4d9a9da4 in QMapData<QString, QAction*>::findNode (this=0xffe91f0000000000, akey=...) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:284 #7 0x00007fcf4d9a509b in QMap<QString, QAction*>::value (adefaultValue=<optimized out>, akey=..., this=<optimized out>) at /usr/include/x86_64-linux-gnu/qt5/QtCore/qmap.h:648 #8 KActionCollection::action (this=<optimized out>, name=...) at /workspace/build/src/kactioncollection.cpp:152 #9 0x00007fcf1d393aba in Akregator::ActionManagerImpl::setArticleActionsEnabled (this=0x110c6c0, enabled=<optimized out>) at /workspace/build/src/actions/actionmanagerimpl.cpp:647 #10 0x00007fcf4e64cba8 in Akregator::ArticleViewerWidget::slotShowSummary (this=0x115f210, node=<optimized out>) at /workspace/build/src/articleviewerwidget.cpp:192 #11 0x00007fcf1d3b0996 in Akregator::MainWidget::slotNodeSelected (this=0x10cfe90, node=0x14bc540) at /workspace/build/src/mainwidget.cpp:691 #12 0x00007fcf4be2bf46 in QtPrivate::QSlotObjectBase::call (a=0x7ffd25724640, r=0x10cfe90, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:101 #13 QMetaObject::activate (sender=sender@entry=0x115b960, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd25724640) at kernel/qobject.cpp:3749 #14 0x00007fcf4be2c527 in QMetaObject::activate (sender=sender@entry=0x115b960, m=m@entry=0x7fcf1d5f05e0 <Akregator::AbstractSelectionController::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffd25724640) at kernel/qobject.cpp:3628 #15 0x00007fcf1d3c4a9f in Akregator::AbstractSelectionController::currentSubscriptionChanged (this=this@entry=0x115b960, _t1=0x14bc540) at /workspace/build/obj-x86_64-linux-gnu/src/moc_abstractselectioncontroller.cpp:173 #16 0x00007fcf1d38ab8a in Akregator::SelectionController::selectedSubscriptionChanged (this=0x115b960, index=...) at /workspace/build/src/selectioncontroller.cpp:255 #17 0x00007fcf4be2bf46 in QtPrivate::QSlotObjectBase::call (a=0x7ffd257247e0, r=0x115b960, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:101 from bug 384975 Steps to reproduce bug: Turn on global menu. Turn on Akregator Select any feed in Akregator Boom - Crash I'm not sure if it's relevant for this bug but it is for sure relevant to bug 384975 marked as duplicate. The problem is that akregator kpart is initialized twice, recursively. (See attached trace #45 and #5) Akregator::MainWindow::loadPart() is called twice. Because of that in ActionManagerImpl we have corrupted reference to d->actionCollection that causes dump on calling setArticleActionsEnabled. The reason of recursive initialization seams to be method Akregator::MainWindow::saveProperties() that is called by QtWebEngine before kpart if fully initialized. The simplest solution would be to remove initialization of kpart from this method and returning if kpart it's not initialized. Or skipping initialization only in such case if possible. I'm not sure if it's relevant for this bug but it is for sure relevant to bug 384975 marked as duplicate. The problem is that akregator kpart is initialized twice, recursively. (See attached trace #45 and #5) Akregator::MainWindow::loadPart() is called twice. Because of that in ActionManagerImpl we have corrupted reference to d->actionCollection that causes dump on calling setArticleActionsEnabled. The reason of recursive initialization seams to be method Akregator::MainWindow::saveProperties() that is called by QtWebEngine before kpart if fully initialized. The simplest solution would be to remove initialization of kpart from this method and returning if kpart it's not initialized. Or skipping initialization only in such case if possible. Created attachment 110492 [details]
Trace of double initialisation
Created attachment 110493 [details]
The simplest fix
I saw at least one report by a tester saying that even with this patch feeds still get corrupted sometime. This fix do not prevent from corrupting feeds. In my case it was happening sometimes after akregator crash. It only make akregator usable with global menu. it avoids akregator crashing 100% times. After applying this patch, I didn't have any crash. (In reply to K G from comment #14) > This fix do not prevent from corrupting feeds. In my case it was happening > sometimes after akregator crash. > > It only make akregator usable with global menu. it avoids akregator crashing > 100% times. After applying this patch, I didn't have any crash. I can confirm this patch fixes akregator crash with global menu enabled. Thanks! Please submit your patch on https://phabricator.kde.org/ to get a proper review. Any success with submitting your patch to https://phabricator.kde.org/differential/diff/create/ Thank you for the crash report. As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved. I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you. (In reply to Justin Zobel from comment #18) > Thank you for the crash report. > > As it has been a while since this was reported, can you please test and > confirm if this issue is still occurring or if this bug report can be marked > as resolved. > > I have set the bug status to "needsinfo" pending your response, please > change back to "reported" or "resolved/worksforme" when you respond, thank > you. I'm not original reported but I think I used to see this bug too. I don't see it now (at least on Plasma Wayland). Dear Bug Submitter, This bug has been in NEEDSINFO status with no change for at least 15 days. Please provide the requested information as soon as possible and set the bug status as REPORTED. Due to regular bug tracker maintenance, if the bug is still in NEEDSINFO status with no change in 30 days the bug will be closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging If you have already provided the requested information, please mark the bug as REPORTED so that the KDE team knows that the bug is ready to be confirmed. Thank you for helping us make KDE software even better for everyone! This bug has been in NEEDSINFO status with no change for at least 30 days. The bug is now closed as RESOLVED > WORKSFORME due to lack of needed information. For more information about our bug triaging procedures please read the wiki located here: https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging Thank you for helping us make KDE software even better for everyone! |