Bug 334234 - Kexi crashes on 'Quit' and closing window
Summary: Kexi crashes on 'Quit' and closing window
Status: CLOSED WAITINGFORINFO
Alias: None
Product: KEXI
Classification: Applications
Component: General (show other bugs)
Version: 2.9 Alpha
Platform: Compiled Sources Linux
: NOR crash
Target Milestone: 2.9
Assignee: Jarosław Staniek
URL:
Keywords:
: 335739 336546 336900 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-05-02 14:42 UTC by Ian Balchin
Modified: 2015-03-04 18:23 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
New crash information added by DrKonqi (9.13 KB, text/plain)
2014-05-09 15:53 UTC, Jaime Torres
Details
Another case that we're still not handling. (5.13 KB, application/octet-stream)
2014-05-14 20:18 UTC, Jarosław Staniek
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Balchin 2014-05-02 14:42:26 UTC
Application: kexi (2.9 Pre-Alpha)
KDE Platform Version: 4.8.5 (4.8.5) (Compiled from sources)
Qt Version: 4.8.1
Operating System: Linux 3.2.0-23-generic i686
Distribution: Linux Mint 13 Maya

-- Information about the crash:
I closed the application (Quit). It repeats always. I have to have opened a database and edited a record. Then it will crash. If I just open and close, no crash.

The crash can be reproduced every time.

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

Thread 2 (Thread 0xa72e0b40 (LWP 6115)):
#0  0x00a3f416 in __kernel_vsyscall ()
#1  0x0063e96b in pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/i386/i686/../i486/pthread_cond_wait.S:169
#2  0x045b44bc in __pthread_cond_wait (cond=0x68df890, mutex=0x68df878) at forward.c:139
#3  0x067db029 in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4
#4  0x067db06f in ?? () from /usr/lib/i386-linux-gnu/libQtScript.so.4
#5  0x0063ad4c in start_thread (arg=0xa72e0b40) at pthread_create.c:308
#6  0x045a6bae in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:130

