Bug 176671

Summary: kmail crashes when changing kstyle
Product: [Unmaintained] kmail Reporter: Jacopo De Simoi <jacopods+kde>
Component: new message listAssignee: Szymon Stefanek <pragma>
Status: RESOLVED FIXED    
Severity: crash CC: andresbajotierra, christian.gonzalez, christophe, mail, peterix
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Unspecified   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Jacopo De Simoi 2008-12-02 06:04:28 UTC
Version:            (using Devel)
Installed from:    Compiled sources

I am using kde 4.1.80

When applying a change of the widgets style (systemsettings->appearance->style) (even a trivial change), clicking on Apply triggers a crash in Kmail with the following backtrace

Application: KMail (kmail), signal SIGSEGV
0x00007f2241d507e1 in nanosleep () from /lib/libc.so.6

Thread 1 (Thread 0x7f224b9ae700 (LWP 7267)):
[KCrash Handler]                            
#5  QListData::begin (this=0x20) at /usr/include/qt4/QtCore/qlist.h:92
#6  0x00007f224a9ba1dc in QList<KMail::MessageListView::Core::Theme::Column*>::constBegin (this=0x20) at /usr/include/qt4/QtCore/qlist.h:240
#7  0x00007f224a9b70bc in KMail::MessageListView::Core::Theme::resetCache (this=<value optimized out>)                                      
    at /var/tmp/portage/kde-base/kmail-4.1.80/work/kmail-4.1.80/kmail/messagelistview/core/theme.cpp:745                                    
#8  0x00007f224a9bfab4 in KMail::MessageListView::Core::ThemeDelegate::setTheme (this=0x8c53b0, theme=0x20)                                 
    at /var/tmp/portage/kde-base/kmail-4.1.80/work/kmail-4.1.80/kmail/messagelistview/core/themedelegate.cpp:72                             
#9  0x00007f224a9cf1a5 in KMail::MessageListView::Core::View::setTheme (this=0x8d1510, theme=0x20) at /var/tmp/portage/kde-base/kmail-4.1.80/work/kmail-4.1.80/kmail/messagelistview/core/view.cpp:142                                                                                        
#10 0x00007f224a9cf22c in KMail::MessageListView::Core::View::changeEvent (this=0x8d1510, e=0x7fff539f9d10)                                    
    at /var/tmp/portage/kde-base/kmail-4.1.80/work/kmail-4.1.80/kmail/messagelistview/core/view.cpp:1670                                       
#11 0x00007f2242e3b40e in QWidget::event (this=0x8d1510, event=0x7fff539f9d10) at kernel/qwidget.cpp:7442                                      
#12 0x00007f2243171ef6 in QFrame::event (this=0x8d1510, e=0x7fff539f9d10) at widgets/qframe.cpp:657                                            
#13 0x00007f22431fe5fd in QAbstractScrollArea::event (this=0x8d1510, e=0x7fff539f9d10) at widgets/qabstractscrollarea.cpp:905                  
#14 0x00007f2243291dcd in QAbstractItemView::event (this=0x8d1510, event=0x7fff539f9d10) at itemviews/qabstractitemview.cpp:1373               
#15 0x00007f224a9c9313 in KMail::MessageListView::Core::View::event (this=0x8d1510, e=0x7fff539f9d10)                                          
    at /var/tmp/portage/kde-base/kmail-4.1.80/work/kmail-4.1.80/kmail/messagelistview/core/view.cpp:1688                                       
#16 0x00007f2242dead7e in QApplicationPrivate::notify_helper (this=0x632070, receiver=0x8d1510, e=0x7fff539f9d10) at kernel/qapplication.cpp:3809                                                                                                                                             
#17 0x00007f2242decc07 in QApplication::notify (this=0x7fff539fac40, receiver=0x8d1510, e=0x7fff539f9d10) at kernel/qapplication.cpp:3774      
#18 0x00007f224b3f3301 in KApplication::notify (this=0x7fff539fac40, receiver=0x8d1510, event=0x7fff539f9d10)
    at /var/tmp/portage/kde-base/kdelibs-4.1.80/work/kdelibs-4.1.80/kdeui/kernel/kapplication.cpp:307
