Bug 275641

Summary: akregator null pointer deref
Product: [Applications] kontact Reporter: Andreas Karrenbauer <andreas.karrenbauer>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED DUPLICATE    
Severity: crash    
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Andreas Karrenbauer 2011-06-14 17:41:42 UTC
Application: kontact (4.6.0)
KDE Platform Version: 4.6.4 (4.6.4)
Qt Version: 4.7.3
Operating System: Linux 2.6.39.1-31-desktop x86_64
Distribution: "openSUSE 11.4 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
I've changed the feed immediately before the crash. However, it seemed that Akregator has been in an undefined state before.

Anyways, I suggest that Article::title() and the functions alike shall check Article::isNull() to die gracefully instead of letting kontact crash completely.

-- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault
41	  int result = INLINE_SYSCALL (wait4, 4, pid, stat_loc, options, NULL);
[Current thread is 1 (Thread 0x7ffe6f9f8760 (LWP 3287))]

Thread 3 (Thread 0x7ffe5829f700 (LWP 3338)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:162
#1  0x00007ffe6c4821d4 in WTF::TCMalloc_PageHeap::runScavengerThread(void*) () from /usr/lib64/libQtWebKit.so.4
#2  0x00007ffe67e39a3f in start_thread (arg=0x7ffe5829f700) at pthread_create.c:297
#3  0x00007ffe6d02367d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#4  0x0000000000000000 in ?? ()

Thread 2 (Thread 0x7ffe3e158700 (LWP 1081)):
#0  0x00007ffe6d01a503 in __poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=<value optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007ffe66ac9114 in ?? () from /lib64/libglib-2.0.so.0
#2  0x00007ffe66ac9650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#3  0x00007ffe6e3f4286 in QEventDispatcherGlib::processEvents (this=0x8d45500, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#4  0x00007ffe6e3c88d2 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007ffe6e3c8ae5 in QEventLoop::exec (this=0x7ffe3e157de0, flags=...) at kernel/qeventloop.cpp:201
#6  0x00007ffe6e2dd7a4 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:492
#7  0x00007ffe6e3aa008 in QInotifyFileSystemWatcherEngine::run (this=0x8701fb0) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007ffe6e2e0095 in QThreadPrivate::start (arg=0x8701fb0) at thread/qthread_unix.cpp:320
#9  0x00007ffe67e39a3f in start_thread (arg=0x7ffe3e158700) at pthread_create.c:297
#10 0x00007ffe6d02367d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#11 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7ffe6f9f8760 (LWP 3287)):
[KCrash Handler]
#4  0x00007ffe4e52936f in Akregator::Article::title (this=<value optimized out>) at /usr/src/debug/kdepim-4.6.0/akregator/src/article.cpp:375
#5  0x00007ffe4e9b2454 in Akregator::ArticleModel::Private::Private (this=0xb665270, articles_=<value optimized out>, qq=<value optimized out>) at /usr/src/debug/kdepim-4.6.0/akregator/src/articlemodel.cpp:76
#6  0x00007ffe4e9b263a in Akregator::ArticleModel::ArticleModel (this=0x5a488e0, articles=..., parent=<value optimized out>) at /usr/src/debug/kdepim-4.6.0/akregator/src/articlemodel.cpp:79
#7  0x00007ffe4e9b8527 in Akregator::SelectionController::articleHeadersAvailable (this=0x1097880, job=<value optimized out>) at /usr/src/debug/kdepim-4.6.0/akregator/src/selectioncontroller.cpp:212
#8  0x00007ffe4e9b8804 in Akregator::SelectionController::qt_metacall (this=0x1097880, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffb2c3ad80) at /usr/src/debug/kdepim-4.6.0/build/akregator/src/selectioncontroller.moc:92
#9  0x00007ffe6e3dda5f in QMetaObject::activate (sender=0x7604c00, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7fffb2c3ad80) at kernel/qobject.cpp:3278
#10 0x00007ffe6e7be30f in KJob::finished (this=<value optimized out>, _t1=0x7604c00) at /usr/src/debug/kdelibs-4.6.4/build/kdecore/kjob.moc:173
#11 0x00007ffe6e7be4e5 in KJob::emitResult (this=0x7604c00) at /usr/src/debug/kdelibs-4.6.4/kdecore/jobs/kjob.cpp:310
#12 0x00007ffe4e540a47 in Akregator::ArticleListJob::doList (this=0x7604c00) at /usr/src/debug/kdepim-4.6.0/akregator/src/articlejobs.cpp:190
#13 0x00007ffe4e540b50 in Akregator::ArticleListJob::qt_metacall (this=0x7604c00, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=<value optimized out>) at /usr/src/debug/kdepim-4.6.0/build/akregator/src/articlejobs.moc:239
#14 0x00007ffe6e3dda5f in QMetaObject::activate (sender=0x97204e0, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x0) at kernel/qobject.cpp:3278
#15 0x00007ffe6e3e46cf in QSingleShotTimer::timerEvent (this=0x97204e0) at kernel/qtimer.cpp:308
#16 0x00007ffe6e3dd0a9 in QObject::event (this=0x97204e0, e=<value optimized out>) at kernel/qobject.cpp:1181
#17 0x00007ffe6d791144 in QApplicationPrivate::notify_helper (this=0x63c3c0, receiver=0x97204e0, e=0x7fffb2c3b660) at kernel/qapplication.cpp:4462
#18 0x00007ffe6d7996fa in QApplication::notify (this=<value optimized out>, receiver=0x97204e0, e=0x7fffb2c3b660) at kernel/qapplication.cpp:4341
#19 0x00007ffe6ed2c3c6 in KApplication::notify (this=0x7fffb2c3ba20, receiver=0x97204e0, event=0x7fffb2c3b660) at /usr/src/debug/kdelibs-4.6.4/kdeui/kernel/kapplication.cpp:311
#20 0x00007ffe6e3c947c in QCoreApplication::notifyInternal (this=0x7fffb2c3ba20, receiver=0x97204e0, event=0x7fffb2c3b660) at kernel/qcoreapplication.cpp:731
#21 0x00007ffe6e3f6df8 in sendEvent (this=0x643d50) at kernel/qcoreapplication.h:215
#22 QTimerInfoList::activateTimers (this=0x643d50) at kernel/qeventdispatcher_unix.cpp:619
#23 0x00007ffe6e3f3b78 in timerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:184
#24 idleTimerSourceDispatch (source=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:231
#25 0x00007ffe66ac8bd3 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#26 0x00007ffe66ac93b0 in ?? () from /lib64/libglib-2.0.so.0
#27 0x00007ffe66ac9650 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#28 0x00007ffe6e3f422f in QEventDispatcherGlib::processEvents (this=0x6133b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#29 0x00007ffe6d836bae in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#30 0x00007ffe6e3c88d2 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#31 0x00007ffe6e3c8ae5 in QEventLoop::exec (this=0x7fffb2c3b970, flags=...) at kernel/qeventloop.cpp:201
#32 0x00007ffe6e3ccf2b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#33 0x000000000040416f in main (argc=3, argv=0x7fffb2c3c048) at /usr/src/debug/kdepim-4.6.0/kontact/src/main.cpp:218

Possible duplicates by query: bug 273772, bug 272345, bug 272022, bug 271818, bug 270223.

Reported using DrKonqi
Comment 1 Christophe Marin 2011-06-15 10:01:49 UTC

*** This bug has been marked as a duplicate of bug 194591 ***