Thread 1 (Thread 0xb7773740 (LWP 6100)):
[KCrash Handler]
#7  0x00000000 in ?? ()
#8  0x0040e384 in KexiWindow::close (this=0x91f56c8, force=true) at /home/inksi/kde4/src/calligra/kexi/core/KexiWindow.cpp:324
#9  0x0040dbec in KexiWindow::~KexiWindow (this=0x91f56c8, __in_chrg=<optimized out>) at /home/inksi/kde4/src/calligra/kexi/core/KexiWindow.cpp:168
#10 0x0040dc87 in KexiWindow::~KexiWindow (this=0x91f56c8, __in_chrg=<optimized out>) at /home/inksi/kde4/src/calligra/kexi/core/KexiWindow.cpp:172
#11 0x0017f21e in KexiWindowContainer::~KexiWindowContainer (this=0x938da28, __in_chrg=<optimized out>) at /home/inksi/kde4/src/calligra/kexi/main/KexiMainWindow_p.h:143
#12 0x0017f279 in KexiWindowContainer::~KexiWindowContainer (this=0x938da28, __in_chrg=<optimized out>) at /home/inksi/kde4/src/calligra/kexi/main/KexiMainWindow_p.h:145
#13 0x00175bbc in KexiMainWindow::closeWindow (this=0x8f952e0, window=0x91f56c8, layoutTaskBar=true, doNotSaveChanges=false) at /home/inksi/kde4/src/calligra/kexi/main/KexiMainWindow.cpp:2954
#14 0x00174f4b in KexiMainWindow::closeWindow (this=0x8f952e0, window=0x91f56c8) at /home/inksi/kde4/src/calligra/kexi/main/KexiMainWindow.cpp:2781
#15 0x00170123 in KexiMainWindow::closeProject (this=0x8f952e0) at /home/inksi/kde4/src/calligra/kexi/main/KexiMainWindow.cpp:1607
#16 0x00173f44 in KexiMainWindow::slotProjectQuit (this=0x8f952e0) at /home/inksi/kde4/src/calligra/kexi/main/KexiMainWindow.cpp:2539
#17 0x0017b333 in KexiMainWindow::qt_static_metacall (_o=0x8f952e0, _c=QMetaObject::InvokeMetaMethod, _id=74, _a=0xbfc4aa38) at /home/inksi/kde4/build/calligra/kexi/main/KexiMainWindow.moc:503
#18 0x034206b1 in QMetaObject::activate (sender=0x915a280, m=0x14f23f8, local_signal_index=1, argv=0xbfc4aa38) at kernel/qobject.cpp:3547
#19 0x00b739bd in QAction::triggered (this=0x915a280, _t1=false) at .moc/release-shared/moc_qaction.cpp:277
#20 0x00b73c5b in QAction::activate (this=0x915a280, event=QAction::Trigger) at kernel/qaction.cpp:1257
#21 0x0018eb27 in KexiMenuWidgetPrivate::activateCausedStack (this=0x91f5010, causedStack=..., action=0x915a280, action_e=QAction::Trigger, self=true) at /home/inksi/kde4/src/calligra/kexi/main/KexiMenuWidget.cpp:1218
#22 0x0018ee5c in KexiMenuWidgetPrivate::activateAction (this=0x91f5010, action=0x915a280, action_e=QAction::Trigger, self=true) at /home/inksi/kde4/src/calligra/kexi/main/KexiMenuWidget.cpp:1285
#23 0x001927dc in KexiMenuWidget::mouseReleaseEvent (this=0x91f5258, e=0xbfc4b1c4) at /home/inksi/kde4/src/calligra/kexi/main/KexiMenuWidget.cpp:2404
#24 0x00bd51ac in QWidget::event (this=0x91f5258, event=0xbfc4b1c4) at kernel/qwidget.cpp:8362
#25 0x00192da0 in KexiMenuWidget::event (this=0x91f5258, e=0xbfc4b1c4) at /home/inksi/kde4/src/calligra/kexi/main/KexiMenuWidget.cpp:2512
#26 0x00b7aed4 in notify_helper (e=0xbfc4b1c4, receiver=0x91f5258, this=0x8fb43e8) at kernel/qapplication.cpp:4559
#27 QApplicationPrivate::notify_helper (this=0x8fb43e8, receiver=0x91f5258, e=0xbfc4b1c4) at kernel/qapplication.cpp:4531
#28 0x00b81024 in QApplication::notify (this=0x8fb43e8, receiver=0x91f5258, e=0xbfc4b1c4) at kernel/qapplication.cpp:4102
#29 0x016ffe01 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#30 0x0340997e in QCoreApplication::notifyInternal (this=0x8faadb8, receiver=0x91f5258, event=0xbfc4b1c4) at kernel/qcoreapplication.cpp:876
#31 0x00b7be95 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231
#32 QApplicationPrivate::sendMouseEvent (receiver=0x91f5258, event=0xbfc4b1c4, alienWidget=0x0, nativeWidget=0x91f5258, buttonDown=0x150fcf4, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3170
#33 0x00c080c4 in QETWidget::translateMouseEvent (this=0x91f5258, event=0xbfc4b67c) at kernel/qapplication_x11.cpp:4619
#34 0x00c06c5d in QApplication::x11ProcessEvent (this=0x8faadb8, event=0xbfc4b67c) at kernel/qapplication_x11.cpp:3734
#35 0x00c33efc in x11EventSourceDispatch (s=0x8fb4700, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#36 0x04b51d46 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0
#37 0x04b520e5 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#38 0x04b521c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0
#39 0x0343c8e7 in QEventDispatcherGlib::processEvents (this=0x8fb4148, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#40 0x00c33afa in QGuiEventDispatcherGlib::processEvents (this=0x8fb4148, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#41 0x0340850d in QEventLoop::processEvents (this=0xbfc4b974, flags=...) at kernel/qeventloop.cpp:149
#42 0x034087a9 in QEventLoop::exec (this=0xbfc4b974, flags=...) at kernel/qeventloop.cpp:204
#43 0x0340deba in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148
#44 0x00b78a74 in QApplication::exec () at kernel/qapplication.cpp:3820
#45 0x08048796 in main (argc=1, argv=0xbfc4ba84) at /home/inksi/kde4/src/calligra/kexi/main.cpp:36

Reported using DrKonqi
Comment 1 Jarosław Staniek 2014-05-02 21:20:25 UTC
Thanks for reporting. I need to know what exact version you compiled. The most recent right now is: commit dc9d3efaf36f45847762fd3c3517529701c71476. For this version the only similar issue I found is when I used the Query Designer.

