Bug 250114

Summary: Crash when message could not be delivered and other action in progress
Product: [Plasma] Oxygen Reporter: Freek de Kruijf <freekdekruijf>
Component: styleAssignee: Hugo Pereira Da Costa <hugo.pereira.da.costa>
Status: RESOLVED FIXED    
Severity: crash CC: hugo.pereira.da.costa
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Freek de Kruijf 2010-09-04 00:27:01 UTC
Application: kontact (4.4.5)
KDE Platform Version: 4.5.1 (KDE 4.5.1)
Qt Version: 4.6.3
Operating System: Linux 2.6.34-12-desktop x86_64
Distribution: "openSUSE 11.3 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
I just did send an email directly to smtp.gmail.com using port 587with TLS. However my router did have a hickup, so the internet connection failed. I don't know the status of the connection at that moment. While the sending activity was going on, I moved a few messages from an inbox in an IMAP account to another folder of that IMAP-account, right at the moment the message about not being able to send the message appeared on the screen.

-- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault
[KCrash Handler]
#6  0x00007f327ac82f79 in free () from /lib64/libc.so.6
#7  0x00007f327c058c99 in QObject::~QObject (this=0x3f6e9f0, __in_chrg=<value optimized out>) at kernel/qobject.cpp:928
#8  0x00007f326b5406b7 in ~Animation (this=0x3f6e9f0, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.5.1/libs/oxygen/oxygenanimation.h:55
#9  Oxygen::Animation::~Animation (this=0x3f6e9f0, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.5.1/libs/oxygen/oxygenanimation.h:55
#10 0x00007f327c0548b4 in QObjectPrivate::deleteChildren (this=0x7f59850) at kernel/qobject.cpp:1986
#11 0x00007f327c058e15 in QObject::~QObject (this=0x49236b0, __in_chrg=<value optimized out>) at kernel/qobject.cpp:975
#12 0x00007f326b7b0a36 in ~AnimationData (this=0x49236b0, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.5.1/kstyles/oxygen/animations/oxygenanimationdata.h:57
#13 ~GenericData (this=0x49236b0, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.5.1/kstyles/oxygen/animations/oxygengenericdata.h:55
#14 ~WidgetStateData (this=0x49236b0, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.5.1/kstyles/oxygen/animations/oxygenwidgetstatedata.h:51
#15 ~EnableData (this=0x49236b0, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.5.1/kstyles/oxygen/animations/oxygenenabledata.h:50
#16 Oxygen::EnableData::~EnableData (this=0x49236b0, __in_chrg=<value optimized out>) at /usr/src/debug/kdebase-workspace-4.5.1/kstyles/oxygen/animations/oxygenenabledata.h:50
#17 0x00007f326b7c2dce in unregisterWidget (this=0x6c60f0, object=0x5c56650) at /usr/src/debug/kdebase-workspace-4.5.1/kstyles/oxygen/animations/oxygendatamap.h:103
#18 Oxygen::WidgetStateEngine::unregisterWidget (this=0x6c60f0, object=0x5c56650) at /usr/src/debug/kdebase-workspace-4.5.1/kstyles/oxygen/animations/oxygenwidgetstateengine.h:100
#19 0x00007f326b764548 in Oxygen::WidgetStateEngine::qt_metacall (this=<value optimized out>, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7ffffaf86a70)
    at /usr/src/debug/kdebase-workspace-4.5.1/build/kstyles/oxygen/oxygenwidgetstateengine.moc:73
