Bug 164269 - assert failure in QList<T>::operator[]: "index out of range" on accessing specific blog
Summary: assert failure in QList<T>::operator[]: "index out of range" on accessing spe...
Status: RESOLVED WORKSFORME
Alias: None
Product: akregator
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: unspecified Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-06-17 10:24 UTC by Marcus Better
Modified: 2008-06-27 19:57 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Marcus Better 2008-06-17 10:24:48 UTC
Version:           1.2.50 (using 4.00.80 (KDE 4.0.80 >= (KDE 4.1 Beta1), Debian packages)
Compiler:          cc
OS:                Linux (x86_64) release 2.6.25-melech

Akregator exits with an assertion failure after adding the feed
  http://natishalom.typepad.com/nati_shaloms_blog/atom.xml
and accessing the first article by just pressing the plus key.

akregator(24013) Akregator::Backend::FeedStorageMK4Impl::FeedStorageMK4Impl: "http://natishalom.typepad.com/nati_shaloms_blog/atom.xml"
ASSERT failure in QList<T>::operator[]: "index out of range", file /usr/include/qt4/QtCore/qlist.h,line 401
Comment 1 Christophe Marin 2008-06-17 10:37:54 UTC
Could you please follow this guide and provide a backtrace : http://techbase.kde.org/Development/Tutorials/Debugging/How_to_create_useful_crash_reports
Comment 2 Marcus Better 2008-06-18 09:36:39 UTC
I'm not able to reproduce with Debian's akregator 4:4.0.82+svn819867-1.
Comment 3 George Kiagiadakis 2008-06-27 19:57:55 UTC
Hi there people,
This is NOT resolved. I am using debian's akregator 4:4.0.82+svn819867-1 and still getting that crash on this rss feed: http://www.techteam.gr/rss/source/news-utf8.rss
To reproduce, add this feed to akregator and click on any article. It goes down immediately.

Because it is impossible to get a backtrace from Q_ASSERT if you don't patch your code, I just checked out revision 825239 of kdepim and compiled akregator with my hack that Dakon posted here: http://der-dakon.net/blog/KDE/tracing-qassert.html

So the backtrace reads as follows:
Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb4c7eb00 (LWP 2177)]
0xb7f7d410 in __kernel_vsyscall ()         
(gdb) bt                                   
#0  0xb7f7d410 in __kernel_vsyscall ()     
#1  0xb56385e0 in raise () from /lib/i686/cmov/libc.so.6
#2  0xb5639fb8 in abort () from /lib/i686/cmov/libc.so.6
#3  0x0804e945 in qtMessageHandler (type=QtFatalMsg,    
    msg=0xbf90afa0 "ASSERT failure in QList<T>::operator[]: \"index out of range\", file /usr/include/qt4/QtCore/qlist.h, line 401")
    at /home/gkiagia/src/kdepim/akregator/src/main.cpp:95                                                                           
#4  0xb5c7b3c5 in qt_message_output (msgType=QtFatalMsg,                                                                            
    buf=0xbf90afa0 "ASSERT failure in QList<T>::operator[]: \"index out of range\", file /usr/include/qt4/QtCore/qlist.h, line 401") at global/qglobal.cpp:2023
#5  0xb5c7b4f6 in qFatal (msg=0xb5dc2ac8 "ASSERT failure in %s: \"%s\", file %s, line %d") at global/qglobal.cpp:2260                                          
#6  0xb5c7b53c in qt_assert_x (where=0xb350ff1a "QList<T>::operator[]", what=0xb350f7a2 "index out of range", file=0xb35101bc "/usr/include/qt4/QtCore/qlist.h", 
    line=401) at global/qglobal.cpp:1836                                                                                                                         