To check, go to the calligra/ source code directory and type:

git log -1 kexi | head -n1
Comment 2 Ian Balchin 2014-05-03 07:30:42 UTC
commit 1c53aa8b9e0968178424786177453f887d328ceb

Ian
Comment 3 Adam Pigg 2014-05-03 10:44:53 UTC
I too get a crash on exit when ive been using the query plugin.
Comment 4 Ian Balchin 2014-05-03 11:57:39 UTC
Adam, there are other instances when it will crash, not restricted to running a query. I just opened a query, which I edited, then got a crash on exit. Repeatable.

On the other hand, if I open a form, advance through the records, edit them, then exit, there is no crash. Repeatable.

Glad I am not the only one making crashes!

Ian
Comment 5 Wojciech Kosowicz 2014-05-03 15:27:27 UTC
I was able to get in reproduced on newest origin master commit: 83f9cf76ebd05413ec750aafec116ab9c86b172f appeared when I tried to modify query (I guess the same case as @staniek.
Comment 6 Jarosław Staniek 2014-05-03 15:44:21 UTC
@Wojciech Great. What worried me is that Ian reported the same crash not only for queries. Anyway, it may be related to ReleaseWithDebInfo build type. Also, I am hoping fixing it for queries can fix it everywhere.
Comment 7 Wojciech Kosowicz 2014-05-03 15:56:09 UTC
It crashes in KexiWindow::close when trying to delete second pointer to KexiView from the list
Comment 8 Adam Pigg 2014-05-03 17:01:34 UTC
My BT

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff2aae5b0 in vtable for QPaintDevice () from /usr/lib64/libQtGui.so.4
(gdb) bt
#0  0x00007ffff2aae5b0 in vtable for QPaintDevice () from /usr/lib64/libQtGui.so.4
#1  0x00007ffff72b9e2c in KexiWindow::close (this=this@entry=0x9b8720, force=force@entry=true) at /home/piggz/src/calligra/kexi/core/KexiWindow.cpp:324
#2  0x00007ffff72b9fa6 in KexiWindow::~KexiWindow (this=0x9b8720, __in_chrg=<optimized out>) at /home/piggz/src/calligra/kexi/core/KexiWindow.cpp:168
#3  0x00007ffff72ba099 in KexiWindow::~KexiWindow (this=0x9b8720, __in_chrg=<optimized out>) at /home/piggz/src/calligra/kexi/core/KexiWindow.cpp:172
#4  0x00007ffff75809d6 in ~KexiWindowContainer (this=0x90b970, __in_chrg=<optimized out>) at /home/piggz/src/calligra/kexi/main/KexiMainWindow_p.h:143
#5  KexiWindowContainer::~KexiWindowContainer (this=0x90b970, __in_chrg=<optimized out>) at /home/piggz/src/calligra/kexi/main/KexiMainWindow_p.h:145
#6  0x00007ffff757724a in KexiMainWindow::closeWindow (this=this@entry=0x7c7b50, window=<optimized out>, layoutTaskBar=layoutTaskBar@entry=true, doNotSaveChanges=doNotSaveChanges@entry=false) at /home/piggz/src/calligra/kexi/main/KexiMainWindow.cpp:2954
#7  0x00007ffff7577688 in KexiMainWindow::closeWindow (this=0x7c7b50, window=<optimized out>) at /home/piggz/src/calligra/kexi/main/KexiMainWindow.cpp:2781
#8  0x00007ffff756af1d in KexiMainWindow::closeWindowForTab (this=0x7c7b50, tabIndex=<optimized out>) at /home/piggz/src/calligra/kexi/main/KexiMainWindow.cpp:2794
#9  0x00007ffff757f8ca in KexiMainWindow::qt_static_metacall (_o=0x7c7b50, _id=-14484, _a=0x7fffffffcbd0, _c=<optimized out>) at /home/piggz/src/calligra-build/kexi/main/KexiMainWindow.moc:396
#10 0x00007ffff3118d68 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#11 0x00007ffff2454d51 in QTabWidget::tabCloseRequested(int) () from /usr/lib64/libQtGui.so.4
#12 0x00007ffff3118d68 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#13 0x00007ffff244a8d1 in QTabBar::tabCloseRequested(int) () from /usr/lib64/libQtGui.so.4
#14 0x00007ffff3118d68 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib64/libQtCore.so.4
#15 0x00007ffff264e612 in QAbstractButton::clicked(bool) () from /usr/lib64/libQtGui.so.4
#16 0x00007ffff23b1613 in ?? () from /usr/lib64/libQtGui.so.4
#17 0x00007ffff23b2783 in ?? () from /usr/lib64/libQtGui.so.4
#18 0x00007ffff23b286c in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#19 0x00007ffff2053f3e in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#20 0x00007ffff20049ec in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#21 0x00007ffff200b0ed in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#22 0x00007ffff3b6b47a in KApplication::notify(QObject*, QEvent*) () from /usr/lib64/libkdeui.so.5
#23 0x00007ffff31050ad in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib64/libQtCore.so.4
#24 0x00007ffff200a8a3 in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#25 0x00007ffff207c0bb in ?? () from /usr/lib64/libQtGui.so.4
#26 0x00007ffff207ab2c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#27 0x00007ffff20a19c2 in ?? () from /usr/lib64/libQtGui.so.4
#28 0x00007fffebf10316 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#29 0x00007fffebf10668 in ?? () from /usr/lib64/libglib-2.0.so.0
#30 0x00007fffebf1070c in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#31 0x00007ffff3131d55 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#32 0x00007ffff20a1a76 in ?? () from /usr/lib64/libQtGui.so.4
#33 0x00007ffff3103d0f in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#34 0x00007ffff3104005 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib64/libQtCore.so.4
#35 0x00007ffff310913b in QCoreApplication::exec() () from /usr/lib64/libQtCore.so.4
#36 0x0000000000400b31 in main (argc=<optimized out>, argv=0x7fffffffdbb8) at /home/piggz/src/calligra/kexi/main.cpp:36
Comment 9 Wojciech Kosowicz 2014-05-03 17:48:25 UTC
as we all can see this is not related to quiting application it happens when closing query window quit just triggers this event
Comment 10 Adam Pigg 2014-05-03 19:32:27 UTC
Ive added some debug code to KexiWindow::close(boot) and done a little investigating and found this:
There are 2 loops in this function the first notifies that the views are closing, the second deletes the views associated with the window.  There should be at most 1 data view and 1 design view.

When i open form in design mode and close it, loop 1 runs once as does loop 2 and the world is happy, the view in each is a design view.

When i open a form in data view and close it, again, loop 1 runs once and loop 2 runs once.  the view is a data view and again the world is happy.

When i open a form in design view, then switch to data view and close it, loop one runs twice and loop 2 runs twice, with a data and design view.  Still, the world is happy.

When i open a query in data view and close it, loop 1 runs once and loop 2 runs once.  The view is a data view.  Happiness prevails.

When i open a query in design view and close it, loop 1 runs 3 times, loop 2 runs and crashes on the second iteration.  The view in the 3 runs of loop 1 is a design view.  

My guess is these three views are the same one, and we try to delete it multiple times.

When i open a query in design view an switch to data view and close it, there appears to be 1 data view and 3 design views still.

The bug appears to be in the query design view parenting to the window.
Comment 11 Wojciech Kosowicz 2014-05-03 19:49:42 UTC
Adam I also run a bit of digging and running on the second iteration I noticed it was different memory address than the first one. I need to double check it. I also found that it started after introducing commit 4f233828ea2c2909701dcf655de05c808ae67082. I built it also with one commit less f0b9019dae435eeaa618978a613baa88331e2c74 and there was no crash. Thanks for help : )
Comment 12 Wojciech Kosowicz 2014-05-03 20:25:55 UTC
talking about Adam's iterations: in the first one printing object that is about to be deleted resulted in something like this:
$2 = {<QWidget> = {<No data fields>}, <KexiActionProxy> = {
    _vptr.KexiActionProxy = 0xa8a144d4 <vtable for KexiQueryDesignerGuiEditor+340>, 
    m_host = 0x81f059c, m_receiver = {o = 0x853cc10}, m_sharedActionChildren = {{p = {
          static shared_null = {ref = {_q_value = 5200}, alloc = 0, begin = 0, end = 0, 
            sharable = 1, array = {0x0}}, d = 0x8625bf8}, d = 0x8625bf8}}, 
    m_alternativeActions = {{p = {static shared_null = {ref = {_q_value = 5200}, 
            alloc = 0, begin = 0, end = 0, sharable = 1, array = {0x0}}, 
          d = 0xb68e1434 <QListData::shared_null>}, 
        d = 0xb68e1434 <QListData::shared_null>}}, m_actionProxyParent = 0x839d544, 
    m_signal_parent = <incomplete type>, m_KAction_setEnabled_helper = 0x83bbe40, 
    m_focusedChild = 0x8577924, d = 0x8531160}, static staticMetaObject = {d = {
      superdata = 0xb6546a7c <QWidget::staticMetaObject>, 
      stringdata = 0xb7c7f880 <qt_meta_stringdata_KexiView> "KexiView", 
      data = 0xb7c7f760 <qt_meta_data_KexiView>, 
      extradata = 0xb7c9e0a4 <KexiView::staticMetaObjectExtraData>}}, 
  static staticMetaObjectExtraData = {objects = 0x0, 
    static_metacall = 0xb7c5e58c <KexiView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>}, d = 0x8556588}

