Bug 349156

Summary: Kexi crashes when importing postgresql db to a .kexi file
Product: [Applications] KEXI Reporter: Andrei Sebastian Cimpean <andreiamenta>
Component: Migration/Import/ExportAssignee: Jarosław Staniek <staniek>
Status: CLOSED FIXED    
Severity: crash CC: adam, inksi, staniek
Priority: NOR Keywords: drkonqi
Version: 2.9.5   
Target Milestone: 2.9.6   
Platform: openSUSE   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=294656
https://bugs.kde.org/show_bug.cgi?id=299178
Latest Commit: Version Fixed In: 2.9.6
Sentry Crash Report:

Description Andrei Sebastian Cimpean 2015-06-14 17:20:42 UTC
Application: kexi (2.9.5)
KDE Platform Version: 4.14.8
Qt Version: 4.8.6
Operating System: Linux 4.0.5-1.gf4cd21b-desktop x86_64
Distribution: "openSUSE 13.2 (Harlequin) (x86_64)"

-- Information about the crash:
Postgresql auth works.

Each time I try to use the existing DB as starting point it crashes. It's a new DB.

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 0x7f6f3e3aa7c0 (LWP 7978))]

Thread 2 (Thread 0x7f6f0c009700 (LWP 7998)):
#0  0x00007ffcdee98d58 in clock_gettime ()
#1  0x00007f6f3c2f8ccd in clock_gettime () at /lib64/libc.so.6
#2  0x00007f6f3c683d47 in  () at /usr/lib64/libQtCore.so.4
#3  0x00007f6f3c75f875 in  () at /usr/lib64/libQtCore.so.4
#4  0x00007f6f3c75df8c in  () at /usr/lib64/libQtCore.so.4
#5  0x00007f6f3c75e035 in  () at /usr/lib64/libQtCore.so.4
#6  0x00007f6f388af28d in g_main_context_prepare () at /usr/lib64/libglib-2.0.so.0
#7  0x00007f6f388afb03 in  () at /usr/lib64/libglib-2.0.so.0
#8  0x00007f6f388afcec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#9  0x00007f6f3c75e0de in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#10 0x00007f6f3c72fe6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#11 0x00007f6f3c730165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#12 0x00007f6f3c62d0bf in QThread::exec() () at /usr/lib64/libQtCore.so.4
#13 0x00007f6f3c711783 in  () at /usr/lib64/libQtCore.so.4
#14 0x00007f6f3c62f79f in  () at /usr/lib64/libQtCore.so.4
#15 0x00007f6f397860a4 in start_thread () at /lib64/libpthread.so.0
#16 0x00007f6f3c2ec08d in clone () at /lib64/libc.so.6

