Bug 282936 - Crash importing CSV file KexiDB::SQLitePreparedStatement::execute
Summary: Crash importing CSV file KexiDB::SQLitePreparedStatement::execute
Status: CLOSED FIXED
Alias: None
Product: KEXI
Classification: Applications
Component: Migration/Import/Export (show other bugs)
Version: 2.4 beta1 (Calligra 2.4 beta1)
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: ---
Assignee: Jarosław Staniek
URL:
Keywords:
: 277982 (view as bug list)
Depends on:
Blocks:
 
Reported: 2011-09-27 21:39 UTC by Raúl
Modified: 2012-08-11 11:35 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 2.4 beta3 (Calligra 2.4 beta3)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Raúl 2011-09-27 21:39:08 UTC
Version:           2.4 beta1 (Calligra 2.4 beta1) (using KDE 4.6.5) 
OS:                Linux

Hello:

I've tried to import a CSV file with about 130 rows. I opened the wizard correctly which interpreted the CSV just fine, but when I was about to be done with the import, after the last step I had this crash:

Thread 2 (Thread 0x7fc139d25700 (LWP 24295)):
#0  0x00007fc14c20a145 in ?? () from /lib/x86_64-linux-gnu/libpthread.so.0
#1  0x000000007fffffff in ?? ()
#2  0x00007fc14bd3beaa in g_main_context_check (context=0x1cdf110, max_priority=2147483647, fds=0x7fc1340022c0, n_fds=1)
    at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:2898
#3  0x00007fc14bd3ca02 in g_main_context_iterate (context=0x1cdf110, block=1, dispatch=1, self=<optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3088
#4  0x00007fc14bd3cf1d in g_main_context_iteration (context=0x1cdf110, may_block=1) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3154
#5  0x00007fc14f83bd06 in QEventDispatcherGlib::processEvents (this=0x1cdeb00, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:424
#6  0x00007fc14f810372 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#7  0x00007fc14f81056f in QEventLoop::exec (this=0x7fc139d24dd0, flags=...) at kernel/qeventloop.cpp:201
#8  0x00007fc14f72820f in QThread::exec (this=<optimized out>) at thread/qthread.cpp:492
#9  0x00007fc14f7f339f in QInotifyFileSystemWatcherEngine::run (this=0x1cddd80) at io/qfilesystemwatcher_inotify.cpp:248
#10 0x00007fc14f72ac25 in QThreadPrivate::start (arg=0x1cddd80) at thread/qthread_unix.cpp:320
#11 0x00007fc14c207b40 in ?? () from /lib/x86_64-linux-gnu/libpthread.so.0
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fc150caf780 (LWP 24280)):
#0  0x00007fc14f3c11cd in nanosleep () at ../sysdeps/unix/syscall-template.S:82
#1  0x00007fc14f3c1040 in __sleep (seconds=<optimized out>) at ../sysdeps/unix/sysv/linux/sleep.c:138
#2  0x00007fc14d0f7db0 in startProcessInternal (argc=<optimized out>, argv=0x7fffa2c23b20, waitAndExit=true, directly=false) at ../../kdeui/util/kcrash.cpp:558
#3  0x00007fc14d0f849a in KCrash::startProcess (argc=19, argv=0x7fffa2c23b20, waitAndExit=true) at ../../kdeui/util/kcrash.cpp:524
#4  0x00007fc14d0f8883 in KCrash::defaultCrashHandler (sig=<optimized out>) at ../../kdeui/util/kcrash.cpp:435
#5  <signal handler called>
#6  isNull (d=0x91) at kernel/qguivariant.cpp:292
#7  0x00007fc13b394ce6 in KexiDB::SQLitePreparedStatement::execute (this=0x1f06c90)
    at /home/rasasi/debs/calligra/calligra-2.3.81/kexi/kexidb/drivers/sqlite/sqlitepreparedstatement.cpp:86
#8  0x00007fc139f3ff9f in saveRow (this=0x1c8c610, inGUI=<optimized out>)
    at /home/rasasi/debs/calligra/calligra-2.3.81/kexi/plugins/importexport/csv/kexicsvimportdialog.cpp:1264
