Hello,

I tested the newest revision and the bug was NOT fixed.

I than changed the time delay in line 691 of explorer.py from 50ms to 200ms.

No the bug seams to be fixed.

Thank's for the good work!

Best regards:

Uwe Fechner

Am 02.01.2013 22:05, schrieb Pierre Raybaut:
This bug should be fixed by this revision:
http://code.google.com/p/spyderlib/source/detail?r=8d6d603d1f316f177fbbcd5cdf25230153274fee#

Cheers,
-Pierre

2012/11/21 Uwe Fechner <[email protected]>:
Hello,

this could also be a bug in Spyder. Citation:
"

The passive nature of models provides new challenges for programmers.
Inconsistencies in the model can cause the application to crash.

Since the model is hit by numerous calls from the view, it is
hard to find out which call has crashed the application and which
operation has introduced the problem.

"

I think it could be worth to run the model that is implemented
for the treeview of the project explorer with ModelTest for
Python, see:
http://code.google.com/p/modeltest-pyside/

But I am happy with the workaround (close all open projects
before closing spyder) for now.

Some more details:

3.5 Debugging with ModelTest

The passive nature of models provides new challenges for programmers.
Inconsistencies in the model can cause the application to crash.

Since the model is hit by numerous calls from the view, it is
hard to find out which call has crashed the application and which
operation has introduced the problem.

Qt Labs provides software called ModelTest, which checks models
while your programming is running. Every time the model is changed,
ModelTest scans the model and reports errors with an assert.
This is especially important for tree models, since their hierarchical
nature leaves many possibilities for subtle inconsistencies.

http://benjamin-meyer.blogspot.nl/2007/02/qt-qabstractitemmodel-modeltest.html

Complete backtrace:

(gdb) bt
#0  0xb5ad99c2 in QSortFilterProxyModel::parent(QModelIndex const&) const ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#1  0xb6040b31 in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtGui.so
#2  0xb5a8c4d5 in QTreeView::indexRowSizeHint(QModelIndex const&) const ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#3  0xb5a90757 in QTreeViewPrivate::itemHeight(int) const ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#4  0xb5a90a2b in QTreeViewPrivate::updateScrollBars() ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#5  0xb5a90d58 in QTreeView::updateGeometries() ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#6  0xb5f600b8 in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtGui.so
#7  0xb5a42705 in QAbstractItemView::resizeEvent(QResizeEvent*) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#8  0xb5f80d3c in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtGui.so
#9  0xb54f018e in QWidget::event(QEvent*) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#10 0xb590de55 in QFrame::event(QEvent*) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#11 0xb59a0ab1 in QAbstractScrollArea::viewportEvent(QEvent*) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#12 0xb5a46acc in QAbstractItemView::viewportEvent(QEvent*) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#13 0xb5a94b66 in QTreeView::viewportEvent(QEvent*) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#14 0xb5f8aeea in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtGui.so
#15 0xb59a31d6 in ?? () from /usr/lib/i386-linux-gnu/libQtGui.so.4
#16 0xb6890b16 in
QCoreApplicationPrivate::sendThroughObjectEventFilters(QObject*, QEvent*) ()
from /usr/lib/i386-linux-gnu/libQtCore.so.4
#17 0xb5495ea2 in QApplicationPrivate::notify_helper(QObject*, QEvent*) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#18 0xb549b3a2 in QApplication::notify(QObject*, QEvent*) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#19 0xb620c975 in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtGui.so
#20 0xb689097e in QCoreApplication::notifyInternal(QObject*, QEvent*) ()
    from /usr/lib/i386-linux-gnu/libQtCore.so.4
#21 0xb54ea697 in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool)
()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#22 0xb54f3158 in QWidgetPrivate::show_helper() ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#23 0xb54f35c1 in QWidget::setVisible(bool) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#24 0xb54f30e8 in QWidgetPrivate::showChildren(bool) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#25 0xb54f3180 in QWidgetPrivate::show_helper() ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#26 0xb54f35c1 in QWidget::setVisible(bool) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#27 0xb5f809ba in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtGui.so
#28 0xb54f30e8 in QWidgetPrivate::showChildren(bool) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#29 0xb54f3180 in QWidgetPrivate::show_helper() ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#30 0xb54f2f64 in QWidgetPrivate::show_recursive() ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#31 0xb54f3069 in QWidgetPrivate::showChildren(bool) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#32 0xb54f3180 in QWidgetPrivate::show_helper() ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#33 0xb54f2f64 in QWidgetPrivate::show_recursive() ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#34 0xb54f3069 in QWidgetPrivate::showChildren(bool) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#35 0xb54f3180 in QWidgetPrivate::show_helper() ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#36 0xb54f35c1 in QWidget::setVisible(bool) ()
    from /usr/lib/i386-linux-gnu/libQtGui.so.4
