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