#9  KexiCSVImportDialog::saveRow (this=0x1c8c610, inGUI=<optimized out>)
    at /home/rasasi/debs/calligra/calligra-2.3.81/kexi/plugins/importexport/csv/kexicsvimportdialog.cpp:1257
#10 0x00007fc139f42df9 in KexiCSVImportDialog::loadRows (this=0x1c8c610, field=..., row=@0x7fffa2c24b60, column=@0x7fffa2c24b64, maxColumn=@0x7fffa2c24b68, 
    inGUI=false) at /home/rasasi/debs/calligra/calligra-2.3.81/kexi/plugins/importexport/csv/kexicsvimportdialog.cpp:888
#11 0x00007fc139f48e81 in KexiCSVImportDialog::accept (this=0x1c8c610)
    at /home/rasasi/debs/calligra/calligra-2.3.81/kexi/plugins/importexport/csv/kexicsvimportdialog.cpp:1602
#12 0x00007fc14cfedfc4 in KDialog::slotButtonClicked (this=0x1c8c610, button=4) at ../../kdeui/dialogs/kdialog.cpp:884
#13 0x00007fc14cfee3a2 in KDialog::qt_metacall (this=0x1c8c610, _c=QMetaObject::InvokeMetaMethod, _id=33, _a=0x7fffa2c24d40) at ./kdialog.moc:190
#14 0x00007fc139f47460 in KexiCSVImportDialog::qt_metacall (this=0x1c8c610, _c=QMetaObject::InvokeMetaMethod, _id=<optimized out>, _a=0x7fffa2c24d40)
    at /home/rasasi/debs/calligra/calligra-2.3.81/obj-x86_64-linux-gnu/kexi/plugins/importexport/csv/kexicsvimportdialog.moc:89
#15 0x00007fc14f823cca in QMetaObject::activate (sender=0x1c8a2a0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffa2c24d40)
    at kernel/qobject.cpp:3278
#16 0x00007fc14f829e9e in QSignalMapper::mapped (this=<optimized out>, _t1=4) at .moc/release-shared/moc_qsignalmapper.cpp:101
#17 0x00007fc14f82a43b in QSignalMapper::map (this=0x1c8a2a0, sender=0x1c5dc70) at kernel/qsignalmapper.cpp:266
#18 0x00007fc14f82a890 in QSignalMapper::qt_metacall (this=0x1c8a2a0, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fffa2c24e90)
    at .moc/release-shared/moc_qsignalmapper.cpp:87
#19 0x00007fc14f823cca in QMetaObject::activate (sender=0x1c5dc70, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffa2c24e90)
    at kernel/qobject.cpp:3278
#20 0x00007fc1503b6812 in QAbstractButton::clicked (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:206
#21 0x00007fc1500feeee in QAbstractButtonPrivate::emitClicked (this=<optimized out>) at widgets/qabstractbutton.cpp:546
#22 0x00007fc15010022b in QAbstractButtonPrivate::click (this=0x1c8fba0) at widgets/qabstractbutton.cpp:539
#23 0x00007fc15010049c in QAbstractButton::mouseReleaseEvent (this=0x1c5dc70, e=0x7fffa2c258e0) at widgets/qabstractbutton.cpp:1121
#24 0x00007fc14fda0096 in QWidget::event (this=0x1c5dc70, event=0x7fffa2c258e0) at kernel/qwidget.cpp:8259
#25 0x00007fc14fd4f9f4 in notify_helper (e=0x7fffa2c258e0, receiver=0x1c5dc70, this=0x1489730) at kernel/qapplication.cpp:4467
#26 QApplicationPrivate::notify_helper (this=0x1489730, receiver=0x1c5dc70, e=0x7fffa2c258e0) at kernel/qapplication.cpp:4439
#27 0x00007fc14fd5517b in QApplication::notify (this=<optimized out>, receiver=0x1c5dc70, e=0x7fffa2c258e0) at kernel/qapplication.cpp:4028
#28 0x00007fc14d095a66 in KApplication::notify (this=0x1481320, receiver=0x1c5dc70, event=0x7fffa2c258e0) at ../../kdeui/kernel/kapplication.cpp:311
#29 0x00007fc14f81116c in QCoreApplication::notifyInternal (this=0x1481320, receiver=0x1c5dc70, event=0x7fffa2c258e0) at kernel/qcoreapplication.cpp:731
#30 0x00007fc14fd509c2 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#31 QApplicationPrivate::sendMouseEvent (receiver=0x1c5dc70, event=0x7fffa2c258e0, alienWidget=0x1c5dc70, nativeWidget=0x1c8b2f0, buttonDown=0x1c5dc70, 
    lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3127