#19 0x00007f2243c0e468 in QCoreApplication::notifyInternal (this=0x7fff539fac40, receiver=0x8d1510, event=0x7fff539f9d10) at kernel/qcoreapplication.cpp:593
#20 0x00007f2242df1964 in QApplication::setStyle (style=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#21 0x00007f224b416adf in KGlobalSettings::Private::applyGUIStyle (this=0x6c0b60) at /var/tmp/portage/kde-base/kdelibs-4.1.80/work/kdelibs-4.1.80/kdeui/kernel/kglobalsettings.cpp:852
#22 0x00007f224b416bc9 in KGlobalSettings::Private::kdisplaySetStyle (this=0x6c0b60) at /var/tmp/portage/kde-base/kdelibs-4.1.80/work/kdelibs-4.1.80/kdeui/kernel/kglobalsettings.cpp:943
#23 0x00007f224b41848c in KGlobalSettings::Private::_k_slotNotifyChange (this=0x6c0b60, changeType=2, arg=0)
    at /var/tmp/portage/kde-base/kdelibs-4.1.80/work/kdelibs-4.1.80/kdeui/kernel/kglobalsettings.cpp:776
#24 0x00007f224b418566 in KGlobalSettings::qt_metacall (this=0x6bff60, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0x7fff539f9f90)
    at /var/tmp/portage/kde-base/kdelibs-4.1.80/work/kdelibs_build/kdeui/kglobalsettings.moc:91
#25 0x00007f2243f22237 in QDBusConnectionPrivate::deliverCall (this=0x630ff0, object=0x6bff60, msg=@0xc98d68, metaTypes=@0xc98d70, slotIdx=13)at qdbusintegrator.cpp:855
#26 0x00007f2243f2c18f in QDBusCallDeliveryEvent::placeMetaCall (this=0x2000000000000000, object=0x20) at qdbusintegrator_p.h:136
#27 0x00007f2243c1fb82 in QObject::event (this=0x6bff60, e=0xc98d20) at kernel/qobject.cpp:1152
#28 0x00007f2242dead7e in QApplicationPrivate::notify_helper (this=0x632070, receiver=0x6bff60, e=0xc98d20) at kernel/qapplication.cpp:3809
#29 0x00007f2242decc07 in QApplication::notify (this=0x7fff539fac40, receiver=0x6bff60, e=0xc98d20) at kernel/qapplication.cpp:3774
#30 0x00007f224b3f3301 in KApplication::notify (this=0x7fff539fac40, receiver=0x6bff60, event=0xc98d20)
    at /var/tmp/portage/kde-base/kdelibs-4.1.80/work/kdelibs-4.1.80/kdeui/kernel/kapplication.cpp:307
#31 0x00007f2243c0e468 in QCoreApplication::notifyInternal (this=0x7fff539fac40, receiver=0x6bff60, event=0xc98d20) at kernel/qcoreapplication.cpp:593
#32 0x00007f2243c0f689 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x6083b0) at kernel/qcoreapplication.h:215
#33 0x00007f2242e77b1d in QEventDispatcherX11::processEvents (this=0x631ea0, flags=@0x7fff539faa20) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#34 0x00007f2243c0d825 in QEventLoop::processEvents (this=<value optimized out>, flags=@0x7fff539faa60) at kernel/qeventloop.cpp:149
#35 0x00007f2243c0d98a in QEventLoop::exec (this=0x7fff539faaa0, flags=@0x7fff539faab0) at kernel/qeventloop.cpp:200
#36 0x00007f2243c0face in QCoreApplication::exec () at kernel/qcoreapplication.cpp:851
#37 0x0000000000403508 in main (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/kde-base/kmail-4.1.80/work/kmail-4.1.80/kmail/main.cpp:146

kmail was displaying an empty tab at the moment it crashed, if that matters.
Comment 1 George Kiagiadakis 2008-12-02 13:09:28 UTC
I can't reproduce this with rev 890719. Can you tell us exactly which change triggers that and/or try with a more recent version? Thanks.
Comment 2 Jacopo De Simoi 2008-12-02 15:28:53 UTC
I will build from trunk as soon as I have time;
 as for now, the crash is triggered by a change in the widget style (e.g. from Oxygen to cleanlooks) and happens when applying the change. In fact even a trivial change (e.g. Oxygen to cleanlooks, then back to Oxygen, just to activate the apply button) triggers the crash when clicking on the Apply button.

I am on amd64 (as you can tell by the 64bit addresses in the backtrace) here are my (very conservative) CFLAGS:

