Bug 242556 - Importing table from mysql local database
Summary: Importing table from mysql local database
Status: CLOSED FIXED
Alias: None
Product: KEXI
Classification: Applications
Component: General (show other bugs)
Version: 2.2.0 (KOffice 2.2.0)
Platform: Arch Linux Linux
: NOR crash
Target Milestone: ---
Assignee: Adam Pigg
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-06-23 05:31 UTC by Dainis
Modified: 2012-08-11 11:59 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (12.70 KB, text/plain)
2011-01-01 05:42 UTC, Zsombor
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Dainis 2010-06-23 05:31:53 UTC
Application: kexi (2.2.0 (KOffice 2.2.0))
KDE Platform Version: 4.4.4 (KDE 4.4.4)
Qt Version: 4.6.3
Operating System: Linux 2.6.34-ARCH i686
Distribution (Platform): Archlinux Packages

-- Information about the crash:
When connection tested cucessfully, altough tables from mysql database is not listed...

 -- Backtrace:
Application: Kexi (kexi), signal: Segmentation fault
[KCrash Handler]
#6  0x00000000 in ?? ()
#7  0xb1d99531 in KexiMigration::KexiMigrate::connectSource() () from /usr/lib/libkeximigrate.so.7
#8  0xb1dabcdf in KexiMigration::ImportTableWizard::arriveTableSelectPage() () from /usr/lib/libkeximigrate.so.7
#9  0xb1dac4c8 in KexiMigration::ImportTableWizard::slot_currentPageChanged(KPageWidgetItem*, KPageWidgetItem*) () from /usr/lib/libkeximigrate.so.7
#10 0xb1d97ac6 in KexiMigration::ImportTableWizard::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkeximigrate.so.7
#11 0xb76d5f0a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#12 0xb76e4feb in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#13 0xb5fb2099 in KPageDialog::currentPageChanged(KPageWidgetItem*, KPageWidgetItem*) () from /usr/lib/libkdeui.so.5
#14 0xb5fb2156 in KPageDialog::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#15 0xb5ed816a in KAssistantDialog::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#16 0xb1d97a9a in KexiMigration::ImportTableWizard::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkeximigrate.so.7
#17 0xb76d5f0a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#18 0xb76e4feb in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#19 0xb5fb7b59 in KPageWidget::currentPageChanged(KPageWidgetItem*, KPageWidgetItem*) () from /usr/lib/libkdeui.so.5
#20 0xb5fb7be7 in ?? () from /usr/lib/libkdeui.so.5
#21 0xb5fb7d26 in KPageWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#22 0xb76d5f0a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#23 0xb76e4feb in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#24 0xb5fb38e9 in KPageView::currentPageChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib/libkdeui.so.5
#25 0xb5fb39f3 in ?? () from /usr/lib/libkdeui.so.5
#26 0xb5fb3e7f in KPageView::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#27 0xb5fb7cea in KPageWidget::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#28 0xb76d5f0a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#29 0xb76e4feb in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#30 0xb72135c9 in QItemSelectionModel::currentChanged(QModelIndex const&, QModelIndex const&) () from /usr/lib/libQtGui.so.4
#31 0xb7213702 in QItemSelectionModel::setCurrentIndex(QModelIndex const&, QFlags<QItemSelectionModel::SelectionFlag>) () from /usr/lib/libQtGui.so.4
#32 0xb5fb36d8 in KPageView::setCurrentPage(QModelIndex const&) () from /usr/lib/libkdeui.so.5
#33 0xb5fb7a8d in KPageWidget::setCurrentPage(KPageWidgetItem*) () from /usr/lib/libkdeui.so.5
#34 0xb5fb1ffa in KPageDialog::setCurrentPage(KPageWidgetItem*) () from /usr/lib/libkdeui.so.5
#35 0xb5ed721c in KAssistantDialog::back() () from /usr/lib/libkdeui.so.5
#36 0xb1daa51d in KexiMigration::ImportTableWizard::back() () from /usr/lib/libkeximigrate.so.7
#37 0xb5ed8190 in KAssistantDialog::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#38 0xb1d97a9a in KexiMigration::ImportTableWizard::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkeximigrate.so.7
#39 0xb76d5f0a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#40 0xb76e4feb in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#41 0xb5ee9fc7 in KDialog::user3Clicked() () from /usr/lib/libkdeui.so.5
#42 0xb5eea818 in KDialog::slotButtonClicked(int) () from /usr/lib/libkdeui.so.5
#43 0xb5eeadac in KDialog::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#44 0xb5fb212a in KPageDialog::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#45 0xb5ed816a in KAssistantDialog::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkdeui.so.5
#46 0xb1d97a9a in KexiMigration::ImportTableWizard::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkeximigrate.so.7
#47 0xb76d5f0a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#48 0xb76e4feb in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#49 0xb76e8113 in QSignalMapper::mapped(int) () from /usr/lib/libQtCore.so.4
#50 0xb76e825f in QSignalMapper::map(QObject*) () from /usr/lib/libQtCore.so.4
#51 0xb76e841e in QSignalMapper::map() () from /usr/lib/libQtCore.so.4
#52 0xb76e890b in QSignalMapper::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#53 0xb76d5f0a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#54 0xb76e4feb in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#55 0xb7328fb9 in QAbstractButton::clicked(bool) () from /usr/lib/libQtGui.so.4
#56 0xb7044549 in ?? () from /usr/lib/libQtGui.so.4
#57 0xb7045be4 in ?? () from /usr/lib/libQtGui.so.4
#58 0xb7045e9e in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#59 0xb6cab3aa in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#60 0xb70450fe in QAbstractButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#61 0xb70e1e02 in QPushButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#62 0xb6c54194 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#63 0xb6c58d39 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#64 0xb5f7629a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#65 0xb76cff1b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#66 0xb6c55047 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#67 0xb6cda09c in ?? () from /usr/lib/libQtGui.so.4
#68 0xb6cd91e9 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#69 0xb6d007f2 in ?? () from /usr/lib/libQtGui.so.4
#70 0xb59c0f72 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#71 0xb59c1750 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#72 0xb59c1a04 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#73 0xb76faecc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#74 0xb6d00435 in ?? () from /usr/lib/libQtGui.so.4
#75 0xb76cf169 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#76 0xb76cf3da in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#77 0xb715e133 in QDialog::exec() () from /usr/lib/libQtGui.so.4
#78 0xb781c106 in KexiMainWindow::slotToolsImportTables() () from /usr/lib/libkeximain.so.7
#79 0xb782e3bd in KexiMainWindow::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkeximain.so.7
#80 0xb76d5f0a in QMetaObject::metacall(QObject*, QMetaObject::Call, int, void**) () from /usr/lib/libQtCore.so.4
#81 0xb76e4feb in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#82 0xb6c4cf19 in QAction::triggered(bool) () from /usr/lib/libQtGui.so.4
#83 0xb6c4d17b in QAction::activate(QAction::ActionEvent) () from /usr/lib/libQtGui.so.4
#84 0xb7115162 in QToolButton::nextCheckState() () from /usr/lib/libQtGui.so.4
#85 0xb7045ba3 in ?? () from /usr/lib/libQtGui.so.4
#86 0xb7045e9e in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#87 0xb711527c in QToolButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/libQtGui.so.4
#88 0xb6cab3aa in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#89 0xb70450fe in QAbstractButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#90 0xb71169ba in QToolButton::event(QEvent*) () from /usr/lib/libQtGui.so.4
#91 0xb6c54194 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#92 0xb6c58d39 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/libQtGui.so.4
#93 0xb5f7629a in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#94 0xb76cff1b in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/libQtCore.so.4
#95 0xb6c55047 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/libQtGui.so.4
#96 0xb6cda09c in ?? () from /usr/lib/libQtGui.so.4
#97 0xb6cd91e9 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/libQtGui.so.4
#98 0xb6d007f2 in ?? () from /usr/lib/libQtGui.so.4
#99 0xb59c0f72 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#100 0xb59c1750 in g_main_context_iterate () from /usr/lib/libglib-2.0.so.0
#101 0xb59c1a04 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#102 0xb76faecc in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#103 0xb6d00435 in ?? () from /usr/lib/libQtGui.so.4
#104 0xb76cf169 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#105 0xb76cf3da in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/libQtCore.so.4
#106 0xb76d3cbf in QCoreApplication::exec() () from /usr/lib/libQtCore.so.4
#107 0xb6c518b7 in QApplication::exec() () from /usr/lib/libQtGui.so.4
#108 0x08048644 in _start ()

