There seems to be a race condition in the current task tree. At some point, a parent node will advertize itself as having a child but the child will still be in the virtualroot of the filtered tree.
On the other hand, the parent will not be added in the TaskTree, thus not allowing us to put the child in another place than the root. This race conditions is the root cause of every crash I've seen so far with your data. I did not identified where that race condition appear. As a workaround, I now remove from the virtual_root any node that is advertized as a child of another node. This (and many other fixes), allows you data to crash a lot less. But still, they crash, meaning that there's still an issue somewhere. This is a very good stress test. What would be good is to build some unit tests that load your data and play a bit with trees and filters. That would allow us to catch easily regression but also performances regressions (by having a test on the total time needed to run the test). -- Crash toggling off WorkView https://bugs.launchpad.net/bugs/590447 You received this bug notification because you are a member of Gtg contributors, which is subscribed to Getting Things GNOME!. Status in Getting Things GNOME!: Confirmed Bug description: I ran gtg 0.3+bzr (from yesterday) on my (large) set of tasks ported from 0.2, and left it running overnight (no other changes to tasks had been done). WorkView had been turned on. Next morning I clicked WorkView and it crashed: /home/bryce/src/gtg/new-scheduling/GTG/viewmanager/manager.py:207: GtkWarning: file /build/buildd/gtk+2.0-2.18.3/gtk/gtktreeview.c: line 5928 (validate_visible_area): assertion `has_child' failed. There is a disparity between the internal view of the GtkTreeView, and the GtkTreeModel. This generally means that the model has changed without letting the view know. Any display from now on is likely to be incorrect. gtk.main() /home/bryce/src/gtg/new-scheduling/GTG/viewmanager/manager.py:207: GtkWarning: gtk_tree_model_sort_get_value: assertion `VALID_ITER (iter, tree_model_sort)' failed gtk.main() /home/bryce/src/gtg/new-scheduling/GTG/viewmanager/manager.py:207: Warning: g_object_set_property: assertion `G_IS_VALUE (value)' failed gtk.main() /home/bryce/src/gtg/new-scheduling/GTG/viewmanager/manager.py:207: Warning: g_value_unset: assertion `G_IS_VALUE (value)' failed gtk.main() /home/bryce/src/gtg/new-scheduling/GTG/taskbrowser/tasktree.py:377: GtkWarning: gtk_tree_model_sort_get_value: assertion `VALID_ITER (iter, tree_model_sort)' failed value = model.get_value(iter, COL_TAGS) Traceback (most recent call last): File "/home/bryce/src/gtg/new-scheduling/GTG/taskbrowser/tasktree.py", line 377, in _celldatafunction value = model.get_value(iter, COL_TAGS) TypeError: unknown type (null) /home/bryce/src/gtg/new-scheduling/GTG/tools/gtkcrashhandler.py:231: GtkWarning: file /build/buildd/gtk+2.0-2.18.3/gtk/gtktreeview.c: line 5928 (validate_visible_area): assertion `has_child' failed. There is a disparity between the internal view of the GtkTreeView, and the GtkTreeModel. This generally means that the model has changed without letting the view know. Any display from now on is likely to be incorrect. res = dialog.run() /home/bryce/src/gtg/new-scheduling/GTG/tools/gtkcrashhandler.py:231: GtkWarning: gtk_tree_model_sort_get_value: assertion `VALID_ITER (iter, tree_model_sort)' failed res = dialog.run() /home/bryce/src/gtg/new-scheduling/GTG/tools/gtkcrashhandler.py:231: Warning: g_object_set_property: assertion `G_IS_VALUE (value)' failed res = dialog.run() /home/bryce/src/gtg/new-scheduling/GTG/tools/gtkcrashhandler.py:231: Warning: g_value_unset: assertion `G_IS_VALUE (value)' failed res = dialog.run() Traceback (most recent call last): File "/home/bryce/src/gtg/new-scheduling/GTG/taskbrowser/tasktree.py", line 377, in _celldatafunction value = model.get_value(iter, COL_TAGS) TypeError: unknown type (null) _______________________________________________ Mailing list: https://launchpad.net/~gtg Post to : [email protected] Unsubscribe : https://launchpad.net/~gtg More help : https://help.launchpad.net/ListHelp