CFLAGS="-mtune=k8 -O2 -pipe -ggdb "

Comment 3 Jacopo De Simoi 2008-12-07 04:21:41 UTC
It stills crashes for me with kmail built from trunk today. The backtrace is pretty much identical:

Application: KMail (kmail), signal SIGSEGV
0x00007f72272d07e1 in nanosleep () from /lib/libc.so.6

Thread 1 (Thread 0x7f7230acc700 (LWP 7508)):
[KCrash Handler]
#5  QListData::begin (this=0x20) at /usr/include/qt4/QtCore/qlist.h:92
#6  0x00007f722fad5ffc in QList<KMail::MessageListView::Core::Theme::Column*>::constBegin (this=0x20) at /usr/include/qt4/QtCore/qlist.h:240
#7  0x00007f722fad2edc in KMail::MessageListView::Core::Theme::resetCache (this=<value optimized out>) at /var/tmp/portage/kde-base/kmail-9999/work/kmail/kmail/messagelistview/core/theme.cpp:745
#8  0x00007f722fadb8d4 in KMail::MessageListView::Core::ThemeDelegate::setTheme (this=0x8a4770, theme=0x20)
    at /var/tmp/portage/kde-base/kmail-9999/work/kmail/kmail/messagelistview/core/themedelegate.cpp:72
#9  0x00007f722faeb565 in KMail::MessageListView::Core::View::setTheme (this=0x895990, theme=0x20) at /var/tmp/portage/kde-base/kmail-9999/work/kmail/kmail/messagelistview/core/view.cpp:152
#10 0x00007f722faeb5ec in KMail::MessageListView::Core::View::changeEvent (this=0x895990, e=0x7fff38b14e00) at /var/tmp/portage/kde-base/kmail-9999/work/kmail/kmail/messagelistview/core/view.cpp:1828
#11 0x00007f722816f40e in QWidget::event (this=0x895990, event=0x7fff38b14e00) at kernel/qwidget.cpp:7442
#12 0x00007f72284a5ef6 in QFrame::event (this=0x895990, e=0x7fff38b14e00) at widgets/qframe.cpp:657
#13 0x00007f72285325fd in QAbstractScrollArea::event (this=0x895990, e=0x7fff38b14e00) at widgets/qabstractscrollarea.cpp:905
#14 0x00007f72285c5dcd in QAbstractItemView::event (this=0x895990, event=0x7fff38b14e00) at itemviews/qabstractitemview.cpp:1373
#15 0x00007f722fae5173 in KMail::MessageListView::Core::View::event (this=0x895990, e=0x7fff38b14e00) at /var/tmp/portage/kde-base/kmail-9999/work/kmail/kmail/messagelistview/core/view.cpp:1846
#16 0x00007f722811ed7e in QApplicationPrivate::notify_helper (this=0x647d60, receiver=0x895990, e=0x7fff38b14e00) at kernel/qapplication.cpp:3809
#17 0x00007f7228120c07 in QApplication::notify (this=0x7fff38b15db0, receiver=0x895990, e=0x7fff38b14e00) at kernel/qapplication.cpp:3774
#18 0x00007f72305103a1 in KApplication::notify (this=0x7fff38b15db0, receiver=0x895990, event=0x7fff38b14e00)
    at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kapplication.cpp:307
#19 0x00007f722918e468 in QCoreApplication::notifyInternal (this=0x7fff38b15db0, receiver=0x895990, event=0x7fff38b14e00) at kernel/qcoreapplication.cpp:593
#20 0x00007f7228125964 in QApplication::setStyle (style=<value optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#21 0x00007f7230533d6d in KGlobalSettings::Private::applyGUIStyle (this=0x68dfd0) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kglobalsettings.cpp:855
#22 0x00007f7230533e19 in KGlobalSettings::Private::kdisplaySetStyle (this=0x68dfd0) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kglobalsettings.cpp:946
#23 0x00007f72305356dc in KGlobalSettings::Private::_k_slotNotifyChange (this=0x68dfd0, changeType=2, arg=0)
    at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kglobalsettings.cpp:774
#24 0x00007f72305357b6 in KGlobalSettings::qt_metacall (this=0x68ea60, _c=QMetaObject::InvokeMetaMethod, _id=9, _a=0x7fff38b15100)
    at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs_build/kdeui/kglobalsettings.moc:91
