Bug 336145 - Calligra Words crashes when two documents are open and one is closed without saving changes
Summary: Calligra Words crashes when two documents are open and one is closed without ...
Status: RESOLVED FIXED
Alias: None
Product: calligrawords
Classification: Applications
Component: general (show other bugs)
Version: 2.8.2
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Calligra Words Bugs
URL:
Keywords: drkonqi
: 337039 337968 340959 345971 353105 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-06-12 23:03 UTC by David H. Gutteridge
Modified: 2015-09-23 20:07 UTC (History)
10 users (show)

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


Attachments
backtrace for bug #335145 (8.08 KB, text/plain)
2014-07-31 02:13 UTC, John Osborne
Details
New crash information added by DrKonqi (4.04 KB, text/plain)
2015-06-17 00:48 UTC, Marcus Harrison
Details

Note You need to log in before you can comment on or make changes to this bug.
Description David H. Gutteridge 2014-06-12 23:03:50 UTC
Application: calligrawords (2.8.2)
KDE Platform Version: 4.12.5
Qt Version: 4.8.6
Operating System: Linux 3.14.6-200.fc20.x86_64 x86_64
Distribution (Platform): Fedora RPMs

-- Information about the crash:
Steps to reproduce crash:

(1) Start Calligra Words.
(2) Create a new document (I'm using the "Custom Document" template).
(3) Create a second new document, as per step 2.
(4) Choose "Close" while in the second document, without having saved changes.
(5) Segfault occurs.

The crash can be reproduced every time.

-- Backtrace:
Application: Calligra Words (calligrawords), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[KCrash Handler]
#5  0x00007f4aae4769b1 in KActionCollection::addAction(QString const&, QAction*) () from /lib64/libkdeui.so.5
#6  0x00007f4aae477409 in KActionCollection::addAction(QString const&, KAction*) () from /lib64/libkdeui.so.5
#7  0x00007f4a8dd62368 in KoToolManager::Private::disconnectActiveTool() () from /lib64/libflake.so.13
#8  0x00007f4a8dd64526 in KoToolManager::Private::switchCanvasData(CanvasData*) () from /lib64/libflake.so.13
#9  0x00007f4a8dd64c27 in KoToolManager::Private::detachCanvas(KoCanvasController*) () from /lib64/libflake.so.13
#10 0x00007f4a8dd64d45 in KoToolManager::removeCanvasController(KoCanvasController*) () from /lib64/libflake.so.13
#11 0x00007f4a86e20475 in KWGui::~KWGui() () from /lib64/libwordsprivate.so.13
#12 0x00007f4a86e204a9 in KWGui::~KWGui() () from /lib64/libwordsprivate.so.13
#13 0x00007f4aad51d2f8 in QObjectPrivate::deleteChildren() () from /lib64/libQtCore.so.4
#14 0x00007f4aac69a077 in QWidget::~QWidget() () from /lib64/libQtGui.so.4
#15 0x00007f4a86e27219 in KWView::~KWView() () from /lib64/libwordsprivate.so.13
#16 0x00007f4a8e904086 in KoMainWindow::setRootDocument(KoDocument*, KoPart*, bool) () from /lib64/libkomain.so.13
#17 0x00007f4a8e907b41 in KoMainWindow::slotFileClose() () from /lib64/libkomain.so.13
#18 0x00007f4a8e916625 in KoMainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) () from /lib64/libkomain.so.13
#19 0x00007f4aad51a938 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /lib64/libQtCore.so.4
#20 0x00007f4aac644872 in QAction::triggered(bool) () from /lib64/libQtGui.so.4
#21 0x00007f4aac646427 in QAction::activate(QAction::ActionEvent) () from /lib64/libQtGui.so.4
#22 0x00007f4aaca904fd in QMenuPrivate::activateCausedStack(QList<QPointer<QWidget> > const&, QAction*, QAction::ActionEvent, bool) () from /lib64/libQtGui.so.4
#23 0x00007f4aaca94d99 in QMenuPrivate::activateAction(QAction*, QAction::ActionEvent, bool) () from /lib64/libQtGui.so.4
#24 0x00007f4aae61abbb in KMenu::mouseReleaseEvent(QMouseEvent*) () from /lib64/libkdeui.so.5
#25 0x00007f4aac69dd78 in QWidget::event(QEvent*) () from /lib64/libQtGui.so.4
#26 0x00007f4aaca98deb in QMenu::event(QEvent*) () from /lib64/libQtGui.so.4
#27 0x00007f4aac64ae7c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#28 0x00007f4aac651921 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQtGui.so.4
#29 0x00007f4a8e8d4917 in KoApplication::notify(QObject*, QEvent*) () from /lib64/libkomain.so.13
#30 0x00007f4aad505ebd in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /lib64/libQtCore.so.4
#31 0x00007f4aac651097 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /lib64/libQtGui.so.4
#32 0x00007f4aac6c6a9c in QETWidget::translateMouseEvent(_XEvent const*) () from /lib64/libQtGui.so.4
#33 0x00007f4aac6c51dc in QApplication::x11ProcessEvent(_XEvent*) () from /lib64/libQtGui.so.4
#34 0x00007f4aac6ecbe4 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQtGui.so.4
#35 0x00007f4aa7e332a6 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#36 0x00007f4aa7e33628 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#37 0x00007f4aa7e336dc in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#38 0x00007f4aad534ad5 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#39 0x00007f4aac6ecd66 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtGui.so.4
#40 0x00007f4aad50495f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#41 0x00007f4aad504cad in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQtCore.so.4
#42 0x00007f4aad50a399 in QCoreApplication::exec() () from /lib64/libQtCore.so.4
#43 0x00007f4a8ebcc0c5 in kdemain () from /usr/lib64/libkdeinit4_calligrawords.so
#44 0x0000000000408246 in launch(int, char const*, char const*, char const*, int, char const*, bool, char const*, bool, char const*) ()
#45 0x000000000040911b in handle_launcher_request(int, char const*) [clone .isra.13] ()
#46 0x0000000000409772 in handle_requests(int) ()
#47 0x00000000004052ea in main ()

Reported using DrKonqi
Comment 1 Christoph Feck 2014-07-17 16:53:47 UTC
*** Bug 337039 has been marked as a duplicate of this bug. ***
Comment 2 David H. Gutteridge 2014-07-29 05:46:22 UTC
Retesting shows this bug still exists with version 2.8.5 on Fedora 20. Given this bug has been marked duplicated, shouldn't it be considered confirmed?
Comment 3 John Osborne 2014-07-31 02:13:21 UTC
Created attachment 88045 [details]
backtrace for bug #335145

Duplicated this bug/crash on KMint17, KDE version 4.13.2, CalligraWords 2.8.1, my backtrace is slightly different from the original, so I've attached it as a text file.
Comment 4 Christoph Feck 2014-08-02 19:22:12 UTC
*** Bug 337968 has been marked as a duplicate of this bug. ***
Comment 5 David H. Gutteridge 2014-09-28 23:49:26 UTC
This bug still exists with 2.8.6.
Comment 6 Camilla Boemann 2015-01-22 18:32:28 UTC
exist in upcoming 2.9 as well
Comment 7 Camilla Boemann 2015-03-27 11:44:36 UTC
*** Bug 340959 has been marked as a duplicate of this bug. ***
Comment 8 Camilla Boemann 2015-04-08 08:00:31 UTC
*** Bug 345971 has been marked as a duplicate of this bug. ***
Comment 9 Marcus Harrison 2015-06-17 00:48:38 UTC
Created attachment 93205 [details]
New crash information added by DrKonqi

calligrawords (2.9.4) on KDE Platform 4.14.9 using Qt 4.8.6

- What I was doing when the application crashed:

Had two different documents open at the same time. Closed one window, causing the application to crash.

-- Backtrace (Reduced):
#6  0x0000003fb40c3b33 in QString::operator<(QString const&) const () at /lib64/libQtCore.so.4
#7  0x0000003ca2966dad in KActionCollection::addAction(QString const&, QAction*) () at /lib64/libkdeui.so.5
#8  0x0000003ca29675b9 in KActionCollection::addAction(QString const&, KAction*) () at /lib64/libkdeui.so.5
#9  0x0000003524ecb1ec in KoToolManager::Private::disconnectActiveTool() () at /lib64/libflake.so.14
#10 0x0000003524ecd7c7 in KoToolManager::Private::switchCanvasData(CanvasData*) () at /lib64/libflake.so.14
Comment 10 David H. Gutteridge 2015-06-17 01:48:16 UTC
This issue doesn't just affect Calligra Words, but also Sheets. (At least, I just hit this very same problem in Sheets 2.9.5.)
Comment 11 Camilla Boemann 2015-06-20 10:04:30 UTC
this bug was introduced in commit 16a8d2750a23d0f8ea1379460d505c58dedd6f91

almost 2 years ago when Krita merged their gemini and sketch branches

No It's a big commit so this we are only halfway to figuring out what goes wrong and only then can we try to fix it
Comment 12 Camilla Boemann 2015-06-20 20:24:39 UTC
hmm no, it's cda6c62f99fcbd6dbce234961cb06a6c93b30ef3

the mvc branch
Comment 13 Camilla Boemann 2015-06-24 17:26:25 UTC
yay i have fix in words
 but someone said it was in sheets too ?
Comment 14 Camilla Boemann 2015-06-24 18:41:42 UTC
Git commit 9b0ac83bf5fb12dc258d631f6cd9f5017ab65bd8 by C. Boemann.
Committed on 24/06/2015 at 18:41.
Pushed by boemann into branch 'calligra/2.9'.

Fix crash on closing a second document

We accidentially deleted the actions too early. The actions were delete before
m_gui. The fix is to move the accessing to the destructor of the view where the actions are
still around.

M  +0    -1    words/part/KWGui.cpp
M  +2    -0    words/part/KWView.cpp

http://commits.kde.org/calligra/9b0ac83bf5fb12dc258d631f6cd9f5017ab65bd8
Comment 15 Camilla Boemann 2015-06-24 18:46:39 UTC
as for sheets  it's a similar but different bug - i tried solving it too, but ended up wit another bug so i gave up after discussing with the maintainer
Comment 16 Camilla Boemann 2015-09-23 20:07:29 UTC
*** Bug 353105 has been marked as a duplicate of this bug. ***