this one deletes okay. The second view that crashes prints out like this 

$3 = {<QWidget> = {<No data fields>}, <KexiActionProxy> = {
    _vptr.KexiActionProxy = 0xb7c9dd60 <vtable for KexiActionProxy+8>, 
    m_host = 0x81f059c, m_receiver = {o = 0x8577910}, m_sharedActionChildren = {{p = {
          static shared_null = {ref = {_q_value = 4555}, alloc = 0, begin = 0, end = 0, 
            sharable = 1, array = {0x0}}, d = 0xb68e1434 <QListData::shared_null>}, 
        d = 0xb68e1434 <QListData::shared_null>}}, m_alternativeActions = {{p = {
          static shared_null = {ref = {_q_value = 4555}, alloc = 0, begin = 0, end = 0, 
            sharable = 1, array = {0x0}}, d = 0xb68e1434 <QListData::shared_null>}, 
        d = 0xb68e1434 <QListData::shared_null>}}, m_actionProxyParent = 0x0, 
    m_signal_parent = <incomplete type>, m_KAction_setEnabled_helper = 0x8273df8, 
    m_focusedChild = 0x0, d = 0x8273ea8}, static staticMetaObject = {d = {
      superdata = 0xb6546a7c <QWidget::staticMetaObject>, 
      stringdata = 0xb7c7f880 <qt_meta_stringdata_KexiView> "KexiView", 
      data = 0xb7c7f760 <qt_meta_data_KexiView>, 
      extradata = 0xb7c9e0a4 <KexiView::staticMetaObjectExtraData>}}, 
  static staticMetaObjectExtraData = {objects = 0x0, 
    static_metacall = 0xb7c5e58c <KexiView::qt_static_metacall(QObject*, QMetaObject::Call, int, void**)>}, d = 0x8273f08}
