Bug 274868

Summary: Crash on saving a document
Product: [Applications] calligrawords Reporter: Gopalakrishna Bhat <gopalakbhat>
Component: generalAssignee: Calligra Words Bugs <calligra-words-bugs-null>
Status: RESOLVED FIXED    
Severity: major CC: halla, mail, maninc, sebsauer
Priority: NOR    
Version: Git   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:

Description Gopalakrishna Bhat 2011-06-03 21:33:59 UTC
Version:           svn (using KDE 4.6.0) 
OS:                Linux

Calligra Words crashed on saving on the Close Confirmation dialog

Reproducible: Always

Steps to Reproduce:
Open a blank document; type something; close word. A dialog pops up asking for close confirmation, on this dialog save the file and word will crash

Actual Results:  
Word crashed

Expected Results:  
Word should save the file

The backtrace I managed to obtain


Application: Words (words), signal: Segmentation fault
[Current thread is 1 (Thread 0xb78ce720 (LWP 16011))]

Thread 3 (Thread 0xb37eab70 (LWP 16013)):
#0  0x001cc416 in __kernel_vsyscall ()
#1  0x0082b481 in select () from /lib/libc.so.6
#2  0x009f87a5 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00923da2 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00b9ee99 in start_thread () from /lib/libpthread.so.0
#5  0x008325ae in clone () from /lib/libc.so.6

Thread 2 (Thread 0xb1accb70 (LWP 16018)):
#0  0x06757d31 in clock_gettime () from /lib/librt.so.1
#1  0x00979dd8 in ?? () from /usr/lib/libQtCore.so.4
#2  0x00a464f2 in ?? () from /usr/lib/libQtCore.so.4
#3  0x00a44d32 in ?? () from /usr/lib/libQtCore.so.4
#4  0x00a44dcd in ?? () from /usr/lib/libQtCore.so.4
#5  0x02c451e4 in g_main_context_prepare () from /lib/libglib-2.0.so.0
#6  0x02c46073 in ?? () from /lib/libglib-2.0.so.0
#7  0x02c46734 in g_main_context_iteration () from /lib/libglib-2.0.so.0
#8  0x00a45577 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#9  0x00a17289 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#10 0x00a17522 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#11 0x009212a0 in QThread::exec() () from /usr/lib/libQtCore.so.4
#12 0x009f8fdb in ?? () from /usr/lib/libQtCore.so.4
#13 0x00923da2 in ?? () from /usr/lib/libQtCore.so.4
#14 0x00b9ee99 in start_thread () from /lib/libpthread.so.0
#15 0x008325ae in clone () from /lib/libc.so.6

