Bug 219729 - koffice(kword,KSpread) hangs when I move with toolbars/dockers
Summary: koffice(kword,KSpread) hangs when I move with toolbars/dockers
Status: RESOLVED DUPLICATE of bug 225025
Alias: None
Product: kdelibs
Classification: Frameworks and Libraries
Component: kdeui (show other bugs)
Version: 2.1
Platform: Compiled Sources Linux
: NOR normal
Target Milestone: ---
Assignee: KOffice Bug Wranglers
URL:
Keywords:
: 222833 222976 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-12-22 20:52 UTC by Martin Naď
Modified: 2010-01-31 20:40 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
gstack (88.64 KB, application/x-lzma-compressed-tar)
2009-12-22 20:55 UTC, Martin Naď
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Martin Naď 2009-12-22 20:52:42 UTC
Version:            (using Devel)
OS:                Linux
Installed from:    Compiled sources

Description of problem:
when I change position same toolbar koffice sometimes hangs

Version-Release number of selected component (if applicable):
koffice-core-2.1.0-2.fc12.x86_64
koffice-kpresenter-2.1.0-2.fc12.x86_64
koffice-kplato-2.1.0-2.fc12.x86_64
koffice-kformula-2.1.0-2.fc12.x86_64
koffice-krita-2.1.0-2.fc12.x86_64
koffice-langpack-en_GB-2.1.0-2.fc12.noarch
koffice-kword-2.1.0-2.fc12.x86_64
koffice-langpack-2.1.0-2.fc12.noarch
koffice-libs-2.1.0-2.fc12.x86_64
koffice-karbon-2.1.0-2.fc12.x86_64
koffice-suite-2.1.0-2.fc12.x86_64
koffice-kspread-2.1.0-2.fc12.x86_64
koffice-filters-2.1.0-2.fc12.x86_64
koffice-langpack-cs-2.0.0-2.fc12.noarch
[kde-redhat-testing]

How reproducible:
sometimes

Steps to Reproduce:
1.try to change position docker/toolbars and merge(merge evokes hangs
everytime)
2.koffice(kword,KSpread) hangs