#32 0x00007fc14fdcce68 in QETWidget::translateMouseEvent (this=0x1c8b2f0, event=<optimized out>) at kernel/qapplication_x11.cpp:4465
#33 0x00007fc14fdcbc6a in QApplication::x11ProcessEvent (this=0x1481320, event=0x7fffa2c26000) at kernel/qapplication_x11.cpp:3591
#34 0x00007fc14fdf3db2 in x11EventSourceDispatch (s=0x148cef0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#35 0x00007fc14bd3c4a3 in g_main_dispatch (context=0x148bce0) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:2440
#36 g_main_context_dispatch (context=0x148bce0) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3013
#37 0x00007fc14bd3cc80 in g_main_context_iterate (context=0x148bce0, block=1, dispatch=1, self=<optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3091
#38 0x00007fc14bd3cf1d in g_main_context_iteration (context=0x148bce0, may_block=1) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3154
#39 0x00007fc14f83bc9f in QEventDispatcherGlib::processEvents (this=0x141c100, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#40 0x00007fc14fdf3a4e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#41 0x00007fc14f810372 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#42 0x00007fc14f81056f in QEventLoop::exec (this=0x7fffa2c263d0, flags=...) at kernel/qeventloop.cpp:201
#43 0x00007fc1501fe5c6 in QDialog::exec (this=0x1c8c610) at dialogs/qdialog.cpp:552
#44 0x00007fc150883a12 in KexiMainWindow::slotProjectImportDataTable (this=<optimized out>)
    at /home/rasasi/debs/calligra/calligra-2.3.81/kexi/main/KexiMainWindow.cpp:4993
#45 0x00007fc15088891d in KexiMainWindow::qt_metacall (this=0x15bc800, _c=QMetaObject::InvokeMetaMethod, _id=65, _a=0x7fffa2c26670)
    at /home/rasasi/debs/calligra/calligra-2.3.81/obj-x86_64-linux-gnu/kexi/main/KexiMainWindow.moc:483
#46 0x00007fc14f823cca in QMetaObject::activate (sender=0x169a0b0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffa2c26670)
    at kernel/qobject.cpp:3278
#47 0x00007fc14fd493e2 in QAction::triggered (this=<optimized out>, _t1=false) at .moc/release-shared/moc_qaction.cpp:263
#48 0x00007fc14fd495cf in QAction::activate (this=0x169a0b0, event=<optimized out>) at kernel/qaction.cpp:1257
#49 0x00007fc1501001ea in QAbstractButtonPrivate::click (this=0x178db20) at widgets/qabstractbutton.cpp:528
#50 0x00007fc15010049c in QAbstractButton::mouseReleaseEvent (this=0x17262c0, e=0x7fffa2c270d0) at widgets/qabstractbutton.cpp:1121
#51 0x00007fc1501bc81a in QToolButton::mouseReleaseEvent (this=<optimized out>, e=<optimized out>) at widgets/qtoolbutton.cpp:721
#52 0x00007fc14fda0096 in QWidget::event (this=0x17262c0, event=0x7fffa2c270d0) at kernel/qwidget.cpp:8259
#53 0x00007fc14fd4f9f4 in notify_helper (e=0x7fffa2c270d0, receiver=0x17262c0, this=0x1489730) at kernel/qapplication.cpp:4467
#54 QApplicationPrivate::notify_helper (this=0x1489730, receiver=0x17262c0, e=0x7fffa2c270d0) at kernel/qapplication.cpp:4439
#55 0x00007fc14fd5517b in QApplication::notify (this=<optimized out>, receiver=0x17262c0, e=0x7fffa2c270d0) at kernel/qapplication.cpp:4028
#56 0x00007fc14d095a66 in KApplication::notify (this=0x1481320, receiver=0x17262c0, event=0x7fffa2c270d0) at ../../kdeui/kernel/kapplication.cpp:311
#57 0x00007fc14f81116c in QCoreApplication::notifyInternal (this=0x1481320, receiver=0x17262c0, event=0x7fffa2c270d0) at kernel/qcoreapplication.cpp:731
#58 0x00007fc14fd509c2 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#59 QApplicationPrivate::sendMouseEvent (receiver=0x17262c0, event=0x7fffa2c270d0, alienWidget=0x17262c0, nativeWidget=0x1690260, buttonDown=0x17262c0, 
    lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3127
