Bug 389671 - crash quitting Calligrasheets with unsaved path tool edit when two documents open
Summary: crash quitting Calligrasheets with unsaved path tool edit when two documents ...
Status: REPORTED
Alias: None
Product: calligrasheets
Classification: Applications
Component: general (show other bugs)
Version: 3.2.1
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: ---
Assignee: Calligra Sheets (KSpread) Bugs
URL:
Keywords: drkonqi
: 389672 (view as bug list)
Depends on:
Blocks:
 
Reported: 2018-01-31 07:28 UTC by skierpage
Modified: 2021-01-05 06:10 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description skierpage 2018-01-31 07:28:24 UTC
Application: calligrasheets (3.0.1)

Qt Version: 5.9.2
Frameworks Version: 5.42.0
Operating System: Linux 4.14.14-300.fc27.x86_64 x86_64
Distribution: "Fedora release 27 (Twenty Seven)"

-- Information about the crash:
I had never used this before. I started a new document from "Student ID Card" template and fiddles around a bit, then File > New and created another from "Blank Worksheet".I clicked the (X) window decoration button on I think the Student ID Card, confirmed I wanted to discard my work, and crash. The console output was just
  KCrash: Application 'calligrasheets' crashing...
  KCrash: Attempting to start /usr/libexec/drkonqi from kdeinit
  sock_file=/run/user/1000/kdeinit5__0

I immediately repeated similar steps only opening one window, and no crash. I repeated but again opened a second window with File > New and had unsaved edits in both, and that crashed as well.

The crash does not seem to be reproducible.

-- Backtrace:
Application: Calligra Sheets (calligrasheets), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f0b2556e940 (LWP 5934))]

Thread 3 (Thread 0x7f0afe12d700 (LWP 5936)):
#0  0x00007f0b12739e0e in g_source_iter_next () from /lib64/libglib-2.0.so.0
#1  0x00007f0b1273c33b in g_main_context_prepare () from /lib64/libglib-2.0.so.0
#2  0x00007f0b1273cdcb in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#3  0x00007f0b1273cfac in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#4  0x00007f0b1c0ff35b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#5  0x00007f0b1c0ad0ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#6  0x00007f0b1befe8ba in QThread::exec() () from /lib64/libQt5Core.so.5
#7  0x00007f0b1de46479 in QDBusConnectionManager::run() () from /lib64/libQt5DBus.so.5
#8  0x00007f0b1bf02b92 in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#9  0x00007f0b1922e61b in start_thread () from /lib64/libpthread.so.0
#10 0x00007f0b1b2a098f in clone () from /lib64/libc.so.6

