Bug 401204 - KEXI crashes on import of Access database into postgresql database server
Summary: KEXI crashes on import of Access database into postgresql database server
Status: CLOSED UPSTREAM
Alias: None
Product: KEXI
Classification: Applications
Component: Migration/Import/Export (show other bugs)
Version: 2.9.11
Platform: Debian stable Linux
: NOR crash
Target Milestone: ---
Assignee: Kexi Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-11-19 14:03 UTC by hoelscher-kirchbrak
Modified: 2018-12-15 15:09 UTC (History)
3 users (show)

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 hoelscher-kirchbrak 2018-11-19 14:03:01 UTC
Application: kexi (2.9.11)
KDE Platform Version: 4.14.26
Qt Version: 4.8.7
Operating System: Linux 4.9.0-8-amd64 x86_64
Distribution: Debian GNU/Linux 9.6 (stretch)

-- Information about the crash:
<In detail, tell us what you were doing  when the application crashed.>

The crash can be reproduced every time.
I tried to import an Access database (mdb file) into my local Postgresql database server.
Importing the same Access database into a kexi database file succeeds.

I'm using xfce4 version 4.12.3
KDE "background" was installed using: apt-get install kdelibs-bin

-- Backtrace:
Application: Kexi (kexi), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f0d4d9a5940 (LWP 19650))]

Thread 2 (Thread 0x7f0d26afb700 (LWP 19722)):
#0  0x00007f0d4b8e667d in poll () at ../sysdeps/unix/syscall-template.S:84
#1  0x00007f0d4751a9f6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f0d4751ab0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f0d4bd61876 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#4  0x00007f0d4bd2f7ef in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007f0d4bd2fb55 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007f0d4bc1e4d9 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007f0d4bd0f603 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007f0d4bc20daa in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007f0d48051494 in start_thread (arg=0x7f0d26afb700) at pthread_create.c:333
#10 0x00007f0d4b8efacf in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:97

