Bug 346373 - Kexi crashes on an attempt of creation a Script or SQL editor view when ktexteditor isn't installed
Summary: Kexi crashes on an attempt of creation a Script or SQL editor view when ktext...
Status: CLOSED FIXED
Alias: None
Product: KEXI
Classification: Applications
Component: General (show other bugs)
Version: 2.8.7
Platform: Fedora RPMs Linux
: NOR crash
Target Milestone: 2.9.3
Assignee: Jarosław Staniek
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2015-04-19 20:41 UTC by Pierre-Yves Luyten
Modified: 2015-04-27 22:08 UTC (History)
4 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pierre-Yves Luyten 2015-04-19 20:41:41 UTC
Application: kexi (2.8.7)
KDE Platform Version: 4.14.6
Qt Version: 4.8.6
Operating System: Linux 3.19.3-200.fc21.x86_64 x86_64
Distribution: "Fedora release 21 (Twenty One)"

-- Information about the crash:
Create a new request. Switch to SQL view because you are not interested in manual requests. Kexi crashes.

The crash can be reproduced every time.

-- Backtrace:
Application: Kexi (kexi), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f181e7a68c0 (LWP 6253))]

Thread 3 (Thread 0x7f17fc246700 (LWP 6254)):
#0  0x00007f1816fe0c8d in poll () at /lib64/libc.so.6
#1  0x00007f1810ceab34 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f1810ceaec2 in g_main_loop_run () at /lib64/libglib-2.0.so.0
#3  0x00007f1801428e66 in gdbus_shared_thread_func () at /lib64/libgio-2.0.so.0
#4  0x00007f1810d113d5 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#5  0x00007f1817ade52a in start_thread () at /lib64/libpthread.so.0
#6  0x00007f1816fec22d in clone () at /lib64/libc.so.6

Thread 2 (Thread 0x7f17fba45700 (LWP 6255)):
#0  0x00007f1816fe0c8d in poll () at /lib64/libc.so.6
#1  0x00007f1810ceab34 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#2  0x00007f1810ceac4c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#3  0x00007f1810ceac89 in glib_worker_main () at /lib64/libglib-2.0.so.0
#4  0x00007f1810d113d5 in g_thread_proxy () at /lib64/libglib-2.0.so.0
#5  0x00007f1817ade52a in start_thread () at /lib64/libpthread.so.0
#6  0x00007f1816fec22d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f181e7a68c0 (LWP 6253)):
[KCrash Handler]
#6  0x0000000002629d60 in  ()
#7  0x00007f1814f87c59 in KexiEditor::setHighlightMode(QString const&) () at /lib64/libkexiextendedwidgets.so.13
#8  0x00007f1814f84310 in KexiQueryDesignerSQLEditor::KexiQueryDesignerSQLEditor(QWidget*) () at /lib64/libkexiextendedwidgets.so.13
#9  0x00007f17d6caa5fb in KexiQueryDesignerSQLView::KexiQueryDesignerSQLView(QWidget*) () at /usr/lib64/kde4/kexihandler_query.so
#10 0x00007f17d6ca82ec in KexiQueryPart::createView(QWidget*, KexiWindow*, KexiPart::Item&, Kexi::ViewMode, QMap<QString, QVariant>*) () at /usr/lib64/kde4/kexihandler_query.so
#11 0x00007f181d5c787a in KexiWindow::switchToViewMode(Kexi::ViewMode, QMap<QString, QVariant>*, bool&) () at /lib64/libkexicore.so.13
#12 0x00007f181d5c7ffc in KexiWindow::switchToViewMode(Kexi::ViewMode) () at /lib64/libkexicore.so.13
#13 0x00007f181d88657c in KexiMainWindow::switchToViewMode(KexiWindow&, Kexi::ViewMode) () at /lib64/libkeximain.so.13
#14 0x00007f181d5c59be in KexiWindow::switchToViewModeInternal(Kexi::ViewMode) () at /lib64/libkexicore.so.13
#15 0x00007f181d5ca929 in KexiView::slotSwitchToViewModeInternal(Kexi::ViewMode) () at /lib64/libkexicore.so.13
#16 0x00007f1817e8dcdc in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /lib64/libQtCore.so.4
#17 0x00007f18193fd242 in QAbstractButton::toggled(bool) () at /lib64/libQtGui.so.4
#18 0x00007f181913ed2d in QAbstractButton::setChecked(bool) () at /lib64/libQtGui.so.4
#19 0x00007f181913e8e3 in QAbstractButtonPrivate::click() () at /lib64/libQtGui.so.4
#20 0x00007f181913ea34 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /lib64/libQtGui.so.4
#21 0x00007f18192007ba in QToolButton::mouseReleaseEvent(QMouseEvent*) () at /lib64/libQtGui.so.4
#22 0x00007f1818dc1118 in QWidget::event(QEvent*) () at /lib64/libQtGui.so.4
#23 0x00007f1818d6defc in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib64/libQtGui.so.4
#24 0x00007f1818d74abf in QApplication::notify(QObject*, QEvent*) () at /lib64/libQtGui.so.4
#25 0x00007f1819ae2c6a in KApplication::notify(QObject*, QEvent*) () at /lib64/libkdeui.so.5
#26 0x00007f1817e7916d in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /lib64/libQtCore.so.4
#27 0x00007f1818d7411f in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /lib64/libQtGui.so.4
#28 0x00007f1818dea562 in QETWidget::translateMouseEvent(_XEvent const*) () at /lib64/libQtGui.so.4
#29 0x00007f1818de8f5c in QApplication::x11ProcessEvent(_XEvent*) () at /lib64/libQtGui.so.4
#30 0x00007f1818e10ff4 in x11EventSourceDispatch(_GSource*, int (*)(void*), void*) () at /lib64/libQtGui.so.4
#31 0x00007f1810cea7fb in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#32 0x00007f1810ceab98 in g_main_context_iterate.isra () at /lib64/libglib-2.0.so.0
#33 0x00007f1810ceac4c in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#34 0x00007f1817ea849e in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#35 0x00007f1818e11176 in QGuiEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtGui.so.4
#36 0x00007f1817e77cc1 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#37 0x00007f1817e78025 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib64/libQtCore.so.4
#38 0x00007f1817e7d709 in QCoreApplication::exec() () at /lib64/libQtCore.so.4
#39 0x0000000000400b61 in main ()