Reported using DrKonqi
Comment 1 Nicolas L. 2010-06-23 14:58:38 UTC
#7  0xb1d99531 in KexiMigration::KexiMigrate::connectSource() () from
/usr/lib/libkeximigrate.so.7
#8  0xb1dabcdf in KexiMigration::ImportTableWizard::arriveTableSelectPage() ()
from /usr/lib/libkeximigrate.so.7
#9  0xb1dac4c8 in
KexiMigration::ImportTableWizard::slot_currentPageChanged(


Please install koffice debuginfo packages and paste a new backtrace
Comment 2 Dainis 2010-06-25 08:10:46 UTC
Actualy kexi crashed in a moment when i press next second time because 
when first time it not crashes, but there is no tables in the list.
Then i press back , and next second time, then kexi crashes
I mean something wrong  hapens when i press next in first time ...

(sorry for bad english)
Comment 3 Zsombor 2011-01-01 05:42:16 UTC
Created attachment 55434 [details]
New crash information added by DrKonqi

kexi (2.2.2 (KOffice 2.2.2)) on KDE Platform 4.5.1 (KDE 4.5.1) using Qt 4.7.0

- What I was doing when the application crashed:

I've tried to import from a mysql database

-- Backtrace (Reduced):
#7  0x00007fe569e9b435 in KexiMigration::ImportTableWizard::arriveTableSelectPage() () from /usr/lib/libkeximigrate.so.7
#8  0x00007fe569e877c6 in KexiMigration::ImportTableWizard::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkeximigrate.so.7
[...]
#10 0x00007fe5806f9b58 in KPageDialog::currentPageChanged (this=0x1e33e30, _t1=0x1cfbdb0, _t2=0x1bacbc0) at ./kpagedialog.moc:88
#11 0x00007fe5806f9ba6 in KPageDialog::qt_metacall (this=0x1f01fa0, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffd9ecb340) at ./kpagedialog.moc:75
#12 0x00007fe580605db8 in KAssistantDialog::qt_metacall (this=0x1e33e30, _c=28294688, _id=28670721, _a=0x0) at ./kassistantdialog.moc:70
Comment 4 Jarosław Staniek 2011-01-01 23:00:57 UTC
Thnaks!
Assigned to A. Pigg.
Comment 5 Adam Pigg 2011-01-02 22:01:48 UTC
commit 47c4737a59ecd73533d9d241345763a533b0659d
branch master
Author: Adam Pigg <adam@piggz.co.uk>
Date:   Sun Jan 2 20:58:41 2011 +0000

    Dont crash if no table was selected to import.
    BUG: 242556

diff --git a/kexi/migration/importtablewizard.cpp b/kexi/migration/importtablewizard.cpp
index 288147b..4cffa96 100644
--- a/kexi/migration/importtablewizard.cpp
+++ b/kexi/migration/importtablewizard.cpp
@@ -497,6 +497,11 @@ bool ImportTableWizard::doImport()
         return false;
     }
     
