Bug 421083 - Karbon crashes on closing a svg fail after selecting any of its parts
Summary: Karbon crashes on closing a svg fail after selecting any of its parts
Status: RESOLVED FIXED
Alias: None
Product: karbon
Classification: Applications
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Neon Linux
: NOR crash
Target Milestone: ---
Assignee: Jan Hambrecht
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2020-05-05 20:42 UTC by avlas
Modified: 2020-05-15 07:28 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 3.2.1
Sentry Crash Report:


Attachments
Karbon's icon (3.61 KB, image/svg+xml)
2020-05-05 21:15 UTC, avlas
Details

Note You need to log in before you can comment on or make changes to this bug.
Description avlas 2020-05-05 20:42:06 UTC
Application: karbon (3.2.0)

Qt Version: 5.14.2
Frameworks Version: 5.69.0
Operating System: Linux 5.3.0-46-generic x86_64
Windowing system: X11
Distribution: KDE neon User Edition 5.18

-- Information about the crash:
- What I was doing when the application crashed:

1. I opened a svg file (any as far as I can say)

2. I selected any item

3. I closed the file

The crash can be reproduced every time.

-- Backtrace:
Application: Karbon (karbon), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f3fa99da800 (LWP 10505))]

Thread 5 (Thread 0x7f3f73f95700 (LWP 13099)):
#0  0x00007f3fa93320b4 in __GI___libc_read (fd=19, buf=0x7f3f73f94b90, nbytes=16) at ../sysdeps/unix/sysv/linux/read.c:27
#1  0x00007f3fa085f2b0 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3fa081a0b7 in g_main_context_check () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3fa081a570 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f3fa081a6dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007f3fa7d5a44b in QEventDispatcherGlib::processEvents (this=0x7f3f6c987f20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#6  0x00007f3fa7cf99aa in QEventLoop::exec (this=this@entry=0x7f3f73f94da0, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#7  0x00007f3fa7b0a3d7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:536
#8  0x00007f3fa7b0b8ac in QThreadPrivate::start (arg=0x55e0a7219280) at thread/qthread_unix.cpp:342
#9  0x00007f3fa1f8c6db in start_thread (arg=0x7f3f73f95700) at pthread_create.c:463
#10 0x00007f3fa934388f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 4 (Thread 0x7f3f7d8e4700 (LWP 10524)):
#0  0x00007f3fa1f929f3 in futex_wait_cancelable (private=<optimized out>, expected=0, futex_word=0x55e0a2d0ef28) at ../sysdeps/unix/sysv/linux/futex-internal.h:88
#1  __pthread_cond_wait_common (abstime=0x0, mutex=0x55e0a2d0eed8, cond=0x55e0a2d0ef00) at pthread_cond_wait.c:502
#2  __pthread_cond_wait (cond=0x55e0a2d0ef00, mutex=0x55e0a2d0eed8) at pthread_cond_wait.c:655
#3  0x00007f3f7ed97ecb in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#4  0x00007f3f7ed97ac7 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so
#5  0x00007f3fa1f8c6db in start_thread (arg=0x7f3f7d8e4700) at pthread_create.c:463
#6  0x00007f3fa934388f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 3 (Thread 0x7f3f8bfff700 (LWP 10507)):
#0  0x00007f3fa9336bf9 in __GI___poll (fds=0x7f3f8402f780, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f3fa081a5c9 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f3fa081a6dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f3fa7d5a44b in QEventDispatcherGlib::processEvents (this=0x7f3f84000b20, flags=...) at kernel/qeventdispatcher_glib.cpp:425
#4  0x00007f3fa7cf99aa in QEventLoop::exec (this=this@entry=0x7f3f8bffed70, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#5  0x00007f3fa7b0a3d7 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:536
#6  0x00007f3fa25db555 in ?? () from /usr/lib/x86_64-linux-gnu/libQt5DBus.so.5
#7  0x00007f3fa7b0b8ac in QThreadPrivate::start (arg=0x7f3fa2853da0) at thread/qthread_unix.cpp:342
#8  0x00007f3fa1f8c6db in start_thread (arg=0x7f3f8bfff700) at pthread_create.c:463
#9  0x00007f3fa934388f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 2 (Thread 0x7f3f93852700 (LWP 10506)):
#0  0x00007f3fa9336bf9 in __GI___poll (fds=0x7f3f93851ca8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x00007f3f99b4d747 in ?? () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#2  0x00007f3f99b4f36a in xcb_wait_for_event () from /usr/lib/x86_64-linux-gnu/libxcb.so.1
#3  0x00007f3f95fb0fd0 in QXcbEventQueue::run (this=0x55e0a2b0bfb0) at qxcbeventqueue.cpp:228
#4  0x00007f3fa7b0b8ac in QThreadPrivate::start (arg=0x55e0a2b0bfb0) at thread/qthread_unix.cpp:342
#5  0x00007f3fa1f8c6db in start_thread (arg=0x7f3f93852700) at pthread_create.c:463
#6  0x00007f3fa934388f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95