Thread 1 (Thread 0x7f0d4d9a5940 (LWP 19650)):
[KCrash Handler]
#6  0x00007f0d29e55c8f in pqxx::connection_base::activate() () from /usr/lib/x86_64-linux-gnu/libpqxx-4.0.so
#7  0x00007f0d29e582f2 in ?? () from /usr/lib/x86_64-linux-gnu/libpqxx-4.0.so
#8  0x00007f0d29e7afb0 in pqxx::transaction_base::DirectExec(char const*, int) () from /usr/lib/x86_64-linux-gnu/libpqxx-4.0.so
#9  0x00007f0d29e6571f in pqxx::nontransaction::do_exec(char const*) () from /usr/lib/x86_64-linux-gnu/libpqxx-4.0.so
#10 0x00007f0d29e7bcf6 in pqxx::transaction_base::exec(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /usr/lib/x86_64-linux-gnu/libpqxx-4.0.so
#11 0x00007f0d2a0a1d8f in ?? () from /usr/lib/kde4/kexidb_pqxxsqldriver.so
#12 0x00007f0d2a0a379a in ?? () from /usr/lib/kde4/kexidb_pqxxsqldriver.so
#13 0x00007f0d4a71956a in KexiDB::Connection::useDatabase(QString const&, bool, bool*, KexiDB::MessageHandler*) () from /usr/lib/libcalligradb.so.14
#14 0x00007f0d4a7199ef in KexiDB::Connection::useTemporaryDatabaseIfNeeded(QString&) () from /usr/lib/libcalligradb.so.14
#15 0x00007f0d4a7190a9 in KexiDB::Connection::databaseExists(QString const&, bool) () from /usr/lib/libcalligradb.so.14
#16 0x00007f0d4a719f48 in KexiDB::Connection::createDatabase(QString const&) () from /usr/lib/libcalligradb.so.14
#17 0x00007f0d4d2baade in KexiProject::create(bool) () from /usr/lib/libkexicore.so.14
#18 0x00007f0d4b5e770b in KexiMigration::KexiMigrate::performImport(Kexi::ObjectStatus*) () from /usr/lib/libkeximigrate.so.14
#19 0x00007f0d4b5f5dd3 in KexiMigration::ImportWizard::import() () from /usr/lib/libkeximigrate.so.14
#20 0x00007f0d4b5f69c3 in KexiMigration::ImportWizard::next() () from /usr/lib/libkeximigrate.so.14
#21 0x00007f0d4bd45660 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#22 0x00007f0d49cf3770 in KDialog::slotButtonClicked(int) () from /usr/lib/libkdeui.so.5
#23 0x00007f0d49cf528f in ?? () from /usr/lib/libkdeui.so.5
#24 0x00007f0d4bd45660 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#25 0x00007f0d4bd4e7ee in QSignalMapper::mapped(int) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#26 0x00007f0d4bd4e974 in QSignalMapper::map(QObject*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#27 0x00007f0d4bd45660 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#28 0x00007f0d4c8fcc72 in QAbstractButton::clicked(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#29 0x00007f0d4c6335c3 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#30 0x00007f0d4c634944 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#31 0x00007f0d4c634a54 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#32 0x00007f0d4c2b3e80 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#33 0x00007f0d4c25d54c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#34 0x00007f0d4c265ca7 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#35 0x00007f0d49d9ec5a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#36 0x00007f0d4bd30f1d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#37 0x00007f0d4c263ccb in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#38 0x00007f0d4c2df1a9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#39 0x00007f0d4c2ddb5c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#40 0x00007f0d4c307502 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#41 0x00007f0d4751a7f7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#42 0x00007f0d4751aa60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007f0d4751ab0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007f0d4bd61854 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#45 0x00007f0d4c3075d6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#46 0x00007f0d4bd2f7ef in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#47 0x00007f0d4bd2fb55 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#48 0x00007f0d4c73b30c in QDialog::exec() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#49 0x00007f0d4d57d5eb in KexiMainWindow::showProjectMigrationWizard(QString const&, QString const&, KexiDB::ConnectionData const*) () from /usr/lib/libkeximain.so.14
#50 0x00007f0d4d57e98c in KexiMainWindow::slotToolsImportProject() () from /usr/lib/libkeximain.so.14
#51 0x00007f0d4d57f901 in ?? () from /usr/lib/libkeximain.so.14
#52 0x00007f0d4bd45660 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#53 0x00007f0d4bd45660 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#54 0x00007f0d4c8fcc72 in QAbstractButton::clicked(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#55 0x00007f0d4c6335c3 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#56 0x00007f0d4c634944 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#57 0x00007f0d4c634a54 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#58 0x00007f0d4c2b3e80 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#59 0x00007f0d4c25d54c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#60 0x00007f0d4c265ca7 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#61 0x00007f0d49d9ec5a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#62 0x00007f0d4bd30f1d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#63 0x00007f0d4c263ccb in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#64 0x00007f0d4c2df1a9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#65 0x00007f0d4c2ddb5c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#66 0x00007f0d4c307502 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#67 0x00007f0d4751a7f7 in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#68 0x00007f0d4751aa60 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#69 0x00007f0d4751ab0c in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#70 0x00007f0d4bd61854 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#71 0x00007f0d4c3075d6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#72 0x00007f0d4bd2f7ef in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#73 0x00007f0d4bd2fb55 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#74 0x00007f0d4bd35bd9 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#75 0x000055703e89d9fb in ?? ()
#76 0x00007f0d4b8272e1 in __libc_start_main (main=0x55703e89d9b0, argc=1, argv=0x7ffcd16d8e28, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffcd16d8e18) at ../csu/libc-start.c:291
#77 0x000055703e89da6a in _start ()

Report to https://bugs.kde.org/

EXPECTED RESULT


SOFTWARE/OS VERSIONS
Windows: 
MacOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Jarosław Staniek 2018-11-19 14:34:50 UTC
Thanks for the report! I am grad to say this issue has been fixed in KEXI 3.0. 

2.9.11 has been released over 33 months ago so as such is considered undable, it's also unsupported by the KEXI team. 

Bottom line: Upgrading of the OS is recommended, since for my understanding it does not support stability updates, but only security.

Technical detail: the fix involved dropping the use of libpqxx and switching to more stable option: libpq.