Thread 2 (Thread 0x7f0b05288700 (LWP 5935)):
#0  0x00007f0b1b2943db in poll () from /lib64/libc.so.6
#1  0x00007f0b16bd9fe7 in _xcb_conn_wait () from /lib64/libxcb.so.1
#2  0x00007f0b16bdbdda in xcb_wait_for_event () from /lib64/libxcb.so.1
#3  0x00007f0b06f73a49 in QXcbEventReader::run() () from /lib64/libQt5XcbQpa.so.5
#4  0x00007f0b1bf02b92 in QThreadPrivate::start(void*) () from /lib64/libQt5Core.so.5
#5  0x00007f0b1922e61b in start_thread () from /lib64/libpthread.so.0
#6  0x00007f0b1b2a098f in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7f0b2556e940 (LWP 5934)):
[KCrash Handler]
#6  0x00007f0b1cbaca10 in vtable for QPaintDevice () from /lib64/libQt5Gui.so.5
#7  0x00007f0afc80425d in Calligra::Sheets::CanvasBase::updateCanvas(QRectF const&) () from /lib64/libcalligrasheetscommon.so.15
#8  0x00007f0b242e0fa8 in KoPathTool::repaint(QRectF const&) () from /lib64/libflake.so.15
#9  0x00007f0b242e6cf9 in KoPathToolSelection::repaint() () from /lib64/libflake.so.15
#10 0x00007f0b242e6d6e in KoPathToolSelection::clear() () from /lib64/libflake.so.15
#11 0x00007f0b242e114b in KoPathTool::deactivate() () from /lib64/libflake.so.15
#12 0x00007f0b2426b9cb in KoToolManager::Private::disconnectActiveTool() () from /lib64/libflake.so.15
#13 0x00007f0b2426eefe in KoToolManager::Private::switchCanvasData(CanvasData*) () from /lib64/libflake.so.15
#14 0x00007f0b24270bbb in KoToolManager::Private::detachCanvas(KoCanvasController*) () from /lib64/libflake.so.15
#15 0x00007f0afc82dd36 in Calligra::Sheets::View::~View() () from /lib64/libcalligrasheetscommon.so.15
#16 0x00007f0afc82e019 in Calligra::Sheets::View::~View() () from /lib64/libcalligrasheetscommon.so.15
#17 0x00007f0b24f15388 in KoMainWindow::setRootDocument(KoDocument*, KoPart*, bool) () from /lib64/libkomain.so.15
#18 0x00007f0b24f173e8 in KoMainWindow::closeEvent(QCloseEvent*) () from /lib64/libkomain.so.15
#19 0x00007f0b1cd55e28 in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#20 0x00007f0b1ce6995b in QMainWindow::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#21 0x00007f0b204de0c7 in KMainWindow::event(QEvent*) () from /lib64/libKF5XmlGui.so.5
#22 0x00007f0b20522e75 in KXmlGuiWindow::event(QEvent*) () from /lib64/libKF5XmlGui.so.5
#23 0x00007f0b1cd176ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#24 0x00007f0b1cd1eef4 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#25 0x00007f0b24efeff7 in KoApplication::notify(QObject*, QEvent*) () from /lib64/libkomain.so.15
#26 0x00007f0b1c0ae367 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#27 0x00007f0b1cd51601 in QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) () from /lib64/libQt5Widgets.so.5
#28 0x00007f0b1cd70240 in QWidgetWindow::handleCloseEvent(QCloseEvent*) () from /lib64/libQt5Widgets.so.5
#29 0x00007f0b1cd73321 in QWidgetWindow::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#30 0x00007f0b1cd176ac in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#31 0x00007f0b1cd1eef4 in QApplication::notify(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#32 0x00007f0b24efeff7 in KoApplication::notify(QObject*, QEvent*) () from /lib64/libkomain.so.15
#33 0x00007f0b1c0ae367 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#34 0x00007f0b1c5fb882 in QGuiApplicationPrivate::processCloseEvent(QWindowSystemInterfacePrivate::CloseEvent*) () from /lib64/libQt5Gui.so.5
#35 0x00007f0b1c600365 in QGuiApplicationPrivate::processWindowSystemEvent(QWindowSystemInterfacePrivate::WindowSystemEvent*) () from /lib64/libQt5Gui.so.5
#36 0x00007f0b1c5da1ab in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Gui.so.5
#37 0x00007f0b06fd67d0 in userEventSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5XcbQpa.so.5
#38 0x00007f0b1273cb77 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#39 0x00007f0b1273cf20 in g_main_context_iterate.isra () from /lib64/libglib-2.0.so.0
#40 0x00007f0b1273cfac in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#41 0x00007f0b1c0ff33f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#42 0x00007f0b1c0ad0ea in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#43 0x00007f0b1c0b5744 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#44 0x00007f0b251a9273 in kdemain () from /lib64/libkdeinit5_calligrasheets.so
#45 0x00007f0b1b1aa00a in __libc_start_main () from /lib64/libc.so.6
#46 0x0000555dd2cb0efa in _start ()

Reported using DrKonqi
Comment 1 Christoph Feck 2018-02-14 15:05:25 UTC
*** Bug 389672 has been marked as a duplicate of this bug. ***
Comment 2 Justin Zobel 2020-12-17 05:33:52 UTC
Thank you for the crash report.

As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved.