#7  0xb348e9bd in Akregator::ArticleModel::Private::articlesUpdated () from /usr/lib/kde4/akregatorpart.so                                                       
#8  0xb348f00e in Akregator::ArticleModel::qt_metacall () from /usr/lib/kde4/akregatorpart.so                                                                    
#9  0xb5d87090 in QMetaObject::activate (sender=0x84a96e0, from_signal_index=7, to_signal_index=7, argv=0xbf90d168) at kernel/qobject.cpp:3010                   
#10 0xb5d87e12 in QMetaObject::activate (sender=0x84a96e0, m=0xb353c600, local_signal_index=3, argv=0xbf90d168) at kernel/qobject.cpp:3080                       
#11 0xb3499829 in Akregator::TreeNode::signalArticlesUpdated () from /usr/lib/kde4/akregatorpart.so                                                              
#12 0xb3499b26 in Akregator::TreeNode::qt_metacall () from /usr/lib/kde4/akregatorpart.so                                                                        
#13 0xb349ba8a in Akregator::Folder::qt_metacall () from /usr/lib/kde4/akregatorpart.so                                                                          
#14 0xb5d87090 in QMetaObject::activate (sender=0x91ecbb8, from_signal_index=7, to_signal_index=7, argv=0xbf90d298) at kernel/qobject.cpp:3010                   
#15 0xb5d87e12 in QMetaObject::activate (sender=0x91ecbb8, m=0xb353c600, local_signal_index=3, argv=0xbf90d298) at kernel/qobject.cpp:3080                       
#16 0xb3499829 in Akregator::TreeNode::signalArticlesUpdated () from /usr/lib/kde4/akregatorpart.so
#17 0xb349216b in Akregator::Feed::doArticleNotification () from /usr/lib/kde4/akregatorpart.so
#18 0xb349998b in Akregator::TreeNode::setNotificationMode () from /usr/lib/kde4/akregatorpart.so
#19 0xb3489f58 in ?? () from /usr/lib/kde4/akregatorpart.so
#20 0xb348a715 in ?? () from /usr/lib/kde4/akregatorpart.so
#21 0xb5d87090 in QMetaObject::activate (sender=0x9151c30, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3010
#22 0xb5d87e12 in QMetaObject::activate (sender=0x9151c30, m=0xb5e53ae8, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3080
#23 0xb5d8d467 in QSingleShotTimer::timeout (this=0x9151c30) at .moc/release-shared/qtimer.moc:74
#24 0xb5d8d58c in QSingleShotTimer::timerEvent (this=0x9151c30) at kernel/qtimer.cpp:300
#25 0xb5d81b7f in QObject::event (this=0x9151c30, e=0xbf90d9ac) at kernel/qobject.cpp:1105
#26 0xb636866c in QApplicationPrivate::notify_helper (this=0x80648f8, receiver=0x9151c30, e=0xbf90d9ac) at kernel/qapplication.cpp:3772
#27 0xb637043e in QApplication::notify (this=0xbf90dc14, receiver=0x9151c30, e=0xbf90d9ac) at kernel/qapplication.cpp:3366
#28 0xb6cf5a3d in KApplication::notify (this=0xbf90dc14, receiver=0x9151c30, event=0xbf90d9ac)
    at /tmp/buildd/kde4libs-4.0.82+svn819867/kdeui/kernel/kapplication.cpp:311
#29 0xb5d72541 in QCoreApplication::notifyInternal (this=0xbf90dc14, receiver=0x9151c30, event=0xbf90d9ac) at kernel/qcoreapplication.cpp:587
#30 0xb5da05b1 in QTimerInfoList::activateTimers (this=0x8068d24) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#31 0xb5d9cbf0 in timerSourceDispatch (source=0x8068cf0) at kernel/qeventdispatcher_glib.cpp:166
#32 0xb50fc978 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#33 0xb50ffbce in ?? () from /usr/lib/libglib-2.0.so.0
#34 0x08068c20 in ?? ()
#35 0x00000000 in ?? ()

I guess the crash is happening at src/articlemodel.cpp line 233. Not sure why, though.
Happy bug hunting :)