Comment 13 Jaime Torres 2014-05-09 15:53:25 UTC
Created attachment 86541 [details]
New crash information added by DrKonqi

kexi (2.9 Pre-Alpha) on KDE Platform 4.13.60 using Qt 4.8.6

- What I was doing when the application crashed:

Just closing a script window that opened by mistake.

version: commit 8eb244e92e8d0ab1be998b0327a4ad2808067ed8 (master)  Fri May 9 15:27:41 2014 +0200

-- Backtrace (Reduced):
#7  0x00007f982c470155 in KexiWindow::close (this=this@entry=0x42d5240, force=force@entry=true) at /g/kdegit/calligra/kexi/core/KexiWindow.cpp:324
#8  0x00007f982c4701f6 in KexiWindow::~KexiWindow (this=0x42d5240, __in_chrg=<optimized out>) at /g/kdegit/calligra/kexi/core/KexiWindow.cpp:168
#9  0x00007f982c4702a9 in KexiWindow::~KexiWindow (this=0x42d5240, __in_chrg=<optimized out>) at /g/kdegit/calligra/kexi/core/KexiWindow.cpp:172
#10 0x00007f982c556075 in KexiWindowContainer::~KexiWindowContainer (this=0x3b9a740, __in_chrg=<optimized out>) at /g/kdegit/calligra/kexi/main/KexiMainWindow_p.h:143
#11 0x00007f982c5560c9 in KexiWindowContainer::~KexiWindowContainer (this=0x3b9a740, __in_chrg=<optimized out>) at /g/kdegit/calligra/kexi/main/KexiMainWindow_p.h:145
Comment 14 Adam Pigg 2014-05-09 17:39:39 UTC
Jaime, the fix is here and will be in git shortly
https://git.reviewboard.kde.org/r/118056/
Comment 15 Wojciech Kosowicz 2014-05-09 17:57:45 UTC
Git commit 94032ec1e22c1db6f607baec9634730eec6c40c8 by Wojciech Kosowicz.
Committed on 08/05/2014 at 18:29.
Pushed by wkosowicz into branch 'master'.