I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you.
Comment 3 Bug Janitor Service 2021-01-01 04:38:02 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 4 skierpage 2021-01-05 06:10:05 UTC
(In reply to Justin Zobel from comment #2)
> Thank you for the crash report.
> 
> can you please test and
> confirm if this issue is still occurring or if this bug report can be marked
> as resolved.

Calligra Sheets version 3.2.1 still crashes, but only if I've made an unsaved edit with the Path tool in one of the documents, as I remarked in Bug 389672. If I just add text to a cell in each document and close one confirming Discard Edits, it works as expected. I'll change this bug's summary. In bug 389672, @ Christoph Feck commented
> Indeed a duplicate; path object references already deleted widget.
which sounds plausible.

In the KDE Crash Handler, the stack trace is:
Application: Calligra Sheets (calligrasheets), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f82d4f417fe in Calligra::Sheets::CanvasBase::updateCanvas(QRectF const&) () from /lib64/libcalligrasheetscommon.so.17
#5  0x00007f82d5061c1d in KoCreatePathTool::cancelPath() () from /lib64/libbasicflakes.so.17
#6  0x00007f82e9eae3d5 in KoToolManager::Private::disconnectActiveTool() () from /lib64/libflake.so.17
#7  0x00007f82e9eb204e in KoToolManager::Private::switchCanvasData(CanvasData*) () from /lib64/libflake.so.17
#8  0x00007f82e9eb7b8a in KoToolManager::Private::detachCanvas(KoCanvasController*) () from /lib64/libflake.so.17
#9  0x00007f82d4f672fb in Calligra::Sheets::View::~View() () from /lib64/libcalligrasheetscommon.so.17
#10 0x00007f82d4f6777d in Calligra::Sheets::View::~View() () from /lib64/libcalligrasheetscommon.so.17
#11 0x00007f82eb5c6a9e in KoMainWindow::setRootDocument(KoDocument*, KoPart*, bool) () from /lib64/libkomain.so.17
#12 0x00007f82eb5d4c75 in KoMainWindow::closeEvent(QCloseEvent*) () from /lib64/libkomain.so.17
#13 0x00007f82ead19b1e in QWidget::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#14 0x00007f82e993f08d in KXmlGuiWindow::event(QEvent*) () from /lib64/libKF5XmlGui.so.5
#15 0x00007f82eacd8ec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#16 0x00007f82eb5b248d in KoApplication::notify(QObject*, QEvent*) () from /lib64/libkomain.so.17
#17 0x00007f82ea857bd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#18 0x00007f82ead14e65 in QWidgetPrivate::close_helper(QWidgetPrivate::CloseMode) () from /lib64/libQt5Widgets.so.5
#19 0x00007f82ead35818 in QWidgetWindow::event(QEvent*) () from /lib64/libQt5Widgets.so.5
#20 0x00007f82eacd8ec3 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /lib64/libQt5Widgets.so.5
#21 0x00007f82eb5b248d in KoApplication::notify(QObject*, QEvent*) () from /lib64/libkomain.so.17
#22 0x00007f82ea857bd8 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () from /lib64/libQt5Core.so.5
#23 0x00007f82e909d53d in QGuiApplicationPrivate::processCloseEvent(QWindowSystemInterfacePrivate::CloseEvent*) () from /lib64/libQt5Gui.so.5
#24 0x00007f82e90818cc in QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Gui.so.5
#25 0x00007f82d79cb47e in xcbSourceDispatch(_GSource*, int (*)(void*), void*) () from /lib64/libQt5XcbQpa.so.5
#26 0x00007f82e803396f in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#27 0x00007f82e8085758 in g_main_context_iterate.constprop () from /lib64/libglib-2.0.so.0
#28 0x00007f82e8030d43 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#29 0x00007f82ea8a46f3 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#30 0x00007f82ea85657b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /lib64/libQt5Core.so.5
#31 0x00007f82ea85e1b4 in QCoreApplication::exec() () from /lib64/libQt5Core.so.5
#32 0x00007f82eb817dc9 in kdemain () from /lib64/libkdeinit5_calligrasheets.so
#33 0x00007f82eb6701e2 in __libc_start_main () from /lib64/libc.so.6
#34 0x000056161fecb0ae in _start ()

which is similar but different to the thread 1 stack in comment #0.