Bug 328000

Summary: Crash when opening a form in Kexi
Product: [Applications] KEXI Reporter: Dave Mac <dmacmurc>
Component: FormsAssignee: Jarosław Staniek <staniek>
Status: CLOSED DUPLICATE    
Severity: crash CC: cfeck
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In:
Attachments: KexiTest01.kexi

Description Dave Mac 2013-11-24 08:23:31 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-32-generic x86_64
Distribution: Ubuntu 11.10

-- Information about the crash:
Selected and atttempted to open form in trivial Kexi database

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

Thread 2 (Thread 0x7fae02c5b700 (LWP 10561)):
#0  0x00007fae1964ce63 in __GI___poll (fds=<optimized out>, nfds=<optimized out>, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fae16009f68 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007fae1600a792 in g_main_loop_run () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007fae0abe5516 in ?? () from /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0
#4  0x00007fae1602f2b6 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#5  0x00007fae164dbefc in start_thread (arg=0x7fae02c5b700) at pthread_create.c:304
#6  0x00007fae19658f8d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#7  0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fae1aeff7a0 (LWP 10559)):
[KCrash Handler]
#6  parent (this=<optimized out>) at /usr/include/qt4/QtCore/qobject.h:250
#7  hasParent (o=<optimized out>, par=0xc563d0) at ../../../kexi/kexiutils/utils.h:49
#8  KFormDesigner::Form::autoAssignTabStops (this=0xc14790) at ../../../kexi/formeditor/form.cpp:1491
#9  0x00007fadfc7ba2fc in KexiFormView::initForm (this=0xcb2090) at ../../../../kexi/plugins/forms/kexiformview.cpp:320
#10 0x00007fadfc7bc13f in KexiFormView::KexiFormView (this=0xcb2090, parent=<optimized out>) at ../../../../kexi/plugins/forms/kexiformview.cpp:85
#11 0x00007fadfc7b5851 in KexiFormPart::createView (this=<optimized out>, parent=0xcb0cd0, window=<optimized out>, item=..., viewMode=<optimized out>) at ../../../../kexi/plugins/forms/kexiformpart.cpp:259
#12 0x00007fae1907ed9b in KexiWindow::switchToViewMode (this=0xcb0cd0, newViewMode=Kexi::DataViewMode, staticObjectArgs=0x0, proposeOpeningInTextViewModeBecauseOfProblems=@0x7fff582ded2e) at ../../../kexi/core/KexiWindow.cpp:634
#13 0x00007fae19088802 in KexiPart::Part::openInstance (this=0xb76c90, parent=0x972af0, item=..., viewMode=Kexi::DataViewMode, staticObjectArgs=0x0) at ../../../kexi/core/kexipart.cpp:324
#14 0x00007fae190722df in KexiProject::openObject (this=0xb2c240, parent=0x972af0, item=..., viewMode=Kexi::DataViewMode, staticObjectArgs=0x0) at ../../../kexi/core/kexiproject.cpp:798
#15 0x00007fae1aaddfdb in KexiMainWindow::openObject (this=0x93f8d0, item=0xb73050, viewMode=Kexi::DataViewMode, openingCancelled=<optimized out>, staticObjectArgs=0x0, errorMessage=<optimized out>) at ../../../kexi/main/KexiMainWindow.cpp:4225
#16 0x00007fae1aad621b in openObjectFromNavigator (openingCancelled=@0x7fff582df0df, viewMode=Kexi::DataViewMode, item=0xb73050, this=0x93f8d0) at ../../../kexi/main/KexiMainWindow.cpp:4331
#17 KexiMainWindow::openObjectFromNavigator (this=0x93f8d0, item=0xb73050, viewMode=Kexi::DataViewMode, openingCancelled=@0x7fff582df0df) at ../../../kexi/main/KexiMainWindow.cpp:4294
#18 0x00007fae1aad635e in KexiMainWindow::openObjectFromNavigator (this=<optimized out>, item=<optimized out>, viewMode=<optimized out>) at ../../../kexi/main/KexiMainWindow.cpp:4290
#19 0x00007fae1aae2e11 in KexiMainWindow::qt_metacall (this=0x93f8d0, _c=QMetaObject::InvokeMetaMethod, _id=39, _a=0x7fff582df280) at ./KexiMainWindow.moc:446
#20 0x00007fae19a96eba in QMetaObject::activate (sender=0xb5b320, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff582df280) at kernel/qobject.cpp:3278
#21 0x00007fae188ff610 in KexiProjectNavigator::openOrActivateItem (this=<optimized out>, _t1=0xb73050, _t2=Kexi::DataViewMode) at moc_KexiProjectNavigator.cpp:185
#22 0x00007fae1891e37e in KexiProjectNavigator::slotExecuteItem (this=0xb5b320, vitem=<optimized out>) at ../../../kexi/widget/KexiProjectNavigator.cpp:275
#23 0x00007fae188ffa07 in KexiProjectNavigator::qt_metacall (this=0xb5b320, _c=QMetaObject::InvokeMetaMethod, _id=17, _a=0x7fff582df410) at moc_KexiProjectNavigator.cpp:150
#24 0x00007fae19a96eba in QMetaObject::activate (sender=0xb5b780, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fff582df410) at kernel/qobject.cpp:3278
#25 0x00007fae1a4c0e85 in QAbstractItemView::doubleClicked (this=<optimized out>, _t1=<optimized out>) at .moc/release-shared/moc_qabstractitemview.cpp:338
#26 0x00007fae1a508825 in QTreeView::mouseDoubleClickEvent (this=0xb5b780, event=0x7fff582dff20) at itemviews/qtreeview.cpp:1861
#27 0x00007fae1a004d04 in QWidget::event (this=0xb5b780, event=0x7fff582dff20) at kernel/qwidget.cpp:8299
#28 0x00007fae1a3ad5b6 in QFrame::event (this=0xb5b780, e=0x7fff582dff20) at widgets/qframe.cpp:557
#29 0x00007fae1a4be25b in QAbstractItemView::viewportEvent (this=0xb5b780, event=0x7fff582dff20) at itemviews/qabstractitemview.cpp:1628
#30 0x00007fae1a502df5 in QTreeView::viewportEvent (this=0xb5b780, event=0x7fff582dff20) at itemviews/qtreeview.cpp:1256
#31 0x00007fae19a83c88 in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=<optimized out>, receiver=0xb5ac40, event=0x7fff582dff20) at kernel/qcoreapplication.cpp:902
#32 0x00007fae19fb443f in notify_helper (e=0x7fff582dff20, receiver=0xb5ac40, this=0x66d880) at kernel/qapplication.cpp:4482
#33 QApplicationPrivate::notify_helper (this=0x66d880, receiver=0xb5ac40, e=0x7fff582dff20) at kernel/qapplication.cpp:4458
#34 0x00007fae19fb9cbb in QApplication::notify (this=<optimized out>, receiver=0xb5ac40, e=0x7fff582dff20) at kernel/qapplication.cpp:4047
#35 0x00007fae1732f466 in KApplication::notify (this=0x665bc0, receiver=0xb5ac40, event=0x7fff582dff20) at ../../kdeui/kernel/kapplication.cpp:311
#36 0x00007fae19a83afc in QCoreApplication::notifyInternal (this=0x665bc0, receiver=0xb5ac40, event=0x7fff582dff20) at kernel/qcoreapplication.cpp:787
#37 0x00007fae19fb5442 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:215
#38 QApplicationPrivate::sendMouseEvent (receiver=0xb5ac40, event=0x7fff582dff20, alienWidget=0xb5ac40, nativeWidget=0xb13750, buttonDown=0xb5ac40, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3146
#39 0x00007fae1a0349d5 in QETWidget::translateMouseEvent (this=0xb13750, event=<optimized out>) at kernel/qapplication_x11.cpp:4571
#40 0x00007fae1a03394e in QApplication::x11ProcessEvent (this=0x665bc0, event=0x7fff582e0740) at kernel/qapplication_x11.cpp:3693
#41 0x00007fae1a05c4a2 in x11EventSourceDispatch (s=0x6720e0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#42 0x00007fae16009a5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#43 0x00007fae1600a258 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#44 0x00007fae1600a429 in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#45 0x00007fae19aaeed6 in QEventDispatcherGlib::processEvents (this=0x63df40, flags=<optimized out>) at kernel/qeventdispatcher_glib.cpp:422
#46 0x00007fae1a05c10e in QGuiEventDispatcherGlib::processEvents (this=<optimized out>, flags=<optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#47 0x00007fae19a82cf2 in QEventLoop::processEvents (this=<optimized out>, flags=...) at kernel/qeventloop.cpp:149
#48 0x00007fae19a82ef7 in QEventLoop::exec (this=0x7fff582e0b10, flags=...) at kernel/qeventloop.cpp:201
#49 0x00007fae19a87789 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1064
#50 0x00000000004007a9 in main (argc=<optimized out>, argv=<optimized out>) at ../../kexi/main.cpp:34