Thread 1 (Thread 0xb78ce720 (LWP 16011)):
[KCrash Handler]
#7  0x00000000 in ?? ()
#8  0x00a2ffd6 in QObject::~QObject() () from /usr/lib/libQtCore.so.4
#9  0x00a305b2 in QObject::~QObject() () from /usr/lib/libQtCore.so.4
#10 0x057be604 in ?? () from /usr/lib/libQtDBus.so.4
#11 0x057b7770 in QDBusConnection::~QDBusConnection() () from /usr/lib/libQtDBus.so.4
#12 0x057d937f in ?? () from /usr/lib/libQtDBus.so.4
#13 0x00a303f0 in QObject::~QObject() () from /usr/lib/libQtCore.so.4
#14 0x057d45e8 in QDBusAbstractInterface::~QDBusAbstractInterface() () from /usr/lib/libQtDBus.so.4
#15 0x057baf98 in QDBusConnectionInterface::~QDBusConnectionInterface() () from /usr/lib/libQtDBus.so.4
#16 0x057bafc2 in QDBusConnectionInterface::~QDBusConnectionInterface() () from /usr/lib/libQtDBus.so.4
#17 0x00a2bb87 in QObjectPrivate::deleteChildren() () from /usr/lib/libQtCore.so.4
#18 0x00a3039f in QObject::~QObject() () from /usr/lib/libQtCore.so.4
#19 0x057c2d13 in ?? () from /usr/lib/libQtDBus.so.4
#20 0x057c3062 in ?? () from /usr/lib/libQtDBus.so.4
#21 0x057be604 in ?? () from /usr/lib/libQtDBus.so.4
#22 0x057b7770 in QDBusConnection::~QDBusConnection() () from /usr/lib/libQtDBus.so.4
#23 0x057ba66f in ?? () from /usr/lib/libQtDBus.so.4
#24 0x007918bf in ?? () from /lib/libc.so.6
#25 0x0079191f in exit () from /lib/libc.so.6
#26 0x00778cee in __libc_start_main () from /lib/libc.so.6
#27 0x080484d1 in _start ()
Comment 1 Sebastian Sauer 2011-06-04 20:50:20 UTC
Cannot reproduce :-/
Comment 2 Gopalakrishna Bhat 2011-06-05 17:59:38 UTC
I can reproduce it always:( If I discard the changes on the dialog there is no crash.I had a look at it myself and found that KoMainWindow::closeEvent(QCloseEvent *e) is called and it returns successfully for both Save and Discard options. Even KoApplication destructor is called successfully
Comment 3 Halla Rempt 2011-08-16 11:37:53 UTC
By following Gopalakrishna's steps exactly I can reproduce: 

hread 1 (Thread 0x7f649c875760 (LWP 25406)):
[KCrash Handler]
#6  0x0000000000000000 in ?? ()
#7  0x00007f649b4fa3b3 in QObject::~QObject (this=0x817790, __in_chrg=<optimized out>) at kernel/qobject.cpp:861
#8  0x00007f649b4fa9a9 in QObject::~QObject (this=0x817790, __in_chrg=<optimized out>) at kernel/qobject.cpp:964
#9  0x00007f649832a940 in ~QDBusAbstractInterfacePrivate (this=0x80f920, __in_chrg=<optimized out>) at qdbusabstractinterface_p.h:87
#10 QDBusAbstractInterfacePrivate::~QDBusAbstractInterfacePrivate (this=0x80f920, __in_chrg=<optimized out>) at qdbusabstractinterface_p.h:87
#11 0x00007f649b4fa7f3 in cleanup (pointer=<optimized out>) at ../../src/corelib/tools/qscopedpointer.h:62
#12 ~QScopedPointer (this=0x81a3b8, __in_chrg=<optimized out>) at ../../src/corelib/tools/qscopedpointer.h:100
#13 QObject::~QObject (this=0x81a3b0, __in_chrg=<optimized out>) at kernel/qobject.cpp:818
#14 0x00007f649830cbc9 in QDBusConnectionInterface::~QDBusConnectionInterface (this=0x81a3b0, __in_chrg=<optimized out>) at qdbusconnectioninterface.cpp:179
#15 0x00007f649b4f5a54 in QObjectPrivate::deleteChildren (this=0x81fa70) at kernel/qobject.cpp:1955
#16 0x00007f649b4fa7a2 in QObject::~QObject (this=0x817790, __in_chrg=<optimized out>) at kernel/qobject.cpp:946
#17 0x00007f6498314abb in QDBusConnectionPrivate::~QDBusConnectionPrivate (this=0x817790, __in_chrg=<optimized out>) at qdbusintegrator.cpp:998
#18 0x00007f6498314df9 in QDBusConnectionPrivate::~QDBusConnectionPrivate (this=0x817790, __in_chrg=<optimized out>) at qdbusintegrator.cpp:1016
#19 0x00007f649830c3b0 in ~QDBusDefaultConnection (this=0x810780, __in_chrg=<optimized out>) at qdbusconnection.cpp:978
#20 QGlobalStaticDeleter<QDBusDefaultConnection>::~QGlobalStaticDeleter (this=0x7f649856bc38, __in_chrg=<optimized out>) at ../../src/corelib/global/qglobal.h:1824
#21 0x00007f6499e7d5a1 in __run_exit_handlers () from /lib64/libc.so.6
#22 0x00007f6499e7d5f5 in exit () from /lib64/libc.so.6
#23 0x0000000000407280 in _start ()
Comment 4 Mani 2011-08-25 16:19:01 UTC
I can reproduce this bug, Let me take a look at this bug.
Comment 5 Sebastian Sauer 2011-08-27 23:03:35 UTC
maybe a duplicate of bug 276214 ?
Comment 6 Mani 2011-08-28 05:35:48 UTC
Yea may be, same backtrace. 

More finding, this bug is not specific to Words, Crash happens with Table and Stage as well. And if you open any document and modify and try to save while closing also crah the application. But this scenario is not 100% reproducible
Comment 7 Gopalakrishna Bhat 2011-08-28 07:18:29 UTC
The original backtrace I reported was on Ubuntu. Now I have a Arch Linux installation and the back trace obtained is different.https://bugs.kde.org/show_bug.cgi?id=280462 .
Comment 8 Sebastian Sauer 2011-09-02 13:13:31 UTC
@Gopalakrishna

The crash from bug 280462 is unrelated to this crash. The backtrace is completely different.
Comment 9 Halla Rempt 2011-09-08 07:57:56 UTC
And now we've got a unittest that shows the same issue...
Comment 10 Camilla Boemann 2011-10-09 11:31:27 UTC
According to boud this should be fixed now
Comment 11 Gopalakrishna Bhat 2011-10-09 12:00:53 UTC
I can confirm that it is fixed