Bug 354976 - Akregator crashes while trying to read certain article
Summary: Akregator crashes while trying to read certain article
Status: RESOLVED FIXED
Alias: None
Product: akregator
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-11-07 04:21 UTC by Sergey Basalaev
Modified: 2016-01-06 12:53 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In: 5.2


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sergey Basalaev 2015-11-07 04:21:02 UTC
Application: akregator (5.0.2)

Qt Version: 5.4.2
Operating System: Linux 4.2.0-16-generic x86_64
Distribution: Ubuntu 15.10

-- Information about the crash:
- What I was doing when the application crashed:

When I click on certain articles akregator crashes. If I try to open it again it removes all feeds and crashes again with different call stack. Debug info here is for the first crash.

The crash can be reproduced every time.

-- Backtrace:
Application: Akregator (akregator), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[KCrash Handler]
#6  QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::data (this=0x8) at ../../include/QtCore/../../src/corelib/tools/qscopedpointer.h:135
#7  qGetPtrHelper<QScopedPointer<QObjectData> > (p=...) at ../../include/QtCore/../../src/corelib/global/qglobal.h:962
#8  QObject::d_func (this=this@entry=0x0) at ../../include/QtCore/../../src/corelib/kernel/qobject.h:110
#9  QObject::setObjectName (this=this@entry=0x0, name=...) at kernel/qobject.cpp:1176
#10 0x00007fe328ed2fa6 in KHTMLPart::connectToChildPart (this=this@entry=0x227f410, child=child@entry=0x2774620, part=part@entry=0x0, mimetype=...) at ../../src/khtml_part.cpp:4693
#11 0x00007fe328ef87bd in KHTMLPart::loadFrameElement (this=this@entry=0x227f410, frame=frame@entry=0x2b59cf0, url=..., frameName=..., params=..., isIFrame=isIFrame@entry=true) at ../../src/khtml_part.cpp:4348
#12 0x00007fe328fb2670 in DOM::HTMLIFrameElementImpl::computeContent (this=0x2b59cf0) at ../../src/html/html_baseimpl.cpp:890
#13 0x00007fe328f53f2d in DOM::NodeBaseImpl::addChild (this=0x2453380, newChild=0x2b59d00) at ../../src/xml/dom_nodeimpl.cpp:1979
#14 0x00007fe328f9087a in khtml::KHTMLParser::insertNode (this=this@entry=0x2739e10, n=n@entry=0x2b59d00, flat=false) at ../../src/html/htmlparser.cpp:424
#15 0x00007fe328f92e1e in khtml::KHTMLParser::parseToken (this=0x2739e10, t=t@entry=0x28a4ae8) at ../../src/html/htmlparser.cpp:310
#16 0x00007fe328f9384d in khtml::HTMLTokenizer::processToken (this=this@entry=0x28a4ac0) at ../../src/html/htmltokenizer.cpp:2035
#17 0x00007fe328f99c45 in khtml::HTMLTokenizer::parseTag (this=this@entry=0x28a4ac0, src=...) at ../../src/html/htmltokenizer.cpp:1508
#18 0x00007fe328f9b85a in khtml::HTMLTokenizer::write (this=0x28a4ac0, str=..., appendData=<optimized out>) at ../../src/html/htmltokenizer.cpp:1795
#19 0x00007fe328ed8299 in KHTMLPart::write (this=<optimized out>, str=...) at ../../src/khtml_part.cpp:2232
#20 0x00007fe3094c1043 in Akregator::ArticleViewer::renderContent (this=this@entry=0x227d180, text=...) at ../../../akregator/src/articleviewer.cpp:393
#21 0x00007fe3094c1b5b in Akregator::ArticleViewer::showArticle (this=0x227d180, article=...) at ../../../akregator/src/articleviewer.cpp:465
#22 0x00007fe3094ec8ee in Akregator::MainWidget::slotArticleSelected (this=0x222c5b0, article=...) at ../../../akregator/src/mainwidget.cpp:841
#23 0x00007fe309504b18 in Akregator::MainWidget::qt_static_metacall (_o=_o@entry=0x222c5b0, _c=_c@entry=QMetaObject::InvokeMetaMethod, _id=_id@entry=7, _a=_a@entry=0x7ffde05eafb0) at moc_mainwidget.cpp:282
#24 0x00007fe32aad778a in QMetaObject::activate (sender=sender@entry=0x2279bd0, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffde05eafb0) at kernel/qobject.cpp:3717
#25 0x00007fe32aad7f87 in QMetaObject::activate (sender=sender@entry=0x2279bd0, m=m@entry=0x7fe3097327a0 <Akregator::AbstractSelectionController::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffde05eafb0) at kernel/qobject.cpp:3582
#26 0x00007fe309503005 in Akregator::AbstractSelectionController::currentArticleChanged (this=this@entry=0x2279bd0, _t1=...) at moc_abstractselectioncontroller.cpp:174
#27 0x00007fe3094a9118 in Akregator::SelectionController::articleSelectionChanged (this=0x2279bd0) at ../../../akregator/src/selectioncontroller.cpp:297
#28 0x00007fe32aad778a in QMetaObject::activate (sender=sender@entry=0x2889c50, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffde05eb110) at kernel/qobject.cpp:3717
#29 0x00007fe32aad7f87 in QMetaObject::activate (sender=sender@entry=0x2889c50, m=m@entry=0x7fe32acd7120 <QItemSelectionModel::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffde05eb110) at kernel/qobject.cpp:3582
#30 0x00007fe32aa58247 in QItemSelectionModel::selectionChanged (this=this@entry=0x2889c50, _t1=..., _t2=...) at .moc/moc_qitemselectionmodel.cpp:280
#31 0x00007fe32aa5c66c in QItemSelectionModel::emitSelectionChanged (this=this@entry=0x2889c50, newSelection=..., oldSelection=...) at itemmodels/qitemselectionmodel.cpp:1752
#32 0x00007fe32aa5eae6 in QItemSelectionModel::select (this=0x2889c50, selection=..., command=...) at itemmodels/qitemselectionmodel.cpp:1252
#33 0x00007fe32aa5a0dc in QItemSelectionModel::select (this=this@entry=0x2889c50, index=..., command=command@entry=...) at itemmodels/qitemselectionmodel.cpp:1127
#34 0x00007fe32aa58624 in QItemSelectionModel::setCurrentIndex (this=0x2889c50, index=..., command=...) at itemmodels/qitemselectionmodel.cpp:1323
#35 0x00007fe32bcd9352 in QAbstractItemView::setCurrentIndex (this=this@entry=0x2258750, index=...) at itemviews/qabstractitemview.cpp:1060
#36 0x00007fe3094af895 in Akregator::ArticleListView::selectIndex (this=0x2258750, idx=...) at ../../../akregator/src/articlelistview.cpp:544
#37 0x00007fe3094afba6 in Akregator::ArticleListView::slotNextArticle (this=0x2258750) at ../../../akregator/src/articlelistview.cpp:511
#38 0x00007fe32aad7617 in QtPrivate::QSlotObjectBase::call (a=0x7ffde05eb5c0, r=0x2258750, this=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobject_impl.h:124
#39 QMetaObject::activate (sender=sender@entry=0x227d020, signalOffset=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffde05eb5c0) at kernel/qobject.cpp:3702
#40 0x00007fe32aad7f87 in QMetaObject::activate (sender=sender@entry=0x227d020, m=m@entry=0x7fe32bf7dc80 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffde05eb5c0) at kernel/qobject.cpp:3582
#41 0x00007fe32ba7d172 in QAction::triggered (this=this@entry=0x227d020, _t1=false) at .moc/moc_qaction.cpp:360
#42 0x00007fe32ba7f618 in QAction::activate (this=0x227d020, event=<optimized out>) at kernel/qaction.cpp:1167
#43 0x00007fe32ba7fc2f in QAction::event (this=<optimized out>, e=<optimized out>) at kernel/qaction.cpp:1095
#44 0x00007fe32ba86b8c in QApplicationPrivate::notify_helper (this=this@entry=0x206d2b0, receiver=receiver@entry=0x227d020, e=e@entry=0x7ffde05eb880) at kernel/qapplication.cpp:3720
#45 0x00007fe32ba8c230 in QApplication::notify (this=0x7ffde05ec010, receiver=0x227d020, e=0x7ffde05eb880) at kernel/qapplication.cpp:3503
#46 0x00007fe32aaa6f1b in QCoreApplication::notifyInternal (this=0x7ffde05ec010, receiver=0x227d020, event=event@entry=0x7ffde05eb880) at kernel/qcoreapplication.cpp:935
#47 0x00007fe32adf21c8 in QCoreApplication::sendEvent (event=0x7ffde05eb880, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:228
#48 QShortcutMap::dispatchEvent (this=this@entry=0x206d390, e=e@entry=0x7ffde05ebb00) at kernel/qshortcutmap.cpp:679
#49 0x00007fe32adf2301 in QShortcutMap::tryShortcutEvent (this=0x206d390, o=<optimized out>, e=e@entry=0x7ffde05ebb00) at kernel/qshortcutmap.cpp:352
#50 0x00007fe32ba8c128 in QApplication::notify (this=0x7ffde05ec010, receiver=0x2342690, e=0x7ffde05ebb00) at kernel/qapplication.cpp:3147
#51 0x00007fe32aaa6f1b in QCoreApplication::notifyInternal (this=0x7ffde05ec010, receiver=receiver@entry=0x2342690, event=event@entry=0x7ffde05ebb00) at kernel/qcoreapplication.cpp:935
#52 0x00007fe32adc6057 in QCoreApplication::sendSpontaneousEvent (event=0x7ffde05ebb00, receiver=0x2342690) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#53 QGuiApplicationPrivate::processKeyEvent (e=0x2654420) at kernel/qguiapplication.cpp:1874
#54 0x00007fe32adcafe5 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x2654420) at kernel/qguiapplication.cpp:1582
#55 0x00007fe32adb05b8 in QWindowSystemInterface::sendWindowSystemEvents (flags=...) at kernel/qwindowsysteminterface.cpp:572
#56 0x00007fe30d300250 in userEventSourceDispatch (source=<optimized out>) at eventdispatchers/qeventdispatcher_glib.cpp:70
#57 0x00007fe3227faff7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#58 0x00007fe3227fb250 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#59 0x00007fe3227fb2fc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#60 0x00007fe32aafe27f in QEventDispatcherGlib::processEvents (this=0x209e850, flags=...) at kernel/qeventdispatcher_glib.cpp:418
#61 0x00007fe32aaa475a in QEventLoop::exec (this=this@entry=0x7ffde05ebdd0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:204
#62 0x00007fe32aaac2cc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1188
#63 0x00007fe32adc100c in QGuiApplication::exec () at kernel/qguiapplication.cpp:1510
#64 0x00007fe32ba83025 in QApplication::exec () at kernel/qapplication.cpp:2956
#65 0x0000000000409630 in main (argc=1, argv=0x7ffde05ec188) at ../../../akregator/src/main.cpp:113

Reported using DrKonqi
Comment 1 Mike Satteson 2015-11-25 15:39:55 UTC
I ran into this same problem (or one very like it).  Akregator kept crashing because it persisted in opening a tab for the corrupt article at start-up.  I tried to find a way to open Akregator cleanly, that is without attempting to open any article tabs from the previous session, but had no luck with that.  I finally managed to restore Akregator to normal working order by quickly closing the offending tab before Akregator was able to crash.  

Of course this is merely a crude work around, and this bug still exits.  BTW, it would be nice to be able to tell Akregator to open without attempting to open the previous session's articles.
Comment 2 Laurent Montel 2016-01-06 12:53:48 UTC
It's a crash in khtml.
I migrate it to QWebKit in 5.2
Reopen if in 5.2 it's not ok.