Removing non-direct children of kexiwindow from to be deleted list

The findChildren method returned all the children even those non-direct
When deleting view it propagates from parent to children. Therefore
situation occured when view was first indirectly deleted and them
directly. This checks for the non-direct childs and deletes from the
list
FIXED-IN: 2.8.3

M  +10   -6    kexi/core/KexiWindow.cpp

http://commits.kde.org/calligra/94032ec1e22c1db6f607baec9634730eec6c40c8
Comment 16 Jarosław Staniek 2014-05-09 22:08:26 UTC
Git commit 6c8b194ff273f945f99fe014f170c9c6257f672a by Jaroslaw Staniek, on behalf of Wojciech Kosowicz.
Committed on 08/05/2014 at 18:29.
Pushed by staniek into branch 'calligra/2.8'.

Removing non-direct children of kexiwindow from to be deleted list

The findChildren method returned all the children even those non-direct
When deleting view it propagates from parent to children. Therefore
situation occured when view was first indirectly deleted and them
directly. This checks for the non-direct childs and deletes from the
list.
FIXED-IN: 2.8.3
REVIEW:118056

M  +10   -6    kexi/core/KexiWindow.cpp

http://commits.kde.org/calligra/6c8b194ff273f945f99fe014f170c9c6257f672a
Comment 17 Jarosław Staniek 2014-05-14 20:18:51 UTC
Created attachment 86634 [details]
Another case that we're still not handling.

It happens with query designer was used.
Comment 18 Wojciech Kosowicz 2014-05-14 23:14:35 UTC
I will investigate it :)
Comment 19 Wojciech Kosowicz 2014-05-15 21:49:32 UTC
Any steps to reproduce would be appreciated :)
Comment 20 Ian Balchin 2014-06-01 17:31:20 UTC
Hi, this crash is no longer happening repeatedly, but I am having random crashes, usually when closing something. The Find box is a good culprit. I spoke to  Jaroslaw about random crashes and will post another bug for the next one that happens - maybe tomorrow with a little "luck".
Comment 21 Jarosław Staniek 2014-06-03 08:10:48 UTC
a backtrace from #335739