Reported using DrKonqi
Comment 1 Jarosław Staniek 2013-11-24 16:17:25 UTC
Hello Dave, many thanks for reporting! Would you be able to attach example database that causes the crash? Please use the "Add an attachment" link below.

Thanks!
Comment 2 Dave Mac 2013-11-24 19:44:46 UTC
Created attachment 83737 [details]
KexiTest01.kexi

Wow - a personal reply to a bug report, and on the weekend? THAT never happens with Access!

First and foremost, infinite thanks for both Kexi in general and your commitment to dealing with bugs. I need to tell you that the crash occurred on Day One with Kexi for me, so there is an excellent chance that it results from ignorance rather than an actual bug. Still I am glad to send you the database and I will take the liberty of providing a little more background.

I have been making a living as an Access developer for over 15 years and for the last decade have been looking for an open source replacement for it. I wasn't impressed with OO Base, and I'm sorry to say that I only became aware of Kexi in the last few weeks. I wanted to check it out and especially find out about the scripting situation, since VBA is central to my Access work.

I installed Kexi using the software centre of my Ubuntu 11.10 release and created a trivial database (attached). I was able to create and populate a table and create a form as you will see, and then wanted to see if I could figure out how to capture events. I think that in the course of that I opened and closed the project a couple of times, but I can't swear to it. In any case, at some point I had closed my form and on double-clicking it in the Project Explorer to re-open it, the crash occurred. It took a little while to go through the bug reporting process since I hadn't yet acquired a Kexi account, and once that was done I went on to other non-Kexi activities, involving my bicycle.

