Bug 270997 - Kontact crash while away from the computer
Summary: Kontact crash while away from the computer
Status: RESOLVED UPSTREAM
Alias: None
Product: Oxygen
Classification: Plasma
Component: style (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: Hugo Pereira Da Costa
URL:
Keywords:
: 271022 273736 274106 281447 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-04-14 23:36 UTC by Scott Kitterman
Modified: 2011-11-21 09:20 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Scott Kitterman 2011-04-14 23:36:02 UTC
Application: kontact (4.4.10)
KDE Platform Version: 4.6.2 (4.6.2)
Qt Version: 4.7.2
Operating System: Linux 2.6.38-8-generic-pae i686
Distribution: Ubuntu Natty (development branch)

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

Nothing.  I was away from the computer when it crashed.  Not sure what else to add.

-- Backtrace:
Application: Kontact (kontact), signal: Aborted
[Current thread is 1 (Thread 0xb2f98730 (LWP 25546))]

Thread 4 (Thread 0xad4ffb70 (LWP 25549)):
#0  0xb77ff424 in __kernel_vsyscall ()
#1  0xb618ff76 in poll () from /lib/i386-linux-gnu/libc.so.6
#2  0xb42ef84b in g_poll () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3  0xb42df1af in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#4  0xb42df92b in g_main_loop_run () from /lib/i386-linux-gnu/libglib-2.0.so.0
#5  0xadf95434 in ?? () from /usr/lib/i386-linux-gnu/libgio-2.0.so.0
#6  0xb43082df in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#7  0xb4391e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb619e73e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 3 (Thread 0xaca20b70 (LWP 25566)):
#0  0xb4135d41 in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0xb63d1dd8 in do_gettime () at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0xb649e4f2 in updateCurrentTime (this=0x970b2b4, tm=...) at kernel/qeventdispatcher_unix.cpp:339
#4  QTimerInfoList::timerWait (this=0x970b2b4, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0xb649cd32 in timerSourcePrepareHelper (src=<value optimized out>, timeout=0xaca200bc) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb649cdcd in timerSourcePrepare (source=0x970b280, timeout=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb42ddfd4 in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb42dee63 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb42df524 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb649d577 in QEventDispatcherGlib::processEvents (this=0x93f0090, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#11 0xb646f289 in QEventLoop::processEvents (this=0xaca20270, flags=...) at kernel/qeventloop.cpp:149
#12 0xb646f522 in QEventLoop::exec (this=0xaca20270, flags=...) at kernel/qeventloop.cpp:201
#13 0xb63792a0 in QThread::exec (this=0x970c650) at thread/qthread.cpp:492
#14 0xb6450fdb in QInotifyFileSystemWatcherEngine::run (this=0x970c650) at io/qfilesystemwatcher_inotify.cpp:248
#15 0xb637bda2 in QThreadPrivate::start (arg=0x970c650) at thread/qthread_unix.cpp:320
#16 0xb4391e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0xb619e73e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 2 (Thread 0xade86b70 (LWP 528)):
#0  0xb77ff424 in __kernel_vsyscall ()
#1  0xb4396834 in pthread_cond_timedwait@@GLIBC_2.3.2 () from /lib/i386-linux-gnu/libpthread.so.0
#2  0xb61ac454 in pthread_cond_timedwait () from /lib/i386-linux-gnu/libc.so.6
#3  0xb637c3e5 in wait (this=0x970a684, mutex=0x970a680, time=30000) at thread/qwaitcondition_unix.cpp:86
#4  QWaitCondition::wait (this=0x970a684, mutex=0x970a680, time=30000) at thread/qwaitcondition_unix.cpp:160
#5  0xb636f8f1 in QThreadPoolThread::run (this=0x969bd60) at concurrent/qthreadpool.cpp:140
#6  0xb637bda2 in QThreadPrivate::start (arg=0x969bd60) at thread/qthread_unix.cpp:320
#7  0xb4391e99 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#8  0xb619e73e in clone () from /lib/i386-linux-gnu/libc.so.6

Thread 1 (Thread 0xb2f98730 (LWP 25546)):
[KCrash Handler]
#7  0xb77ff424 in __kernel_vsyscall ()
#8  0xb60f8e71 in raise () from /lib/i386-linux-gnu/libc.so.6
#9  0xb60fc34e in abort () from /lib/i386-linux-gnu/libc.so.6
#10 0xb62dd0b5 in __gnu_cxx::__verbose_terminate_handler() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#11 0xb62dafa5 in ?? () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#12 0xb62dafe2 in std::terminate() () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#13 0xb62db1ab in __cxa_rethrow () from /usr/lib/i386-linux-gnu/libstdc++.so.6
#14 0xb6a217c9 in QVector<QPointF>::realloc (this=0xbfefd45c, asize=67108863, aalloc=134217727) at ../../include/QtCore/../../src/corelib/tools/qvector.h:487
#15 0xb6a2bcef in QVector<QPointF>::append (this=0xbfefd45c, t=...) at ../../include/QtCore/../../src/corelib/tools/qvector.h:549
#16 0xb6a5d2dd in QBezier::addToPolygon (this=0xbfefd358, polygon=0xbfefd45c, bezier_flattening_threshold=0.5) at painting/qbezier.cpp:220
#17 0xb6abf8f6 in QPainterPath::toSubpathPolygons (this=0xbfefd674, matrix=...) at painting/qpainterpath.cpp:1510
#18 0xb6abfcc1 in QPainterPath::toFillPolygons (this=0xbfefd674, matrix=...) at painting/qpainterpath.cpp:1561
#19 0xb6ac0292 in QPainterPath::toFillPolygons (this=0xbfefd674, matrix=...) at painting/qpainterpath.cpp:1656
#20 0xb6b6bd13 in QX11PaintEnginePrivate::fillPath (this=0x96c3fb0, path=..., gc_mode=QX11PaintEnginePrivate::PenGC, transform=true) at painting/qpaintengine_x11.cpp:1752
#21 0xb6b6c576 in QX11PaintEngine::drawPath (this=0x9697c80, path=...) at painting/qpaintengine_x11.cpp:1815
#22 0xb6b6bb21 in QX11PaintEngine::drawPolygon (this=0x9697c80, polygonPoints=0xb3033c0, pointCount=3, mode=QPaintEngine::PolylineMode) at painting/qpaintengine_x11.cpp:1722
#23 0xb6aab277 in QPainter::drawPolyline (this=0xbfefed74, points=0xb3033c0, pointCount=3) at painting/qpainter.cpp:4821
#24 0xb2ce00f2 in drawPolyline (this=0x8c915b0, option=0xbfefebd8, painter=0xbfefed74, widget=0x9583658) at /usr/include/qt4/QtGui/qpainter.h:612
#25 Oxygen::Style::drawIndicatorButtonDropDownPrimitive (this=0x8c915b0, option=0xbfefebd8, painter=0xbfefed74, widget=0x9583658) at ../../../kstyles/oxygen/oxygenstyle.cpp:3905
#26 0xb2ce189d in Oxygen::Style::drawToolButtonComplexControl (this=0x8c915b0, option=0xbfefed14, painter=0xbfefed74, widget=0x9583658) at ../../../kstyles/oxygen/oxygenstyle.cpp:7756
#27 0xb2cc43e7 in Oxygen::Style::drawComplexControl (this=0x8c915b0, element=QStyle::CC_ToolButton, option=0xbfefed14, painter=0xbfefed74, widget=0x9583658) at ../../../kstyles/oxygen/oxygenstyle.cpp:1109
#28 0xb6e2116e in drawComplexControl (this=0x9583658) at ../../include/QtGui/../../src/gui/painting/qstylepainter.h:94
#29 QToolButton::paintEvent (this=0x9583658) at widgets/qtoolbutton.cpp:556
#30 0xb69a518e in QWidget::event (this=0x9583658, event=0xbfeff384) at kernel/qwidget.cpp:8405
#31 0xb6d4e40e in QAbstractButton::event (this=0x9583658, e=0xbfeff384) at widgets/qabstractbutton.cpp:1080
#32 0xb6e21a6a in QToolButton::event (this=0x9583658, event=0xbfeff384) at widgets/qtoolbutton.cpp:1163
#33 0xb694cd24 in QApplicationPrivate::notify_helper (this=0x8c58fe0, receiver=0x9583658, e=0xbfeff384) at kernel/qapplication.cpp:4462
#34 0xb695197b in QApplication::notify (this=0xbff00f14, receiver=0x9583658, e=0xbfeff384) at kernel/qapplication.cpp:4427
#35 0xb747e3ca in KApplication::notify (this=0xbff00f14, receiver=0x9583658, event=0xbfeff384) at ../../kdeui/kernel/kapplication.cpp:311
#36 0xb64700bb in QCoreApplication::notifyInternal (this=0xbff00f14, receiver=0x9583658, event=0xbfeff384) at kernel/qcoreapplication.cpp:731
#37 0xb69a1f0c in sendSpontaneousEvent (this=0x9586480, pdev=0x8e296f4, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8e84a08) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:218
#38 QWidgetPrivate::drawWidget (this=0x9586480, pdev=0x8e296f4, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8e84a08) at kernel/qwidget.cpp:5492
#39 0xb69a2b7c in QWidgetPrivate::paintSiblingsRecursive (this=0x8f785e8, pdev=0x8e296f4, siblings=..., index=<value optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8e84a08) at kernel/qwidget.cpp:5699
#40 0xb69a2a42 in QWidgetPrivate::paintSiblingsRecursive (this=0x8f785e8, pdev=0x8e296f4, siblings=..., index=27, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8e84a08) at kernel/qwidget.cpp:5686
#41 0xb69a2a42 in QWidgetPrivate::paintSiblingsRecursive (this=0x8f785e8, pdev=0x8e296f4, siblings=..., index=28, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8e84a08) at kernel/qwidget.cpp:5686
#42 0xb69a2a42 in QWidgetPrivate::paintSiblingsRecursive (this=0x8f785e8, pdev=0x8e296f4, siblings=..., index=29, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8e84a08) at kernel/qwidget.cpp:5686
#43 0xb69a2a42 in QWidgetPrivate::paintSiblingsRecursive (this=0x8f785e8, pdev=0x8e296f4, siblings=..., index=31, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8e84a08) at kernel/qwidget.cpp:5686
#44 0xb69a2a42 in QWidgetPrivate::paintSiblingsRecursive (this=0x8f785e8, pdev=0x8e296f4, siblings=..., index=32, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8e84a08) at kernel/qwidget.cpp:5686
#45 0xb69a2a42 in QWidgetPrivate::paintSiblingsRecursive (this=0x8f785e8, pdev=0x8e296f4, siblings=..., index=34, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8e84a08) at kernel/qwidget.cpp:5686
#46 0xb69a2a42 in QWidgetPrivate::paintSiblingsRecursive (this=0x8f785e8, pdev=0x8e296f4, siblings=..., index=35, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8e84a08) at kernel/qwidget.cpp:5686
#47 0xb69a1c80 in QWidgetPrivate::drawWidget (this=0x8f785e8, pdev=0x8e296f4, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8e84a08) at kernel/qwidget.cpp:5545
#48 0xb69a2b7c in QWidgetPrivate::paintSiblingsRecursive (this=0x8d3d998, pdev=0x8e296f4, siblings=..., index=<value optimized out>, rgn=..., offset=..., flags=4, sharedPainter=0x0, backingStore=0x8e84a08) at kernel/qwidget.cpp:5699
#49 0xb69a1c80 in QWidgetPrivate::drawWidget (this=0x8d3d998, pdev=0x8e296f4, rgn=..., offset=..., flags=5, sharedPainter=0x0, backingStore=0x8e84a08) at kernel/qwidget.cpp:5545
#50 0xb6b7d908 in QWidgetBackingStore::sync (this=0x8e84a08) at painting/qbackingstore.cpp:1333
#51 0xb6997843 in QWidgetPrivate::syncBackingStore (this=0x8d3d998) at kernel/qwidget.cpp:1842
#52 0xb69a57e5 in QWidget::event (this=0x8d40898, event=0xa5495e0) at kernel/qwidget.cpp:8552
#53 0xb6db3a97 in QMainWindow::event (this=0x8d40898, event=0xa5495e0) at widgets/qmainwindow.cpp:1480
#54 0xb75592bc in KMainWindow::event (this=0x8d40898, ev=0xa5495e0) at ../../kdeui/widgets/kmainwindow.cpp:1100
#55 0xb7599b5f in KXmlGuiWindow::event (this=0x8d40898, ev=0xa5495e0) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:126
#56 0xb694cd24 in QApplicationPrivate::notify_helper (this=0x8c58fe0, receiver=0x8d40898, e=0xa5495e0) at kernel/qapplication.cpp:4462
#57 0xb695197b in QApplication::notify (this=0xbff00f14, receiver=0x8d40898, e=0xa5495e0) at kernel/qapplication.cpp:4427
#58 0xb747e3ca in KApplication::notify (this=0xbff00f14, receiver=0x8d40898, event=0xa5495e0) at ../../kdeui/kernel/kapplication.cpp:311
#59 0xb64700bb in QCoreApplication::notifyInternal (this=0xbff00f14, receiver=0x8d40898, event=0xa5495e0) at kernel/qcoreapplication.cpp:731
#60 0xb6473c79 in sendEvent (receiver=0x0, event_type=0, data=0x8c13f70) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#61 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x8c13f70) at kernel/qcoreapplication.cpp:1372
#62 0xb6473e0d in QCoreApplication::sendPostedEvents (receiver=0x0, event_type=0) at kernel/qcoreapplication.cpp:1265
#63 0xb649d3c4 in sendPostedEvents (s=0x8c55980) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#64 postEventSourceDispatch (s=0x8c55980) at kernel/qeventdispatcher_glib.cpp:277
#65 0xb42deaa8 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#66 0xb42df270 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#67 0xb42df524 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#68 0xb649d53c in QEventDispatcherGlib::processEvents (this=0x8c13ac8, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#69 0xb6a00775 in QGuiEventDispatcherGlib::processEvents (this=0x8c13ac8, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#70 0xb646f289 in QEventLoop::processEvents (this=0xbff00e74, flags=...) at kernel/qeventloop.cpp:149
#71 0xb646f522 in QEventLoop::exec (this=0xbff00e74, flags=...) at kernel/qeventloop.cpp:201
#72 0xb6473ecc in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#73 0xb694a8e7 in QApplication::exec () at kernel/qapplication.cpp:3736
#74 0x0804b4cf in _start ()

Reported using DrKonqi
Comment 1 Christophe Marin 2011-05-20 20:51:03 UTC
*** Bug 273736 has been marked as a duplicate of this bug. ***
Comment 2 Hugo Pereira Da Costa 2011-05-25 14:47:35 UTC
*** Bug 274106 has been marked as a duplicate of this bug. ***
Comment 3 Hugo Pereira Da Costa 2011-05-25 15:02:41 UTC
mmm. I guess I'll cache oxygen's arrow rendering.
Comment 4 Hugo Pereira Da Costa 2011-05-25 15:07:59 UTC
well. Maybe not.

Looking at the code at: 

#14 0xb6a217c9 in QVector<QPointF>::realloc (this=0xbfefd45c, asize=67108863,
aalloc=134217727) at ../../include/QtCore/../../src/corelib/tools/qvector.h:487