#10 0x0085a616 in qt_message_output (msgType=QtFatalMsg, buf=0xc55fb90 "ASSERT: \"d\" in file /usr/include/qt4/QtCore/qscopedpointer.h, line 112") at global/qglobal.cpp:2276 #11 0x0085aa4b in qt_message (msgType=QtFatalMsg, msg=0x9e7138 "ASSERT: \"%s\" in file %s, line %d", ap=0xbfdaafe4 "=\fW") at global/qglobal.cpp:2322 #12 0x0085ab68 in qFatal (msg=0x9e7138 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2505 #13 0x0085abf5 in qt_assert (assertion=0x570c3d "d", file=0x570c14 "/usr/include/qt4/QtCore/qscopedpointer.h", line=112) at global/qglobal.cpp:2002 #14 0x00534711 in QScopedPointer<QObjectData, QScopedPointerDeleter<QObjectData> >::operator-> (this=0xc6df85c) at /usr/include/qt4/QtCore/qscopedpointer.h:112 #15 0x0053424a in QObject::parent (this=0xc6df858) at /usr/include/qt4/QtCore/qobject.h:273 #16 0x0054b5e4 in KexiWindow::close (this=0xa3ea440, force=true) at /home/inksi/kde4/src/calligra/kexi/core/KexiWindow.cpp:325 #17 0x0054ae48 in KexiWindow::~KexiWindow (this=0xa3ea440, __in_chrg=<optimized out>) at /home/inksi/kde4/src/calligra/kexi/core/KexiWindow.cpp:168 #18 0x0054aee3 in KexiWindow::~KexiWindow (this=0xa3ea440, __in_chrg=<optimized out>) at /home/inksi/kde4/src/calligra/kexi/core/KexiWindow.cpp:172 #19 0x00d6119e in KexiWindowContainer::~KexiWindowContainer (this=0xa1fc178, __in_chrg=<optimized out>) at /home/inksi/kde4/src/calligra/kexi/main/KexiMainWindow_p.h:143 #20 0x00d611f9 in KexiWindowContainer::~KexiWindowContainer (this=0xa1fc178, __in_chrg=<optimized out>) at /home/inksi/kde4/src/calligra/kexi/main/KexiMainWindow_p.h:145 #21 0x00d57a14 in KexiMainWindow::closeWindow (this=0x9bc12f8, window=0xa3ea440, layoutTaskBar=true, doNotSaveChanges=false) at /home/inksi/kde4/src/calligra/kexi/main/KexiMainWindow.cpp:3054 #22 0x00d56da3 in KexiMainWindow::closeWindow (this=0x9bc12f8, window=0xa3ea440) at /home/inksi/kde4/src/calligra/kexi/main/KexiMainWindow.cpp:2880 #23 0x00d56e48 in KexiMainWindow::closeWindowForTab (this=0x9bc12f8, tabIndex=1) at /home/inksi/kde4/src/calligra/kexi/main/KexiMainWindow.cpp:2893 #24 0x00d5c11e in KexiMainWindow::qt_static_metacall (_o=0x9bc12f8, _c=QMetaObject::InvokeMetaMethod, _id=6, _a=0xbfdab468) at /home/inksi/kde4/build/calligra-2.8/kexi/main/KexiMainWindow.moc:394 #25 0x009916b1 in QMetaObject::activate (sender=0x9e4e268, m=0x1997724, local_signal_index=1, argv=0xbfdab468) at kernel/qobject.cpp:3547 #26 0x01506fd5 in QTabWidget::tabCloseRequested (this=0x9e4e268, _t1=1) at .moc/release-shared/moc_qtabwidget.cpp:221 #27 0x015072b1 in qt_static_metacall (_a=0xbfdab568, _id=1, _o=0x9e4e268, _c=<optimized out>) at .moc/release-shared/moc_qtabwidget.cpp:111 #28 QTabWidget::qt_static_metacall (_o=0x9e4e268, _c=QMetaObject::InvokeMetaMethod, _id=1, _a=0xbfdab568) at .moc/release-shared/moc_qtabwidget.cpp:104 #29 0x009916b1 in QMetaObject::activate (sender=0x9e4f920, m=0x199752c, local_signal_index=1, argv=0xbfdab568) at kernel/qobject.cpp:3547 #30 0x014faa65 in QTabBar::tabCloseRequested (this=0x9e4f920, _t1=1) at .moc/release-shared/moc_qtabbar.cpp:222 #31 0x014fab16 in QTabBarPrivate::_q_closeTab (this=0x9e4f968) at widgets/qtabbar.cpp:662 #32 0x009916b1 in QMetaObject::activate (sender=0xc538178, m=0x19a37c8, local_signal_index=2, argv=0xbfdab6a8) at kernel/qobject.cpp:3547 #33 0x0174f9cd in QAbstractButton::clicked (this=0xc538178, _t1=false) at .moc/release-shared/moc_qabstractbutton.cpp:220 #34 0x0144367d in QAbstractButtonPrivate::emitClicked (this=0xc5425a0) at widgets/qabstractbutton.cpp:548 #35 0x01444ceb in QAbstractButtonPrivate::click (this=0xc5425a0) at widgets/qabstractbutton.cpp:541 #36 0x01444fa6 in QAbstractButton::mouseReleaseEvent (this=0xc538178, e=0xbfdabd44) at widgets/qabstractbutton.cpp:1123 #37 0x010721ac in QWidget::event (this=0xc538178, event=0xbfdabd44) at kernel/qwidget.cpp:8362 #38 0x01444249 in QAbstractButton::event (this=0xc538178, e=0xbfdabd44) at widgets/qabstractbutton.cpp:1082 #39 0x01017ed4 in notify_helper (e=0xbfdabd44, receiver=0xc538178, this=0x9be0140) at kernel/qapplication.cpp:4559 #40 QApplicationPrivate::notify_helper (this=0x9be0140, receiver=0xc538178, e=0xbfdabd44) at kernel/qapplication.cpp:4531 #41 0x0101e024 in QApplication::notify (this=0x9be0140, receiver=0xc538178, e=0xbfdabd44) at kernel/qapplication.cpp:4102 #42 0x01b9ce01 in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5 #43 0x0097a97e in QCoreApplication::notifyInternal (this=0x9bd6d28, receiver=0xc538178, event=0xbfdabd44) at kernel/qcoreapplication.cpp:876 #44 0x01018e95 in sendEvent (event=<optimized out>, receiver=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:231 #45 QApplicationPrivate::sendMouseEvent (receiver=0xc538178, event=0xbfdabd44, alienWidget=0xc538178, nativeWidget=0x9e4f920, buttonDown=0x19accf4, lastMouseReceiver=..., spontaneous=true) at kernel/qapplication.cpp:3170 #46 0x010a50c4 in QETWidget::translateMouseEvent (this=0x9e4f920, event=0xbfdac1fc) at kernel/qapplication_x11.cpp:4619 #47 0x010a3c5d in QApplication::x11ProcessEvent (this=0x9bd6d28, event=0xbfdac1fc) at kernel/qapplication_x11.cpp:3734 #48 0x010d0efc in x11EventSourceDispatch (s=0x9be1ad0, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #49 0x04860d46 in g_main_context_dispatch () from /lib/i386-linux-gnu/libglib-2.0.so.0 #50 0x048610e5 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0 #51 0x048611c1 in g_main_context_iteration () from /lib/i386-linux-gnu/libglib-2.0.so.0 #52 0x009ad8e7 in QEventDispatcherGlib::processEvents (this=0x9be0750, flags=...) at kernel/qeventdispatcher_glib.cpp:426 #53 0x010d0afa in QGuiEventDispatcherGlib::processEvents (this=0x9be0750, flags=...) at kernel/qguieventdispatcher_glib.cpp:204 #54 0x0097950d in QEventLoop::processEvents (this=0xbfdac4f4, flags=...) at kernel/qeventloop.cpp:149 #55 0x009797a9 in QEventLoop::exec (this=0xbfdac4f4, flags=...) at kernel/qeventloop.cpp:204 #56 0x0097eeba in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1148 #57 0x01015a74 in QApplication::exec () at kernel/qapplication.cpp:3820 #58 0x08048796 in main (argc=2, argv=0xbfdac604) at /home/inksi/kde4/src/calligra/kexi/main.cpp:36
Comment 22 Jarosław Staniek 2014-06-03 08:11:01 UTC
*** Bug 335739 has been marked as a duplicate of this bug. ***
Comment 23 Jarosław Staniek 2014-06-21 22:14:10 UTC
*** Bug 336546 has been marked as a duplicate of this bug. ***
Comment 24 Jarosław Staniek 2014-06-30 12:30:33 UTC
*** Bug 336900 has been marked as a duplicate of this bug. ***
Comment 25 Jarosław Staniek 2014-09-22 15:18:08 UTC
Set a NEEDSINFO. Let's see if we someone reproduces the bug in Kexi >= 2.8.6.
Comment 26 Jarosław Staniek 2015-02-23 11:12:10 UTC
Update: after some fixes in 2.9 betas, I did not experience this for a long time. Would be nice if you test 2.9 and tell me.
Comment 27 Jarosław Staniek 2015-03-04 09:31:47 UTC
We'll reopen if someone reports issues for 2.9.0 and newer.
Comment 28 Ian Balchin 2015-03-04 18:23:31 UTC
Hello, Jarosław,

noted. will test when 2.9 installed.

Ian

On Wed, 04 Mar 2015 09:35:00 +0000
Jarosław Staniek <staniek@kde.org> wrote:

> https://bugs.kde.org/show_bug.cgi?id=334234
> 
> Jarosław Staniek <staniek@kde.org> changed:
> 
>            What    |Removed                     |Added
> ----------------------------------------------------------------------------
>              Status|RESOLVED                    |CLOSED
> 


-----
Ian Balchin
Fables Bookshop, Grahamstown.