Thread 1 (Thread 0x7f6f3e3aa7c0 (LWP 7978)):
[KCrash Handler]
#5  0x00007f6f3b1128ec in KexiMigration::ImportWizard::next() (this=0xd4a420) at /usr/src/debug/calligra-2.9.5/kexi/migration/importwizard.cpp:968
#6  0x00007f6f3c7451fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#7  0x00007f6f3a779568 in KDialog::slotButtonClicked(int) () at /usr/lib64/libkdeui.so.5
#8  0x00007f6f3a77ae2f in  () at /usr/lib64/libkdeui.so.5
#9  0x00007f6f3c7451fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#10 0x00007f6f3c74c91e in QSignalMapper::mapped(int) () at /usr/lib64/libQtCore.so.4
#11 0x00007f6f3c74ca26 in QSignalMapper::map(QObject*) () at /usr/lib64/libQtCore.so.4
#12 0x00007f6f3c7451fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#13 0x00007f6f3d2bfbb2 in QAbstractButton::clicked(bool) () at /usr/lib64/libQtGui.so.4
#14 0x00007f6f3d022fe3 in  () at /usr/lib64/libQtGui.so.4
#15 0x00007f6f3d024153 in  () at /usr/lib64/libQtGui.so.4
#16 0x00007f6f3d02423c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libQtGui.so.4
#17 0x00007f6f3ccc5c0a in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#18 0x00007f6f3cc7676c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#19 0x00007f6f3cc7cdea in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#20 0x00007f6f3a816dca in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5
#21 0x00007f6f3c7312ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#22 0x00007f6f3cc7c5e3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQtGui.so.4
#23 0x00007f6f3ccedc9b in  () at /usr/lib64/libQtGui.so.4
#24 0x00007f6f3ccec70c in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4
#25 0x00007f6f3cd135c2 in  () at /usr/lib64/libQtGui.so.4
#26 0x00007f6f388afa04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#27 0x00007f6f388afc48 in  () at /usr/lib64/libglib-2.0.so.0
#28 0x00007f6f388afcec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#29 0x00007f6f3c75e0be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#30 0x00007f6f3cd13676 in  () at /usr/lib64/libQtGui.so.4
#31 0x00007f6f3c72fe6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#32 0x00007f6f3c730165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#33 0x00007f6f3d118d1c in QDialog::exec() () at /usr/lib64/libQtGui.so.4
#34 0x00007f6f3df1a875 in KexiMainWindow::showProjectMigrationWizard(QString const&, QString const&, KexiDB::ConnectionData const*) (this=this@entry=0xa8f080, mimeType=..., databaseName=..., cdata=cdata@entry=0x0) at /usr/src/debug/calligra-2.9.5/kexi/main/KexiMainWindow.cpp:3630
#35 0x00007f6f3df1b97c in KexiMainWindow::slotToolsImportProject() (this=0xa8f080) at /usr/src/debug/calligra-2.9.5/kexi/main/KexiMainWindow.cpp:3521
#36 0x00007f6f3df1c32a in KexiMainWindow::qt_static_metacall(QObject*, QMetaObject::Call, int, void**) (_o=0xa8f080, _id=-1, _a=0x7ffcdee50620, _c=<optimized out>) at /usr/src/debug/calligra-2.9.5/build/kexi/main/KexiMainWindow.moc:528
#37 0x00007f6f3c7451fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#38 0x00007f6f3c7451fa in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () at /usr/lib64/libQtCore.so.4
#39 0x00007f6f3d2bfbb2 in QAbstractButton::clicked(bool) () at /usr/lib64/libQtGui.so.4
#40 0x00007f6f3d022fe3 in  () at /usr/lib64/libQtGui.so.4
#41 0x00007f6f3d024153 in  () at /usr/lib64/libQtGui.so.4
#42 0x00007f6f3d02423c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at /usr/lib64/libQtGui.so.4
#43 0x00007f6f3ccc5c0a in QWidget::event(QEvent*) () at /usr/lib64/libQtGui.so.4
#44 0x00007f6f3cc7676c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#45 0x00007f6f3cc7cdea in QApplication::notify(QObject*, QEvent*) () at /usr/lib64/libQtGui.so.4
#46 0x00007f6f3a816dca in KApplication::notify(QObject*, QEvent*) () at /usr/lib64/libkdeui.so.5
#47 0x00007f6f3c7312ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () at /usr/lib64/libQtCore.so.4
#48 0x00007f6f3cc7c5e3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () at /usr/lib64/libQtGui.so.4
#49 0x00007f6f3ccedc9b in  () at /usr/lib64/libQtGui.so.4
#50 0x00007f6f3ccec70c in QApplication::x11ProcessEvent(_XEvent*) () at /usr/lib64/libQtGui.so.4
#51 0x00007f6f3cd135c2 in  () at /usr/lib64/libQtGui.so.4
#52 0x00007f6f388afa04 in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0
#53 0x00007f6f388afc48 in  () at /usr/lib64/libglib-2.0.so.0
#54 0x00007f6f388afcec in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0
#55 0x00007f6f3c75e0be in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#56 0x00007f6f3cd13676 in  () at /usr/lib64/libQtGui.so.4
#57 0x00007f6f3c72fe6f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#58 0x00007f6f3c730165 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /usr/lib64/libQtCore.so.4
#59 0x00007f6f3c7355b9 in QCoreApplication::exec() () at /usr/lib64/libQtCore.so.4
#60 0x0000000000400941 in main(int, char**) (argc=<optimized out>, argv=0x7ffcdee51528) at /usr/src/debug/calligra-2.9.5/kexi/main.cpp:36

Reported using DrKonqi
Comment 1 Jarosław Staniek 2015-06-14 21:35:01 UTC
Thanks. I need to reproduce the issue. Is is a new empty db?
Comment 2 Jarosław Staniek 2015-06-14 22:24:59 UTC
OK I think I got it, assuming you wanted to import a postgresql db into a file based one (kexi file).

That's the only case I found, although typical of course.
(Importing a server db to a server db, the same or other, works ok)

I also think I fixed it. Will be committed within minutes and published to 2.9.6 [https://community.kde.org/Calligra/Schedules/2.9/Release_Plan].

If you can compile Kexi, the fix is available immediately.
http://community.kde.org/Calligra/Building
Comment 3 Jarosław Staniek 2015-06-14 22:29:08 UTC
Git commit 8ddb206f6e912b61556837808743917695ad84f9 by Jaroslaw Staniek.
Committed on 14/06/2015 at 22:25.
Pushed by staniek into branch 'calligra/2.9'.

Kexi: Fix crash when importing a PostgreSQL db to a .kexi file

M  +1    -1    kexi/migration/importwizard.cpp

http://commits.kde.org/calligra/8ddb206f6e912b61556837808743917695ad84f9