Turns out the crash corresponds to a rethrown "std::bad_alloc" exception.
This is likely due to the memory being full.
Either dues to some memory leak somewhere (and last time it was checked with valgrind, there is zero leak in oxygen), or just the memory being used 100% by some other process (e.g. nepomuk).

This is likely not an oxygen bug at all.
Comment 5 Georg Wittenburg 2011-05-25 15:15:07 UTC
On Wednesday 25 May 2011 15:08:00 Hugo Pereira Da Costa wrote:
> [...]
> This is likely not an oxygen bug at all.

Hmmm.... In that case, I should be seeing similar crashes if I switch to 
another widget/window theme, right? I'll do that and see if the problems 
persist.

Best,

	Georg
Comment 6 Hugo Pereira Da Costa 2011-05-25 15:21:25 UTC
yes. Likely.
Though oxygen does use more (base and properly freed) memory than most other styles ... 
Keep me posted
Comment 7 Georg Wittenburg 2011-05-27 14:17:46 UTC
I haven't seen a single crash (usually I get about one per hour; also reported in bug 274096) since I switched to other widgets/styles.

Specifically, I switched:
- Application Appearance -> Style -> Widget Style to Plastique
- Application Appearance -> GTK+ Appearance -> Widget style to Raleigh
- Workspace Appearance -> Window Decorations to Plastik

