Bug 294747

Summary: Kexi crashed when selecting "Import Tables"
Product: [Applications] KEXI Reporter: iiga5
Component: Migration/Import/ExportAssignee: Jarosław Staniek <staniek>
Status: CLOSED FIXED    
Severity: crash CC: adam, aspotashev
Priority: NOR    
Version: 2.4 beta7 (Calligra 2.4 beta7)   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 2.4 rc1 (Calligra 2.4 rc1)
Sentry Crash Report:

Description iiga5 2012-02-24 13:02:14 UTC
Application: kexi (2.3.3 (KOffice 2.3.3))
KDE Platform Version: 4.7.4 (4.7.4)
Qt Version: 4.7.4
Operating System: Linux 3.0.0-16-generic-pae i686
Distribution: Ubuntu 11.10

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

I had just gotten (popup	Question - Kexi<br/>Do you want to save the design now?<br/>Warning! Any data in this table will be removed upon design's saving!<br/>YES,NO), so I said NO momentarily then exported the table data to a Character.csv file with the intent of importing it back in after the new design had saved (so no loss in data). Then I saved the table design. Then when I clicked on "External Data -> Import Tables" I got this crash. I've never done Import Tables before on any Kexi.

Aside: LZWCC6 is my internal bug report # for this.

-- Backtrace:
Application: Kexi (kexi), signal: Segmentation fault
[Current thread is 1 (Thread 0xb422b720 (LWP 11142))]

Thread 3 (Thread 0xb0cd4b70 (LWP 11144)):
#0  0xb5369d10 in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0xb6b687d5 in do_gettime (frac=0xb0cd4010, sec=0xb0cd4008) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0xb6c3b4b6 in QTimerInfoList::updateCurrentTime (this=0x91e4574) at kernel/qeventdispatcher_unix.cpp:339
#4  0xb6c3b80a in QTimerInfoList::timerWait (this=0x91e4574, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0xb6c3a053 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xb0cd411c) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb6c3a0ed in timerSourcePrepare (source=0x91e4540, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb56b388c in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb56b4637 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb56b4c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb6c3ab37 in QEventDispatcherGlib::processEvents (this=0x939c378, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#11 0xb6c0b1dd in QEventLoop::processEvents (this=0xb0cd42a0, flags=...) at kernel/qeventloop.cpp:149
#12 0xb6c0b421 in QEventLoop::exec (this=0xb0cd42a0, flags=...) at kernel/qeventloop.cpp:201
#13 0xb6b0e90b in QThread::exec (this=0x92b3d18) at thread/qthread.cpp:498
#14 0xb6bebe2d in QInotifyFileSystemWatcherEngine::run (this=0x92b3d18) at io/qfilesystemwatcher_inotify.cpp:248
#15 0xb6b117b3 in QThreadPrivate::start (arg=0x92b3d18) at thread/qthread_unix.cpp:331
#16 0xb578ad31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0xb69fc0ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 2 (Thread 0xb03a4b70 (LWP 11174)):
#0  0xb5369d10 in clock_gettime () from /lib/i386-linux-gnu/librt.so.1
#1  0xb6b687d5 in do_gettime (frac=0xb03a4010, sec=0xb03a4008) at tools/qelapsedtimer_unix.cpp:123
#2  qt_gettime () at tools/qelapsedtimer_unix.cpp:140
#3  0xb6c3b4b6 in QTimerInfoList::updateCurrentTime (this=0xafa018bc) at kernel/qeventdispatcher_unix.cpp:339
#4  0xb6c3b80a in QTimerInfoList::timerWait (this=0xafa018bc, tm=...) at kernel/qeventdispatcher_unix.cpp:442
#5  0xb6c3a053 in timerSourcePrepareHelper (src=<optimized out>, timeout=0xb03a411c) at kernel/qeventdispatcher_glib.cpp:136
#6  0xb6c3a0ed in timerSourcePrepare (source=0xafa01888, timeout=<optimized out>) at kernel/qeventdispatcher_glib.cpp:169
#7  0xb56b388c in g_main_context_prepare () from /lib/i386-linux-gnu/libglib-2.0.so.0
#8  0xb56b4637 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#9  0xb56b4c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#10 0xb6c3ab37 in QEventDispatcherGlib::processEvents (this=0xafa00468, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#11 0xb6c0b1dd in QEventLoop::processEvents (this=0xb03a42a0, flags=...) at kernel/qeventloop.cpp:149
#12 0xb6c0b421 in QEventLoop::exec (this=0xb03a42a0, flags=...) at kernel/qeventloop.cpp:201
#13 0xb6b0e90b in QThread::exec (this=0x98ee5b8) at thread/qthread.cpp:498
#14 0xb6bebe2d in QInotifyFileSystemWatcherEngine::run (this=0x98ee5b8) at io/qfilesystemwatcher_inotify.cpp:248
#15 0xb6b117b3 in QThreadPrivate::start (arg=0x98ee5b8) at thread/qthread_unix.cpp:331
#16 0xb578ad31 in start_thread () from /lib/i386-linux-gnu/libpthread.so.0
#17 0xb69fc0ce in clone () from /lib/i386-linux-gnu/libc.so.6
Backtrace stopped: Not enough registers or memory available to unwind further

Thread 1 (Thread 0xb422b720 (LWP 11142)):
[KCrash Handler]
#7  0x9090c3f3 in ?? ()
#8  0xb5200d45 in KexiTableViewColumn::isReadOnly() const () from /usr/lib/libkexidatatable.so.8
#9  0xb520fb69 in ?? () from /usr/lib/libkexidatatable.so.8
#10 0xb6c0c336 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x9038210, receiver=0x9626c00, event=0xbfb22f34) at kernel/qcoreapplication.cpp:902
#11 0xb6e9fd52 in notify_helper (e=0xbfb22f34, receiver=0x9626c00, this=0x9038210) at kernel/qapplication.cpp:4482
#12 QApplicationPrivate::notify_helper (this=0x9038210, receiver=0x9626c00, e=0xbfb22f34) at kernel/qapplication.cpp:4458
#13 0xb6ea51d8 in QApplication::notify (this=0x9038210, receiver=0x9626c00, e=0xbfb22f34) at kernel/qapplication.cpp:4451
#14 0xb5d70971 in KApplication::notify (this=0x902e0b0, receiver=0x9626c00, event=0xbfb22f34) at ../../kdeui/kernel/kapplication.cpp:311
#15 0xb6c0c19e in QCoreApplication::notifyInternal (this=0x902e0b0, receiver=0x9626c00, event=0xbfb22f34) at kernel/qcoreapplication.cpp:787
#16 0xb6ea20bd in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#17 QApplicationPrivate::enterModal (widget=0xb6b54560) at kernel/qapplication.cpp:2994
#18 0xb6efe7da in QWidgetPrivate::show_helper (this=0x9a08b50) at kernel/qwidget.cpp:7480
#19 0xb6efea51 in QWidget::setVisible (this=0x9aca488, visible=true) at kernel/qwidget.cpp:7697
#20 0xb73d8c54 in QDialog::setVisible (this=0x9aca488, visible=true) at dialogs/qdialog.cpp:739
#21 0xb73d77c7 in show (this=0x9aca488) at ../../include/QtGui/../../src/gui/kernel/qwidget.h:487
#22 QDialog::exec (this=0x9aca488) at dialogs/qdialog.cpp:543
#23 0xb783cf16 in KexiMainWindow::slotToolsImportTables() () from /usr/lib/libkeximain.so.8
#24 0xb784cedd in KexiMainWindow::qt_metacall(QMetaObject::Call, int, void**) () from /usr/lib/libkeximain.so.8
#25 0xb6c12b7d in metacall (argv=0xbfb23258, idx=114, cl=QMetaObject::InvokeMetaMethod, object=0x91913b8) at kernel/qmetaobject.cpp:237
#26 QMetaObject::metacall (object=0x91913b8, cl=QMetaObject::InvokeMetaMethod, idx=114, argv=0xbfb23258) at kernel/qmetaobject.cpp:232
#27 0xb6c21a6a in QMetaObject::activate (sender=0x91b0578, m=0xb77e8458, local_signal_index=1, argv=0xbfb23258) at kernel/qobject.cpp:3278
#28 0xb6e9886d in QAction::triggered (this=0x91b0578, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#29 0xb6e98b0b in QAction::activate (this=0x91b0578, event=QAction::Trigger) at kernel/qaction.cpp:1257
#30 0xb738c1c0 in trigger (this=<optimized out>) at ../../include/QtGui/../../src/gui/kernel/qaction.h:218
#31 QToolButton::nextCheckState (this=0x91f0b28) at widgets/qtoolbutton.cpp:1147
#32 0xb72b4c07 in QAbstractButtonPrivate::click (this=0x91e6428) at widgets/qabstractbutton.cpp:528
#33 0xb72b4f06 in QAbstractButton::mouseReleaseEvent (this=0x91f0b28, e=0xbfb2383c) at widgets/qabstractbutton.cpp:1121
#34 0xb738c25d in QToolButton::mouseReleaseEvent (this=0x91f0b28, e=0xbfb2383c) at widgets/qtoolbutton.cpp:721
#35 0xb6ef9fc8 in QWidget::event (this=0x91f0b28, event=0xbfb2383c) at kernel/qwidget.cpp:8295
#36 0xb72b41a9 in QAbstractButton::event (this=0x91f0b28, e=0xbfb2383c) at widgets/qabstractbutton.cpp:1080
#37 0xb738d99c in QToolButton::event (this=0x91f0b28, event=0xbfb2383c) at widgets/qtoolbutton.cpp:1163
#38 0xb6e9fd84 in notify_helper (e=0xbfb2383c, receiver=0x91f0b28, this=0x9038210) at kernel/qapplication.cpp:4486
#39 QApplicationPrivate::notify_helper (this=0x9038210, receiver=0x91f0b28, e=0xbfb2383c) at kernel/qapplication.cpp:4458
#40 0xb6ea5deb in QApplication::notify (this=0x9038210, receiver=0x91f0b28, e=0xbfb2383c) at kernel/qapplication.cpp:4047
#41 0xb5d70971 in KApplication::notify (this=0x902e0b0, receiver=0x91f0b28, event=0xbfb2383c) at ../../kdeui/kernel/kapplication.cpp:311
#42 0xb6c0c19e in QCoreApplication::notifyInternal (this=0x902e0b0, receiver=0x91f0b28, event=0xbfb2383c) at kernel/qcoreapplication.cpp:787
#43 0xb6ea0d45 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#44 QApplicationPrivate::sendMouseEvent (receiver=0x91f0b28, event=0xbfb2383c, alienWidget=0x91f0b28, nativeWidget=0x9195c68, buttonDown=0xb780aeb4, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3146
#45 0xb6f2d304 in QETWidget::translateMouseEvent (this=0x9195c68, event=0xbfb23cbc) at kernel/qapplication_x11.cpp:4571
#46 0xb6f2be8d in QApplication::x11ProcessEvent (this=0x902e0b0, event=0xbfb23cbc) at kernel/qapplication_x11.cpp:3693
#47 0xb6f5828c in x11EventSourceDispatch (s=0x9035f20, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#48 0xb56b425f in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#49 0xb56b4990 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#50 0xb56b4c2a in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#51 0xb6c3aada in QEventDispatcherGlib::processEvents (this=0x900f218, flags=...) at kernel/qeventdispatcher_glib.cpp:422
#52 0xb6f57e7a in QGuiEventDispatcherGlib::processEvents (this=0x900f218, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#53 0xb6c0b1dd in QEventLoop::processEvents (this=0xbfb23fc4, flags=...) at kernel/qeventloop.cpp:149
#54 0xb6c0b421 in QEventLoop::exec (this=0xbfb23fc4, flags=...) at kernel/qeventloop.cpp:201
#55 0xb6c1019d in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#56 0xb6e9d924 in QApplication::exec () at kernel/qapplication.cpp:3760
#57 0x08048624 in ?? ()
#58 0xb6943113 in __libc_start_main () from /lib/i386-linux-gnu/libc.so.6
#59 0x08048671 in _start ()

Possible duplicates by query: bug 283228.

Reported using DrKonqi
Comment 1 Adam Pigg 2012-02-24 21:48:30 UTC
Is this reproducable everytime?  Does it happen as soon as you click the button?  Can you try with Kexi from Git, as it doesnt happen here.
Comment 2 Jarosław Staniek 2012-02-24 21:53:29 UTC
Hi Iiga, thanks for the report. 
First, advice: to import the csv file use "Import Data From File" command.
"Import Tables" (which you clicked) is a tables importing tool from databases into the current project.

The very same crash has most probably been fixed in Kexi 2.4 beta. As Adam has said, please confirm, thanks.
Comment 3 Jarosław Staniek 2012-02-24 22:10:38 UTC
Adam, how about backporting crash fixes to 2.3 series?
Comment 4 Adam Pigg 2012-02-25 17:49:05 UTC
Git commit 12fdc19ad54d273913954b24ee4248a11b9ee959 by Adam Pigg.
Committed on 25/02/2012 at 18:28.
Pushed by piggz into branch 'master'.

If no driver for the selected source is found, display a message
and do no allow to proceed.
CCMAIL:staniek@kde.org

M  +7    -1    kexi/migration/importtablewizard.cpp

http://commits.kde.org/calligra/12fdc19ad54d273913954b24ee4248a11b9ee959
Comment 5 Jarosław Staniek 2012-02-28 21:48:12 UTC
*** Bug 276483 has been marked as a duplicate of this bug. ***