#60 0x00007fc14fdcce68 in QETWidget::translateMouseEvent (this=0x1690260, event=<optimized out>) at kernel/qapplication_x11.cpp:4465
#61 0x00007fc14fdcbc6a in QApplication::x11ProcessEvent (this=0x1481320, event=0x7fffa2c277f0) at kernel/qapplication_x11.cpp:3591
#62 0x00007fc14fdf3db2 in x11EventSourceDispatch (s=0x148cef0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#63 0x00007fc14bd3c4a3 in g_main_dispatch (context=0x148bce0) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:2440
#64 g_main_context_dispatch (context=0x148bce0) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3013
#65 0x00007fc14bd3cc80 in g_main_context_iterate (context=0x148bce0, block=1, dispatch=1, self=<optimized out>)
    at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3091
#66 0x00007fc14bd3cf1d in g_main_context_iteration (context=0x148bce0, may_block=1) at /tmp/buildd/glib2.0-2.28.6/./glib/gmain.c:3154
#67 0x00007fc14f83bc9f in QEventDispatcherGlib::processEvents (this=0x141c100, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#68 0x00007fc14fdf3a4e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#69 0x00007fc14f810372 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#70 0x00007fc14f81056f in QEventLoop::exec (this=0x7fffa2c27bc0, flags=...) at kernel/qeventloop.cpp:201
#71 0x00007fc14f814717 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1008
#72 0x0000000000400819 in ?? ()
#73 0x00007fc14f339ead in __libc_start_main (main=<optimized out>, argc=<optimized out>, ubp_av=<optimized out>, init=<optimized out>, fini=<optimized out>, 
    rtld_fini=<optimized out>, stack_end=0x7fffa2c27cd8) at libc-start.c:228
#74 0x000000000040086d in _start ()


Reproducible: Always

Steps to Reproduce:
Create a new SQLite DB.
Import from CSV file

Actual Results:  
Crash

Expected Results:  
Data imported into DB
Comment 1 Jarosław Staniek 2011-09-27 22:03:42 UTC
Thanks Raúl,
Could you provide sample csv file that causes the crash?
Comment 2 Jarosław Staniek 2011-09-27 22:04:03 UTC
(you can use 'Add an attachment' link below)
Comment 3 Raúl 2011-09-28 06:50:34 UTC
File has confidential data. I'll try to wipe them out somehow and reduce it to a test case. Thanks for the quick answer.
Comment 4 Jarosław Staniek 2011-10-02 10:25:42 UTC
Git commit ccec3bd820d119e26204ae9bf7daee82ac150e7a by Jaroslaw Staniek.
Committed on 02/10/2011 at 12:24.
Pushed by staniek into branch 'master'.

CSV Import: Fixed crash for larger CSV data import
BUG:282936

DIGEST: Fixed crash for larger CSV data import in Kexi

M  +3    -5    kexi/plugins/importexport/csv/kexicsvimportdialog.cpp

http://commits.kde.org/calligra/ccec3bd820d119e26204ae9bf7daee82ac150e7a
Comment 5 Jarosław Staniek 2011-12-31 00:08:05 UTC
*** Bug 277982 has been marked as a duplicate of this bug. ***