Actual results:
kword,KSpread hangs
Comment 1 Martin Naď 2009-12-22 20:55:21 UTC
Created attachment 39254 [details]
gstack
Comment 2 Martin Naď 2009-12-22 21:03:36 UTC
maybe this simular to https://bugs.kde.org/show_bug.cgi?id=202723
but no crash
Comment 3 Thomas Zander 2009-12-22 21:12:31 UTC
heh. First time in my life I've seen a 7Mb backtrace (with #63548 levels).
Comment 4 Martin Naď 2009-12-22 21:25:21 UTC
sorry ,but I cant make bt becouse I don`t know how
Comment 5 Thomas Zander 2010-01-15 14:06:31 UTC
*** Bug 222833 has been marked as a duplicate of this bug. ***
Comment 6 Halla Rempt 2010-01-23 15:40:50 UTC
Hi, I experienced the same issue today. Do you know which version of Qt you are using?
Comment 7 Silver Salonen 2010-01-23 15:59:46 UTC
I use KOffice 2.1.1 and Qt 4.6.
Comment 8 Halla Rempt 2010-01-23 16:01:03 UTC
Thank you for the confirmation.
Comment 9 Cyrille Berger 2010-01-24 10:50:50 UTC
I can reproduce on a non KOffice application, but still KDE (darkroom). (and I have seen the problem with oxygen, qtcurve and plastique)
Comment 10 Cyrille Berger 2010-01-24 11:14:11 UTC
By continuing my investigation, I could see on darkroom, a flickering of the docker being added, then removed, then added, I tried to capture that on this video, but the flickering is a bit to quick:

http://cyrille.diwi.org/tmp/krita/darkroom-docker-bug.ogv

I did not manage to see the flickering in krita.
Comment 11 Cyrille Berger 2010-01-25 17:13:10 UTC
Investigating this further, I noticed that by commenting the call to KXmlGuiWindow::setupGUI() and KXmlGuiWindow::setAutoSaveSettings I would not get anymore hanging. So something bad is happening in those two functions.
Comment 12 Cyrille Berger 2010-01-25 18:19:55 UTC
Calling "resetAutoSaveSettings();" sort of fix the problem. But I have no clue why saving window settings would trigger that infinite loop.
Comment 13 Cyrille Berger 2010-01-25 19:01:59 UTC
Here is what I think trigger the loop: for some reason saveState remove one of the tab, most likely the tab of the newly stacked docker, and then later that tab is added again, triggering the need for saving again window settings:

#0  0xb5fddec1 in QTabBar::setCurrentIndex (this=0x83a31a8, index=0) at widgets/qtabbar.cpp:1179          
#1  0xb5fe4cf3 in QTabBar::removeTab (this=0x83a31a8, index=0) at widgets/qtabbar.cpp:891                 
#2  0xb5f59f9b in QDockAreaLayoutInfo::updateTabBar (this=0x83db5f0) at widgets/qdockarealayout.cpp:2116  
#3  0xb5f5a0e0 in QDockAreaLayoutInfo::tabBarSizeHint (this=0x83db5f0) at widgets/qdockarealayout.cpp:2186
#4  0xb5f5aab0 in QDockAreaLayoutInfo::maximumSize (this=0x83db5f0) at widgets/qdockarealayout.cpp:371    
#5  0xb5f5abcb in QDockAreaLayoutItem::maximumSize (this=0x84b2ce0) at widgets/qdockarealayout.cpp:154    
#6  0xb5f5b0ab in QDockAreaLayoutInfo::saveState (this=0x814b8d4, stream=...) at widgets/qdockarealayout.cpp:1841
#7  0xb5f5b2d1 in QDockAreaLayout::saveState (this=0x814b89c, stream=...) at widgets/qdockarealayout.cpp:2310    
#8  0xb5f8c647 in QMainWindowLayoutState::saveState (this=0x814b7f0, stream=...) at widgets/qmainwindowlayout.cpp:594
#9  0xb5f87a21 in QMainWindow::saveState (this=0x8185e18, version=0) at widgets/qmainwindow.cpp:1197                 
#10 0xb7e3dd22 in KMainWindow::saveMainWindowSettings (this=0x8185e18, _cg=...) at /usr/src/debug/kdelibs-4.3.95/kdeui/widgets/kmainwindow.cpp:675
#11 0xb7e3e3c0 in KMainWindow::saveAutoSaveSettings (this=0x8185e18) at /usr/src/debug/kdelibs-4.3.95/kdeui/widgets/kmainwindow.cpp:1033          
#12 0xb7e3e612 in KMainWindowPrivate::setSettingsDirty (this=0x815fce0, callCompression=NoCompressCalls)                                          
    at /usr/src/debug/kdelibs-4.3.95/kdeui/widgets/kmainwindow.cpp:409                                                                            
#13 0xb7e3e6ca in KMainWindow::setSettingsDirty (this=0x8185e18) at /usr/src/debug/kdelibs-4.3.95/kdeui/widgets/kmainwindow.cpp:971               
#14 0xb7e40950 in KMainWindow::qt_metacall (this=0x8185e18, _c=InvokeMetaMethod, _id=4, _a=0xbffa4d28)                                            
    at /usr/src/debug/kdelibs-4.3.95/build/kdeui/kmainwindow.moc:99                                                                               
#15 0xb7e91d02 in KXmlGuiWindow::qt_metacall (this=0x8185e18, _c=InvokeMetaMethod, _id=35, _a=0xbffa4d28)                                         
    at /usr/src/debug/kdelibs-4.3.95/build/kdeui/kxmlguiwindow.moc:102                                                                            
#16 0x0805f75f in Darkroom::qt_metacall (this=0x8185e18, _c=InvokeMetaMethod, _id=35, _a=0xbffa4d28)                                              
    at /home/cyrille/Projects/kde4/build/darkroom/src/Darkroom.moc:103                                                                            
#17 0xb574632d in QMetaObject::metacall (object=0x8185e18, cl=InvokeMetaMethod, idx=35, argv=0xbffa4d28) at kernel/qmetaobject.cpp:237            
#18 0xb575518a in QMetaObject::activate (sender=0x80f97d8, m=0xb644c0f8, local_signal_index=3, argv=0xbffa4d28) at kernel/qobject.cpp:3275        
#19 0xb5f515bd in QDockWidget::visibilityChanged (this=0x80f97d8, _t1=false) at .moc/release-shared/moc_qdockwidget.cpp:189                       
#20 0xb5f54c0e in QDockWidget::event (this=0x80f97d8, event=0xbffa5184) at widgets/qdockwidget.cpp:1396                                           
#21 0xb5afe2ac in QApplicationPrivate::notify_helper (this=0x80f5800, receiver=0x80f97d8, e=0xbffa5184) at kernel/qapplication.cpp:4298           
#22 0xb5b05188 in QApplication::notify (this=0x80f97d8, receiver=0x80f97d8, e=0xbffa5184) at kernel/qapplication.cpp:4263                         
#23 0xb7d3a511 in KApplication::notify (this=0xbfffee7c, receiver=0x80f97d8, event=0xbffa5184)                                                    
    at /usr/src/debug/kdelibs-4.3.95/kdeui/kernel/kapplication.cpp:302                                                                            
#24 0xb5740fbe in QCoreApplication::notifyInternal (this=0xbfffee7c, receiver=0x80f97d8, event=0xbffa5184) at kernel/qcoreapplication.cpp:704     
#25 0xb5b5d458 in sendEvent (event=<value optimized out>, receiver=0x8248ac0) at ../../src/corelib/kernel/qcoreapplication.h:215                  
#26 QWidgetPrivate::hide_helper (event=<value optimized out>, receiver=0x8248ac0) at kernel/qwidget.cpp:7262                                      
#27 0xb5b66db0 in QWidget::setVisible (this=0x80f97d8, visible=false) at kernel/qwidget.cpp:7435                                                  
#28 0xb5f54418 in hide (this=<value optimized out>) at ../../src/gui/kernel/qwidget.h:489                                                         
#29 QDockWidgetPrivate::setWindowState (this=<value optimized out>) at widgets/qdockwidget.cpp:1021                                               
#30 0xb5f548c7 in QDockWidgetPrivate::plug (this=0x8248ac0, rect=...) at widgets/qdockwidget.cpp:1004                                             
#31 0xb5f8e65d in QMainWindowLayout::animationFinished (this=0x814b7e0, widget=0x80f97d8) at widgets/qmainwindowlayout.cpp:1623                   
#32 0xb601e946 in QWidgetAnimator::abort (this=0x814bc70, w=0x80f97d8) at widgets/qwidgetanimator.cpp:64                                          
#33 0xb601e9c8 in QWidgetAnimator::animationFinished (this=0x814bc70) at widgets/qwidgetanimator.cpp:75                                           
---Type <return> to continue, or q <return> to quit---                                                                                            
#34 0xb6253d86 in QWidgetAnimator::qt_metacall (this=0x814bc70, _c=InvokeMetaMethod, _id=4, _a=0xbffa545c)
    at .moc/release-shared/moc_qwidgetanimator_p.cpp:72
#35 0xb574632d in QMetaObject::metacall (object=0x814bc70, cl=InvokeMetaMethod, idx=4, argv=0xbffa545c) at kernel/qmetaobject.cpp:237
#36 0xb575518a in QMetaObject::activate (sender=0x852fd08, m=0xb5854874, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3275
#37 0xb561a795 in QAbstractAnimation::finished (this=0x852fd08) at .moc/release-shared/moc_qabstractanimation.cpp:176
#38 0xb561b5f8 in QAbstractAnimationPrivate::setState (this=0x8546a30, newState=Stopped) at animation/qabstractanimation.cpp:410
#39 0xb561b74a in QAbstractAnimation::stop (this=0x852fd08) at animation/qabstractanimation.cpp:761
#40 0xb561b874 in QAbstractAnimation::setCurrentTime (this=0x852fd08, msecs=0) at animation/qabstractanimation.cpp:718
#41 0xb561b542 in QAbstractAnimationPrivate::setState (this=0x8546a30, newState=Running) at animation/qabstractanimation.cpp:395
#42 0xb601e5f8 in QWidgetAnimator::animate (this=0x814bc70, widget=0x80f97d8, _final_geometry=..., animate=200) at widgets/qwidgetanimator.cpp:102
#43 0xb5f5f55d in QDockAreaLayoutInfo::apply (this=0x83db5f0, animate=false) at widgets/qdockarealayout.cpp:1550
#44 0xb5f8ae4b in QMainWindowLayout::tabChanged (this=0x814b7e0) at widgets/qmainwindowlayout.cpp:1336
#45 0xb62507a6 in QMainWindowLayout::qt_metacall (this=0x814b7e0, _c=InvokeMetaMethod, _id=4, _a=0xbffa57f8)
    at .moc/release-shared/moc_qmainwindowlayout_p.cpp:72
#46 0xb574632d in QMetaObject::metacall (object=0x814b7e0, cl=InvokeMetaMethod, idx=4, argv=0xbffa57f8) at kernel/qmetaobject.cpp:237
#47 0xb575518a in QMetaObject::activate (sender=0x83a31a8, m=0xb644e080, local_signal_index=0, argv=0xbffa57f8) at kernel/qobject.cpp:3275
#48 0xb5fdb945 in QTabBar::currentChanged (this=0x83a31a8, _t1=0) at .moc/release-shared/moc_qtabbar.cpp:201
#49 0xb5fddec1 in QTabBar::setCurrentIndex (this=0x83a31a8, index=0) at widgets/qtabbar.cpp:1179
#50 0xb5f58277 in QDockAreaLayoutInfo::setCurrentTabId (this=0x83db5f0, id=135239640) at widgets/qdockarealayout.cpp:1122
#51 0xb5f8e6ba in QMainWindowLayout::animationFinished (this=0x814b7e0, widget=0x80f97d8) at widgets/qmainwindowlayout.cpp:1636
#52 0xb601e946 in QWidgetAnimator::abort (this=0x814bc70, w=0x80f97d8) at widgets/qwidgetanimator.cpp:64
#53 0xb601e9c8 in QWidgetAnimator::animationFinished (this=0x814bc70) at widgets/qwidgetanimator.cpp:75
#54 0xb6253d86 in QWidgetAnimator::qt_metacall (this=0x814bc70, _c=InvokeMetaMethod, _id=4, _a=0xbffa5a6c)
    at .moc/release-shared/moc_qwidgetanimator_p.cpp:72
#55 0xb574632d in QMetaObject::metacall (object=0x814bc70, cl=InvokeMetaMethod, idx=4, argv=0xbffa5a6c) at kernel/qmetaobject.cpp:237
#56 0xb575518a in QMetaObject::activate (sender=0x83a9670, m=0xb5854874, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3275
#57 0xb561a795 in QAbstractAnimation::finished (this=0x83a9670) at .moc/release-shared/moc_qabstractanimation.cpp:176
#58 0xb561b5f8 in QAbstractAnimationPrivate::setState (this=0x854a308, newState=Stopped) at animation/qabstractanimation.cpp:410
#59 0xb561b74a in QAbstractAnimation::stop (this=0x83a9670) at animation/qabstractanimation.cpp:761
#60 0xb561b874 in QAbstractAnimation::setCurrentTime (this=0x83a9670, msecs=0) at animation/qabstractanimation.cpp:718
#61 0xb561b542 in QAbstractAnimationPrivate::setState (this=0x854a308, newState=Running) at animation/qabstractanimation.cpp:395
#62 0xb601e5f8 in QWidgetAnimator::animate (this=0x814bc70, widget=0x80f97d8, _final_geometry=..., animate=200) at widgets/qwidgetanimator.cpp:102
#63 0xb5f5f55d in QDockAreaLayoutInfo::apply (this=0x83db5f0, animate=false) at widgets/qdockarealayout.cpp:1550
#64 0xb5f8ae4b in QMainWindowLayout::tabChanged (this=0x814b7e0) at widgets/qmainwindowlayout.cpp:1336
#65 0xb62507a6 in QMainWindowLayout::qt_metacall (this=0x814b7e0, _c=InvokeMetaMethod, _id=4, _a=0xbffa5e08)
    at .moc/release-shared/moc_qmainwindowlayout_p.cpp:72
#66 0xb574632d in QMetaObject::metacall (object=0x814b7e0, cl=InvokeMetaMethod, idx=4, argv=0xbffa5e08) at kernel/qmetaobject.cpp:237
#67 0xb575518a in QMetaObject::activate (sender=0x83a31a8, m=0xb644e080, local_signal_index=0, argv=0xbffa5e08) at kernel/qobject.cpp:3275
#68 0xb5fdb945 in QTabBar::currentChanged (this=0x83a31a8, _t1=0) at .moc/release-shared/moc_qtabbar.cpp:201
---Type <return> to continue, or q <return> to quit---

Unfortunately, there is no way to easilly browse commits to a file with qt's gitorious, so I can't really track what have changed. So my suggestion is to use resetAutoSaveSettings() in koffice/branch/2.1, and for 2.2 hopes that someone will keep the investigation from here.
Comment 14 Cyrille Berger 2010-01-28 23:57:48 UTC
*** Bug 222976 has been marked as a duplicate of this bug. ***
Comment 15 Christoph Feck 2010-01-31 20:40:07 UTC
Thanks for the investigation, it is likely a kdelibs bug which is tracked as bug 225025. It has a proposed fix, please test it.

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