From this, it seems save to conclude that the crashes are related to Oxygen. Note that memory shouldn't be an issue since this machine has 3GB of RAM.

I will now switch back the items above to Oxygen and see whether I can narrow things down.

(Aside: I'll be traveling next week, so there'll be less feedback from my side.)
Comment 8 Hugo Pereira Da Costa 2011-05-29 12:50:23 UTC
@Georg

Thanks for the info and the testing.

To be honest I have no idea on how to adress this bug.
Most likely something is corrupting the memory, creating the crashes, triggered by oxygen (but not _in_ oxygen). Now, oxygen has been run with valgrind to check memory usage (via oxygen-demo) multiple times, including recently, and no issues have been found ... So I'm unclear about what to do next. 

maybe running kontact through valgrind ? 
(I don't use kontact atm and completely fubared its install last time I attempted to give a shot to kdepim 4.6).

Suggestions welcome.
(and if anyone can provide a valgrind output of kontact, I volunteer to look into it).
Comment 9 Georg Wittenburg 2011-06-15 19:11:40 UTC
After more time with this new laptop, I'm now pretty certain that it's an X or Intel i915 driver issue. Evidence is that large batch processes crash, but only when run from an X terminal window, not if run with X disabled.

Sorry for the trouble. :)
Comment 10 Hugo Pereira Da Costa 2011-06-15 23:15:36 UTC
No trouble taken. Thanks for closing the bug, and feel free to re-open if new clues make you think otherwise ! Feedback's always welcome.
Comment 11 Thomas Lübking 2011-11-13 14:58:21 UTC
*** Bug 281447 has been marked as a duplicate of this bug. ***
Comment 12 Aaron J. Seigo 2011-11-21 09:20:29 UTC
*** Bug 271022 has been marked as a duplicate of this bug. ***