Reported using DrKonqi
Comment 1 Jarosław Staniek 2015-04-19 22:17:49 UTC
Git commit 99d7c63e51ae5e44d1304deb6db072eb74f246d1 by Jaroslaw Staniek.
Committed on 19/04/2015 at 22:16.
Pushed by staniek into branch 'calligra/2.9'.

Avoid crash in Kexi text editor when text component couldn't be loaded

M  +2    -0    kexi/widget/kexieditor.cpp

http://commits.kde.org/calligra/99d7c63e51ae5e44d1304deb6db072eb74f246d1
Comment 2 Jarosław Staniek 2015-04-19 22:26:04 UTC
Hi, Thanks for the report!  If anyone else is able to reproduce the crash, please do and check it. I am not able.

However I just added a condition to the code that avoids crashes in the editor when the component isn't found - will be available in 2.9.3. This is because I guess that you could be have a text editor component not installed. To check that please try to run the 'kate editor. It's only a guess because the backtrace isn't detailed (there is no debug info on your system).

Are you able to display the SQL editor for saved queries? Or a script editor?

Thanks.
Comment 3 Pierre-Yves Luyten 2015-04-20 05:37:26 UTC
That's it, kate was not installed, giving a crash. This could be made a downstream bug (i'm on Fedora) to make kate a dependency
Comment 4 Pierre-Yves Luyten 2015-04-20 05:43:24 UTC
Here for Fedora https://bugzilla.redhat.com/show_bug.cgi?id=1213229
Comment 5 Jarosław Staniek 2015-04-20 07:02:54 UTC
Thanks Pierre, I am glad there's a solution.
To be strict, a package delivering a /usr/lib*/libktexteditor.so file or so would be a minimal, better dependency. I suggested 'kate' because I wasn't sure how the proper package is called. Maybe libktexteditor4?

If you want test, please uninstall kate, and keep libktexteditor4 (or whatever it's called) and try the Kexi editor.

If I am right, it would be cool if you alter the fedora bugzilla entry.
Comment 6 Rex Dieter 2015-04-20 13:31:05 UTC
Does kexi need/use the whole 'kate' application, or is just kate's kpart enough?
Comment 7 Jarosław Staniek 2015-04-20 19:24:28 UTC
@Rex Kate's kpart is only used. Technically via the ktexteditor interface.
Comment 8 Jarosław Staniek 2015-04-20 21:45:50 UTC
Git commit aae9ee428b7a18db57a7852085403bd4b2588bce by Jaroslaw Staniek.
Committed on 20/04/2015 at 21:42.
Pushed by staniek into branch 'calligra/2.9'.

README.PACKAGERS: clearly mark required deps; add ktextedtior as required

M  +25   -14   README.PACKAGERS

http://commits.kde.org/calligra/aae9ee428b7a18db57a7852085403bd4b2588bce
Comment 9 Jarosław Staniek 2015-04-20 21:47:22 UTC
Git commit fcadcaa9bb85650e9613a069651c261a81f80ff1 by Jaroslaw Staniek.
Committed on 20/04/2015 at 21:45.
Pushed by staniek into branch 'frameworks'.

README.PACKAGERS: clearly mark required deps; add ktextedtior as required

(for Kexi 3)

M  +21   -8    README.PACKAGERS

http://commits.kde.org/calligra/fcadcaa9bb85650e9613a069651c261a81f80ff1
Comment 10 Jarosław Staniek 2015-04-22 22:43:39 UTC
PS: The commit 99d7c63e51ae5e44 fixes the crash for the script editor too in one go.
Comment 11 Jarosław Staniek 2015-04-27 22:07:54 UTC
Fixed in 99d7c63e51ae5e44.