+    if (!m_alterSchemaWidget->newSchema()) {
+        msg.showErrorMessage(i18n("No table was selected to import."));
+        return false;
+    }
+    
     KexiPart::Item* partItemForSavedTable = project->createPartItem(part->info(), m_alterSchemaWidget->newSchema()->name());
     if (!partItemForSavedTable) {
         //  msg.showErrorMessage(project);
Comment 6 Adam Pigg 2011-01-02 22:06:11 UTC
Additionally, this patch fixes the crash, but not the fact that no tables were presented for import.  This is due to the fact that the mysql driver does not implement this functionality (yet).  Perhaps you could open a Wish to keep track of this.
Comment 7 Zsombor 2011-01-03 02:52:34 UTC
I see, the empty list was strange too. 

I've just setuped the environment, and it seems that in MySQLMigrate::drv_connect returns false, because d->useDatabase(m_migrateData->sourceName) returns false, because m_migrateData->sourceName left empty ! Of course, because there is no database name embedded in the connection data. There should be a 'schema' selector before that table list selector.
Comment 8 Jarosław Staniek 2011-01-12 10:06:24 UTC
SVN commit 1213946 by staniek:

Migration
*Dont crash if no table was selected to import.
**backported from 2.4 47c4737a59ecd73533
CCBUG: 242556



 M  +12 -0     doc/dev/CHANGELOG-Kexi-js  
 M  +5 -0      migration/importtablewizard.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1213946