GTG

GTG0.3-development fails to start

Bug #924323 reported by Gustavo Earnshaw
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
GTG
Fix Released
High
Unassigned

Bug Description

Hello,

I'm using GTG0.3 (installed from the package gtg-bzr in archlinux) and the RTM backend. It's a great tool and I love it! but an error occurred when modifying a task, now every time I start the same error occurs and I lost some tasks!

This is the error log:

Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/tree.py", line 174, in _process_queue
    func(*action[1:])
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/tree.py", line 302, in _add_node
    self._callback("node-added", node_id)
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/tree.py", line 142, in _callback
    func(node_id)
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 163, in __external_modify
    if not self.update_node(node_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 223, in update_node
    self.send_add_tree(node_id, parent_id)
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 293, in send_add_tree
    self.callback('added', node_id, path)
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 113, in callback
    func(node_id, path)
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/__init__.py", line 219, in __emit
    func(node_id,path)
  File "/usr/lib/python2.7/site-packages/GTG/gtk/browser/treeview_factory.py", line 349, in _update_tags
    tree.refresh_node(t.get_name())
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/__init__.py", line 59, in refresh_node
    self.__tree.modify_node(node_id)
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/tree.py", line 152, in modify_node
    self._external_request(self._modify_node, False, node_id)
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/tree.py", line 168, in _external_request
    self._process_queue()
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/tree.py", line 174, in _process_queue
    func(*action[1:])
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/tree.py", line 352, in _modify_node
    self._callback('node-modified', node_id)
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/tree.py", line 142, in _callback
    func(node_id)
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 163, in __external_modify
    if not self.update_node(node_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 223, in update_node
    self.send_add_tree(node_id, parent_id)
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 285, in send_add_tree
    paths = self.get_paths_for_node(parent_id)
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 432, in get_paths_for_node
    for parent_path in self.get_paths_for_node(parent_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 432, in get_paths_for_node
    for parent_path in self.get_paths_for_node(parent_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 432, in get_paths_for_node
    for parent_path in self.get_paths_for_node(parent_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 432, in get_paths_for_node
    for parent_path in self.get_paths_for_node(parent_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 432, in get_paths_for_node
    for parent_path in self.get_paths_for_node(parent_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 432, in get_paths_for_node
    for parent_path in self.get_paths_for_node(parent_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 432, in get_paths_for_node
    for parent_path in self.get_paths_for_node(parent_id):
  .....
  .....
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 432, in get_paths_for_node
    for parent_path in self.get_paths_for_node(parent_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 432, in get_paths_for_node
    for parent_path in self.get_paths_for_node(parent_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 432, in get_paths_for_node
    for parent_path in self.get_paths_for_node(parent_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 432, in get_paths_for_node
    for parent_path in self.get_paths_for_node(parent_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 432, in get_paths_for_node
    for parent_path in self.get_paths_for_node(parent_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 432, in get_paths_for_node
    for parent_path in self.get_paths_for_node(parent_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 422, in get_paths_for_node
    if node_id == self.root_id or not self.is_displayed(node_id):
  File "/usr/lib/python2.7/site-packages/GTG/tools/liblarch/filteredtree.py", line 373, in is_displayed
    return node_id in self.nodes
RuntimeError: maximum recursion depth exceeded in cmp

Revision history for this message
Lionel Dricot (ploum-deactivatedaccount) wrote :

Do you know what revision it is ? Can you reproduce this with the latest trunk ?

bzr branch lp:gtg
cd gtg
./gtg

Izidor Matušov (izidor)
Changed in gtg:
status: New → Incomplete
importance: Undecided → High
Revision history for this message
Izidor Matušov (izidor) wrote :

Hi Gustavo,

I can confirm this bug. It happens sometimes but it is not easily reproduced. If you can reproduce it on every start, great! Please, anonymize your data using this commands:

bzr branch lp:gtg
cd gtg
scripts/anonymize_task_file.py

It anonymize your data (every character except @tags replace by a letter 'm') and puts it in /tmp/gtg-tasks.xml. Please, upload it, so I could try to reproduce it on my own computer...

Revision history for this message
Gustavo Earnshaw (gustavoear) wrote :

ok, here is the file. Luckily all the tasks are in the xml and I have not lost as I mentioned before. I believe that the error does not come to load them all.

Revision history for this message
Izidor Matušov (izidor) wrote :

I'm not able to reproduce that bug on purpose even with your data. :-(

What plugins do you use? Which revision of GTG do you use? Can you reproduce it with the newest source code from Bazaar?

I did looked at the code and it seems to me that we have at a certain point a recursion in the task tree although it should not happen..

Changed in gtg:
milestone: none → 0.3
assignee: nobody → Izidor Matušov (izidor)
Revision history for this message
Gustavo Earnshaw (gustavoear) wrote :

Hello,

I use the hamster plugin and rtm backend. The same applies to the latest revision of lp:gtg. But I have noticed the following in the file tags.xml:

<tag color="#00FFC7" name="@1-proximo" nonworkview="False" parent="@1-proximo"/>

I removed the parent attribute and now it works!

I Use nested tags commonly but not on this label. I'm not sure how this occurred.

Anyway, my problem has been solved.

Revision history for this message
Lionel Dricot (ploum-deactivatedaccount) wrote :

ok, then that's a bug I've also already seen with tasks: a task becomes its own parent and break everything. It should be fixed within liblarch.

You probably inadvertently moved the tag on itself with your mouse.

Revision history for this message
Lionel Dricot (ploum-deactivatedaccount) wrote :

fixed in rev 1059

Changed in gtg:
status: Incomplete → Fix Committed
assignee: Izidor Matušov (izidor) → Lionel Dricot (ploum)
milestone: 0.3 → 0.2.9
Izidor Matušov (izidor)
Changed in gtg:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.