#37 0xb60bdea6 in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtGui.so
#38 0xb61aa6ae in ?? () from /usr/lib/python2.7/dist-packages/PyQt4/QtGui.so
#39 0x081949c1 in PyEval_EvalFrameEx ()
#40 0x08194eec in PyEval_EvalFrameEx ()
#41 0x08194eec in PyEval_EvalFrameEx ()
#42 0x0819af70 in PyEval_EvalCodeEx ()
#43 0x0819b8a1 in PyRun_FileExFlags ()
#44 0x080a8bda in PyRun_SimpleFileExFlags ()
#45 0x080a9949 in Py_Main ()
#46 0x0805ea5b in main ()
(gdb)

(gdb) info threads
   Id   Target Id         Frame
   14   Thread 0xae08db40 (LWP 28884) 0xb7764424 in __kernel_vsyscall ()
   13   Thread 0xae88eb40 (LWP 28883) 0xb7764424 in __kernel_vsyscall ()
   12   Thread 0xa5f2cb40 (LWP 28891) 0xb7764424 in __kernel_vsyscall ()
   11   Thread 0xa672db40 (LWP 28890) 0xb7764424 in __kernel_vsyscall ()
   10   Thread 0x9d3eeb40 (LWP 28909) 0xb7764424 in __kernel_vsyscall ()
   9    Thread 0x9e988b40 (LWP 28893) 0xb7764424 in __kernel_vsyscall ()
   8    Thread 0x9b1ffb40 (LWP 28914) 0xb7764424 in __kernel_vsyscall ()
   7    Thread 0x9bbfeb40 (LWP 28913) 0xb7764424 in __kernel_vsyscall ()
   6    Thread 0x9f2a9b40 (LWP 28892) 0xb7764424 in __kernel_vsyscall ()
   5    Thread 0x9c3ffb40 (LWP 28912) 0xb7764424 in __kernel_vsyscall ()
   4    Thread 0x9dbefb40 (LWP 28908) 0xb7764424 in __kernel_vsyscall ()
   3    Thread 0xa988eb40 (LWP 28889) 0xb7764424 in __kernel_vsyscall ()
   2    Thread 0xb088ab40 (LWP 28882) 0xb7764424 in __kernel_vsyscall ()
* 1    Thread 0xb730bb00 (LWP 28881) 0xb5ad99c2 in
QSortFilterProxyModel::parent(QModelIndex const&) const () from
/usr/lib/i386-linux-gnu/libQtGui.so.4
(gdb)


Best regards:

Uwe Fechner



Am 21.11.2012 17:22, schrieb Carlos Córdoba:

Thanks Uwe for finding the real source of the problem. It's really helpful
for us.

Unfortunately I couldn't reproduce the problem following the instructions
you gave to us, although I'm using Kubuntu and you are in Ubuntu, which
could be an important difference. I have a virtual machine with Ubuntu 12.04
so I'll try to check it out later there.

In any case, I agree with Tim that this seems more of a Qt problem than a
problem with our code, so we probably can't fix it.

Cheers,
Carlos

El 19/11/12 17:02, Uwe Fechner escribió:

Am 19.11.2012 10:00, schrieb [email protected]:

when starting with the debug option I get one error shown (sometimes, when
closing
the program) which might be related or not:

I do not see this nor do I personally understand the messages.
So the others may need to help.

But I would still suspect that things are with the QT libs.

Sorry.

Hello,

I did some more testing.

The bug appears only under the following conditions:
1. The window "Project explorer" is shown when closing Spyder.
2. There are at least two projects shown in the "Project explorer".
3. At least one of the projects must be open and must contain at
    least one file when closing Spyder.

Exactly under these conditions the bug appears.

If I close the projects (the tree view) so that none of the containing
files is shown in the "Project explorer" when closing Spyder than
no crash occurs. Otherwise it crashes on every second launch.

It doesn't matter how many files are open in the editor.

Best regards:

Uwe Fechner



--
You received this message because you are subscribed to the Google Groups
"spyder" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/spyderlib?hl=en.

--
You received this message because you are subscribed to the Google Groups 
"spyder" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/spyderlib?hl=en.

Reply via email to