Thread 1 (Thread 0x7f3fa99da800 (LWP 10505)):
[KCrash Handler]
#6  0x00007f3f8a76a114 in KoPACanvasBase::viewConverter (this=0x55e0a4a8c1f0) at ./libs/pageapp/KoPACanvasBase.cpp:139
#7  0x00007f3f8a767bf8 in KoPACanvas::inputMethodQuery (this=0x55e0a4a8c1c0, query=Qt::ImEnabled) at ./libs/pageapp/KoPACanvas.cpp:184
#8  0x00007f3fa836fff9 in QWidget::event (this=0x55e0a4a8c1c0, event=0x7ffc99d9e150) at kernel/qwidget.cpp:8745
#9  0x00007f3fa832e9ac in QApplicationPrivate::notify_helper (this=this@entry=0x55e0a2aff400, receiver=receiver@entry=0x55e0a4a8c1c0, e=e@entry=0x7ffc99d9e150) at kernel/qapplication.cpp:3685
#10 0x00007f3fa8335bb0 in QApplication::notify (this=0x7ffc99d9ef00, receiver=0x55e0a4a8c1c0, e=0x7ffc99d9e150) at kernel/qapplication.cpp:3431
#11 0x00007f3fa8f7af37 in KoApplication::notify (this=<optimized out>, receiver=0x55e0a4a8c1c0, event=0x7ffc99d9e150) at ./libs/main/KoApplication.cpp:674
#12 0x00007f3fa7cfb128 in QCoreApplication::notifyInternal2 (receiver=0x55e0a4a8c1c0, event=0x7ffc99d9e150) at kernel/qcoreapplication.cpp:1075
#13 0x00007f3fa7cfb2fe in QCoreApplication::sendEvent (receiver=receiver@entry=0x55e0a4a8c1c0, event=event@entry=0x7ffc99d9e150) at kernel/qcoreapplication.cpp:1470
#14 0x00007f3fa2997670 in QInputMethodPrivate::objectAcceptsInputMethod (object=object@entry=0x55e0a4a8c1c0) at kernel/qinputmethod.cpp:409
#15 0x00007f3fa297309e in QGuiApplicationPrivate::_q_updateFocusObject (this=<optimized out>, object=0x55e0a4a8c1c0) at kernel/qguiapplication.cpp:4190
#16 0x00007f3fa2976cb0 in QGuiApplication::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=<optimized out>) at .moc/moc_qguiapplication.cpp:186
#17 0x00007f3fa7d36139 in doActivate<false> (sender=0x55e0a2e660a0, signal_index=19, argv=0x7ffc99d9e2e0) at kernel/qobject.cpp:3882
#18 0x00007f3fa7d30c12 in QMetaObject::activate (sender=sender@entry=0x55e0a2e660a0, m=m@entry=0x7f3fa30f57e0 <QWindow::staticMetaObject>, local_signal_index=local_signal_index@entry=16, argv=argv@entry=0x7ffc99d9e2e0) at kernel/qobject.cpp:3930
#19 0x00007f3fa2980312 in QWindow::focusObjectChanged (this=this@entry=0x55e0a2e660a0, _t1=<optimized out>) at .moc/moc_qwindow.cpp:825
#20 0x00007f3fa836a213 in QWidget::clearFocus (this=this@entry=0x55e0a706c200) at kernel/qwidget.cpp:6509
#21 0x00007f3fa836b248 in QWidget::~QWidget (this=0x55e0a706c200, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1467
#22 0x00007f3f8abcded9 in KarbonView::~KarbonView (this=0x55e0a706c200, __in_chrg=<optimized out>) at ./karbon/ui/KarbonView.cpp:271
#23 0x00007f3fa7d2a96b in QObjectPrivate::deleteChildren (this=this@entry=0x55e0a4a4f380) at kernel/qobject.cpp:2123
#24 0x00007f3fa836b366 in QWidget::~QWidget (this=0x55e0a6fd6110, __in_chrg=<optimized out>) at kernel/qwidget.cpp:1530
#25 0x00007f3f8abd7929 in ProxyView::~ProxyView (this=0x55e0a6fd6110, __in_chrg=<optimized out>) at ./karbon/ui/ProxyView.cpp:37
#26 0x00007f3fa8f913db in KoMainWindow::setRootDocument (this=this@entry=0x55e0a2c610e0, doc=doc@entry=0x0, part=part@entry=0x0, deletePrevious=deletePrevious@entry=true) at ./libs/main/KoMainWindow.cpp:547
#27 0x00007f3fa8f937f1 in KoMainWindow::slotFileClose (this=0x55e0a2c610e0) at ./libs/main/KoMainWindow.cpp:1384
#28 0x00007f3fa8feda31 in KoMainWindow::qt_static_metacall (_o=<optimized out>, _c=<optimized out>, _id=<optimized out>, _a=0x7ffc99d9e690) at ./obj-x86_64-linux-gnu/libs/main/komain_autogen/EWIEGA46WW/moc_KoMainWindow.cpp:275
#29 0x00007f3fa7d36139 in doActivate<false> (sender=0x55e0a2cd0980, signal_index=4, argv=0x7ffc99d9e690) at kernel/qobject.cpp:3882
#30 0x00007f3fa7d30c12 in QMetaObject::activate (sender=sender@entry=0x55e0a2cd0980, m=m@entry=0x7f3fa8a10340 <QAction::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc99d9e690) at kernel/qobject.cpp:3930
#31 0x00007f3fa83284a2 in QAction::triggered (this=this@entry=0x55e0a2cd0980, _t1=<optimized out>) at .moc/moc_qaction.cpp:381
#32 0x00007f3fa832ab0c in QAction::activate (this=0x55e0a2cd0980, event=<optimized out>) at kernel/qaction.cpp:1161
#33 0x00007f3fa832b4a1 in QAction::event (this=<optimized out>, e=<optimized out>) at kernel/qaction.cpp:1086
#34 0x00007f3fa832e9ac in QApplicationPrivate::notify_helper (this=this@entry=0x55e0a2aff400, receiver=receiver@entry=0x55e0a2cd0980, e=e@entry=0x7ffc99d9ea10) at kernel/qapplication.cpp:3685
#35 0x00007f3fa8335bb0 in QApplication::notify (this=0x7ffc99d9ef00, receiver=0x55e0a2cd0980, e=0x7ffc99d9ea10) at kernel/qapplication.cpp:3431
#36 0x00007f3fa8f7af37 in KoApplication::notify (this=<optimized out>, receiver=0x55e0a2cd0980, event=0x7ffc99d9ea10) at ./libs/main/KoApplication.cpp:674
#37 0x00007f3fa7cfb128 in QCoreApplication::notifyInternal2 (receiver=0x55e0a2cd0980, event=0x7ffc99d9ea10) at kernel/qcoreapplication.cpp:1075
#38 0x00007f3fa29a7872 in QShortcutMap::dispatchEvent (this=this@entry=0x55e0a2aff4c8, e=e@entry=0x7ffc99d9eac0) at kernel/qshortcutmap.cpp:700
#39 0x00007f3fa29a793a in QShortcutMap::tryShortcut (this=this@entry=0x55e0a2aff4c8, e=e@entry=0x7ffc99d9eac0) at kernel/qshortcutmap.cpp:351
#40 0x00007f3fa2959a93 in QWindowSystemInterface::handleShortcutEvent (window=<optimized out>, window@entry=0x55e0a2e660a0, timestamp=423148382, keyCode=87, modifiers=..., nativeScanCode=25, nativeVirtualKey=119, nativeModifiers=4, text=..., autorepeat=false, count=1) at kernel/qwindowsysteminterface.cpp:476
#41 0x00007f3fa2978f67 in QGuiApplicationPrivate::processKeyEvent (e=0x55e0a7309030) at kernel/qguiapplication.cpp:2316
#42 0x00007f3fa297d9c5 in QGuiApplicationPrivate::processWindowSystemEvent (e=e@entry=0x55e0a7309030) at kernel/qguiapplication.cpp:1941
#43 0x00007f3fa29561cb in QWindowSystemInterface::sendWindowSystemEvents (flags=flags@entry=...) at kernel/qwindowsysteminterface.cpp:1170
#44 0x00007f3f95fb1f9a in xcbSourceDispatch (source=<optimized out>) at qxcbeventdispatcher.cpp:105
#45 0x00007f3fa081a417 in g_main_context_dispatch () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#46 0x00007f3fa081a650 in ?? () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#47 0x00007f3fa081a6dc in g_main_context_iteration () from /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0
#48 0x00007f3fa7d5a42c in QEventDispatcherGlib::processEvents (this=0x55e0a2b638a0, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#49 0x00007f3fa7cf99aa in QEventLoop::exec (this=this@entry=0x7ffc99d9ee70, flags=..., flags@entry=...) at kernel/qeventloop.cpp:225
#50 0x00007f3fa7d03120 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1383
#51 0x00007f3fa9616250 in kdemain (argc=<optimized out>, argv=<optimized out>) at ./karbon/main.cpp:93
#52 0x00007f3fa9243b97 in __libc_start_main (main=0x55e0a0fbda10 <main>, argc=1, argv=0x7ffc99d9f058, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffc99d9f048) at ../csu/libc-start.c:310
#53 0x000055e0a0fbda4a in _start ()