#25 0x00007f72294a2237 in QDBusConnectionPrivate::deliverCall (this=0x630ff0, object=0x68ea60, msg=@0xc30918, metaTypes=@0xc30920, slotIdx=13) at qdbusintegrator.cpp:855
#26 0x00007f72294ac18f in QDBusCallDeliveryEvent::placeMetaCall (this=0x2000000000000000, object=0x20) at qdbusintegrator_p.h:136
#27 0x00007f722919fb82 in QObject::event (this=0x68ea60, e=0xc308d0) at kernel/qobject.cpp:1152
#28 0x00007f722811ed7e in QApplicationPrivate::notify_helper (this=0x647d60, receiver=0x68ea60, e=0xc308d0) at kernel/qapplication.cpp:3809
#29 0x00007f7228120c07 in QApplication::notify (this=0x7fff38b15db0, receiver=0x68ea60, e=0xc308d0) at kernel/qapplication.cpp:3774
#30 0x00007f72305103a1 in KApplication::notify (this=0x7fff38b15db0, receiver=0x68ea60, event=0xc308d0) at /var/tmp/portage/kde-base/kdelibs-9999/work/kdelibs-9999/kdeui/kernel/kapplication.cpp:307
#31 0x00007f722918e468 in QCoreApplication::notifyInternal (this=0x7fff38b15db0, receiver=0x68ea60, event=0xc308d0) at kernel/qcoreapplication.cpp:593
#32 0x00007f722918f689 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x6083b0) at kernel/qcoreapplication.h:215
#33 0x00007f72281abb1d in QEventDispatcherX11::processEvents (this=0x631730, flags=@0x7fff38b15b90) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:220
#34 0x00007f722918d825 in QEventLoop::processEvents (this=<value optimized out>, flags=@0x7fff38b15bd0) at kernel/qeventloop.cpp:149
#35 0x00007f722918d98a in QEventLoop::exec (this=0x7fff38b15c10, flags=@0x7fff38b15c20) at kernel/qeventloop.cpp:200
#36 0x00007f722918face in QCoreApplication::exec () at kernel/qcoreapplication.cpp:851
#37 0x00000000004034e8 in main (argc=<value optimized out>, argv=<value optimized out>) at /var/tmp/portage/kde-base/kmail-9999/work/kmail/kmail/main.cpp:146

Out of curiosity, how do I get rid of the "<value optimized out>" in the backtrace?
Comment 4 Dario Andres 2009-01-13 16:24:39 UTC
Can anyone still reproduce this bug using an updated build? Thanks :)
Comment 5 Jacopo De Simoi 2009-01-13 20:50:15 UTC
I'll get a new build as soon as I can and see if it works now. 
Comment 6 Jacopo De Simoi 2009-01-16 15:52:25 UTC
Fixed for me on 4.1.96 
 Thx
Comment 7 Dario Andres 2009-01-16 15:53:57 UTC
Closing as WORKSFORME. Please re-open the bug report if you experience this again. Thanks :)
Comment 8 Dario Andres 2009-01-18 22:35:36 UTC
*** Bug 181243 has been marked as a duplicate of this bug. ***
Comment 9 Dario Andres 2009-01-18 22:36:22 UTC
Look at bug 181243 for another report in KDE4.2RC
Comment 10 Jacopo De Simoi 2009-01-19 00:14:58 UTC
weird.. can it be a problem with different compilation options? Qt versions? 
as far as I can tell the reporter of bug 181243 and I should be using the same version of kde...
Previously I could reproduce the crash every time I tried, but maybe there is something else that triggers it, I'm gonna investigate more.
Comment 11 Dario Andres 2009-02-21 00:11:06 UTC
*** Bug 185070 has been marked as a duplicate of this bug. ***
Comment 12 Szymon Stefanek 2009-03-09 14:03:11 UTC
SVN commit 937301 by stefanek:

Don't crash when changing KStyle and an empty tab is displayed.
Fixes palindrome bug 176671.

BUG: 176671



 M  +4 -0      themedelegate.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=937301
Comment 13 Thomas McGuire 2009-03-11 15:25:02 UTC
SVN commit 938219 by tmcguire:

Backport r937301 by stefanek from trunk to the 4.2 branch:

Don't crash when changing KStyle and an empty tab is displayed.
Fixes palindrome bug 176671.

CCBUG: 176671




 M  +4 -0      themedelegate.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=938219