#20 0x00007f327c057a1f in QMetaObject::activate (sender=0x5c56650, m=<value optimized out>, local_signal_index=<value optimized out>, argv=0x7ffffaf86a70) at kernel/qobject.cpp:3295
#21 0x00007f327c057ddf in QObject::destroyed (this=<value optimized out>, _t1=0x5c56650) at .moc/release-shared/moc_qobject.cpp:149
#22 0x00007f327c058b85 in QObject::~QObject (this=0x5c56650, __in_chrg=<value optimized out>) at kernel/qobject.cpp:869
#23 0x00007f327b4895bd in QWidget::~QWidget (this=0x5c56650, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1366
#24 0x00007f327b8180d9 in QFrame::~QFrame (this=0x5c56650, __in_chrg=<value optimized out>) at widgets/qframe.cpp:242
#25 0x00007f327c0548b4 in QObjectPrivate::deleteChildren (this=0x6f34080) at kernel/qobject.cpp:1986
#26 0x00007f327b489535 in QWidget::~QWidget (this=0x73e7e50, __in_chrg=<value optimized out>) at kernel/qwidget.cpp:1476
#27 0x00007f327d4a79ce in ?? () from /usr/lib64/libkdepim.so.4
#28 0x00007f327c05552d in QObject::event (this=0x73e7e50, e=0x2b8e300) at kernel/qobject.cpp:1231
#29 0x00007f327b48576d in QWidget::event (this=0x73e7e50, event=0x2b8e300) at kernel/qwidget.cpp:8501
#30 0x00007f327b8187d6 in QFrame::event (this=0x73e7e50, e=0x2b8e300) at widgets/qframe.cpp:557
#31 0x00007f327b4354d4 in QApplicationPrivate::notify_helper (this=0x63d3e0, receiver=0x73e7e50, e=0x2b8e300) at kernel/qapplication.cpp:4302
#32 0x00007f327b43daca in QApplication::notify (this=<value optimized out>, receiver=0x73e7e50, e=0x2b8e300) at kernel/qapplication.cpp:4185
#33 0x00007f327c9691e6 in KApplication::notify (this=0x7ffffaf87900, receiver=0x73e7e50, event=0x2b8e300) at /usr/src/debug/kdelibs-4.5.1/kdeui/kernel/kapplication.cpp:310
#34 0x00007f327c043e4c in QCoreApplication::notifyInternal (this=0x7ffffaf87900, receiver=0x73e7e50, event=0x2b8e300) at kernel/qcoreapplication.cpp:726
#35 0x00007f327c0475ba in sendEvent (receiver=0x0, event_type=0, data=0x60db90) at kernel/qcoreapplication.h:215
#36 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x60db90) at kernel/qcoreapplication.cpp:1367
#37 0x00007f327c06c173 in sendPostedEvents (s=<value optimized out>) at kernel/qcoreapplication.h:220
#38 postEventSourceDispatch (s=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:276
#39 0x00007f327368da93 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#40 0x00007f327368e270 in ?? () from /usr/lib64/libglib-2.0.so.0
#41 0x00007f327368e510 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#42 0x00007f327c06c67f in QEventDispatcherGlib::processEvents (this=0x613220, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#43 0x00007f327b4d614e in QGuiEventDispatcherGlib::processEvents (this=<value optimized out>, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#44 0x00007f327c043292 in QEventLoop::processEvents (this=<value optimized out>, flags=...) at kernel/qeventloop.cpp:149
#45 0x00007f327c043495 in QEventLoop::exec (this=0x7ffffaf87850, flags=...) at kernel/qeventloop.cpp:201
#46 0x00007f327c04788b in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1003
#47 0x000000000040417e in _start ()

Possible duplicates by query: bug 249579.

Reported using DrKonqi
Comment 1 Hugo Pereira Da Costa 2010-09-04 01:43:03 UTC
no clue. 
Crash in object deletion is usually a sign of memory corruption. 
Can be anywhere. Doesn't have to be in oxygen. (last time I checked with Valgrind there was no memory corruption added by oxygen).

Maybe using deleteLater rather than delete will help.
Comment 2 Hugo Pereira Da Costa 2010-09-04 01:44:42 UTC
------------------------------------------------------------------------
r1171373 | hpereiradacosta | 2010-09-03 09:24:22 -0600 (Fri, 03 Sep 2010) | 3 lines

use ->deleteLater() rather than delete, when unregistering animations.
CCBUG: 247827
Comment 3 Hugo Pereira Da Costa 2010-09-04 01:45:46 UTC
------------------------------------------------------------------------
r1171484 | hpereiradacosta | 2010-09-03 17:49:00 -0600 (Fri, 03 Sep 2010) | 2 lines

replaced "delete animationData" by "animationData->deleteLater()" when a target is unregistered.


(that's the backport to 4.5 branch)
Comment 4 Hugo Pereira Da Costa 2010-11-09 12:33:56 UTC
Still happening ?
Comment 5 Freek de Kruijf 2010-11-09 13:37:10 UTC
The situation did not occur anymore, I mean my network connection being/going down.
We may consider this to be fixed. If not, it can be reopened or a bug report can be issued.