Possible duplicates by query: bug 419798, bug 418660, bug 418351, bug 414938, bug 414728.

Reported using DrKonqi
Comment 1 avlas 2020-05-05 20:52:53 UTC
I mentioned about this here:

https://www.reddit.com/r/kde/comments/gab898/karbon_dependency_for_calligra/foz42tw
Comment 2 avlas 2020-05-05 21:15:17 UTC
Created attachment 128185 [details]
Karbon's icon

As an example, this also happens in my system with Karbon's icon
Comment 3 Anthony Fieroni 2020-05-08 12:55:30 UTC
I can't reproduce, please describe what you make more precisely.
1. Open the svg
2. What item do you use (shape handling ?)
3. Close the file from file menu? Answer no to save dialog?
Comment 4 avlas 2020-05-08 15:40:30 UTC
What I do:

1. Open Karbon
2. Select the svg file from the list of recent items
3. Just click on the file (it selects sth)
4. Just click outside the file (no selection)
5. Close the file using Ctrl + W
6. Karbon crashes

If you cannot reproduce this, it could be a packaging issue in KDE neon User Edition.
Comment 5 Anthony Fieroni 2020-05-08 17:40:05 UTC
Can try this patch
https://phabricator.kde.org/D29542

If you notice crashes append new steps.
Comment 6 avlas 2020-05-08 17:43:25 UTC
(In reply to Anthony Fieroni from comment #5)
> Can try this patch
> https://phabricator.kde.org/D29542
> 
> If you notice crashes append new steps.

I don't build calligra myself (using kde neon packages). Will this be released in a dot version anytime soon?
Comment 7 Anthony Fieroni 2020-05-13 08:51:51 UTC
Git commit 2258d76ae0645fcfec00471dcf89db50a52b7c64 by Anthony Fieroni.
Committed on 13/05/2020 at 08:51.
Pushed by anthonyfieroni into branch 'calligra/3.2'.

Fix canvas event handling

Differential Revision: https://phabricator.kde.org/D29542

Signed-off-by: Anthony Fieroni <bvbfan@abv.bg>

M  +1    -0    libs/flake/KoCanvasControllerWidget.cpp
M  +2    -4    libs/pageapp/KoPAView.cpp

https://commits.kde.org/calligra/2258d76ae0645fcfec00471dcf89db50a52b7c64
Comment 8 Anthony Fieroni 2020-05-13 08:54:33 UTC
Git commit 07e44bfb50d5416e07c274d300ece3539262cb98 by Anthony Fieroni.
Committed on 13/05/2020 at 08:54.
Pushed by anthonyfieroni into branch 'master'.

Fix canvas event handling

Differential Revision: https://phabricator.kde.org/D29542

Signed-off-by: Anthony Fieroni <bvbfan@abv.bg>

M  +1    -0    libs/flake/KoCanvasControllerWidget.cpp
M  +2    -4    libs/pageapp/KoPAView.cpp

https://commits.kde.org/calligra/07e44bfb50d5416e07c274d300ece3539262cb98
Comment 9 Anthony Fieroni 2020-05-13 08:55:28 UTC
It should be fixed in next release, Calligra 3.2.1
Comment 10 avlas 2020-05-13 10:10:31 UTC
(In reply to Anthony Fieroni from comment #9)
> It should be fixed in next release, Calligra 3.2.1

Great. Any idea when will this happen?