Of course I was astonished and delighted to find your replies this morning, and I have returned to Kexi to send you the database. I have not been able to reproduce the crash, but I have noticed that when I start Kexi and open the project, things appear as they should, but if I close the project [Close Project] and then re-open it [Open] I do not see any objects in the Project Explorer. If I close Kexi and start again, I am able to open the project as I expect to using the Existing Projects tab in the Choose Project dialog, which is not quite the same Open Existing Project dialog that is presented when I click the Open button after closing the project in the main Kexi window.

While I'm using up your time, perhaps I can ask you for any pointers on getting started with scripting for Kexi. I understand from the wiki that this is in early stages, and I've taken a look at an example for importing text data, but I don't know enough yet about the object model to figure out how to attach code to events like updates and clicks. I gather that the options for scripting are Qt or JavaScript, and I'm not very familiar with either, so would you recommend one over the other?

Once again, many thanks for following up.

Dave Macmurchie
North Cove Technical Services

-----Original Message-----
From: bugzilla_noreply@kde.org [mailto:bugzilla_noreply@kde.org] On Behalf Of Jaroslaw Staniek 
Sent: November 24, 2013 8:17 AM
To: dmacmurc@shaw.ca
Subject: [kexi] [Bug 328000] Open form in Kexi

https://bugs.kde.org/show_bug.cgi?id=328000

--- Comment #1 from Jarosław Staniek <staniek@kde.org> ---
Hello Dave, many thanks for reporting! Would you be able to attach example
database that causes the crash? Please use the "Add an attachment" link below.

Thanks!
Comment 3 Christoph Feck 2013-12-05 23:07:24 UTC
The versions of your software is very old, and no longer maintained. You should try newer versions of KDE / Ubuntu / Kexi (Calligra), and report back, if the error still occurs.
Comment 4 Jarosław Staniek 2014-02-08 21:59:09 UTC

*** This bug has been marked as a duplicate of bug 240170 ***