GTG

gtg crash on startup

Bug #1042490 reported by Paul Gear
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
GTG
Incomplete
High
Unassigned

Bug Description

Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/liblarch/processqueue.py", line 42, in process_queue
    func(*action[1:])
  File "/usr/lib/python2.7/dist-packages/liblarch/tree.py", line 230, in _add_node
    self._callback("node-added", node_id)
  File "/usr/lib/python2.7/dist-packages/liblarch/tree.py", line 80, in _callback
    func(node_id)
  File "/usr/lib/python2.7/dist-packages/liblarch/filteredtree.py", line 139, in __external_modify
    return self.__update_node(node_id,direction="both")
  File "/usr/lib/python2.7/dist-packages/liblarch/filteredtree.py", line 203, in __update_node
    self.__update_node(parent,direction="up")
  File "/usr/lib/python2.7/dist-packages/liblarch/filteredtree.py", line 263, in __update_node
    self.tree.modify_node(parent)
  File "/usr/lib/python2.7/dist-packages/liblarch/tree.py", line 90, in modify_node
    self._external_request(self._modify_node, priority, node_id)
  File "/usr/lib/python2.7/dist-packages/liblarch/tree.py", line 110, in _external_request
    self._queue.process_queue()
  File "/usr/lib/python2.7/dist-packages/liblarch/processqueue.py", line 42, in process_queue
    func(*action[1:])
  File "/usr/lib/python2.7/dist-packages/liblarch/tree.py", line 230, in _add_node
    self._callback("node-added", node_id)
  File "/usr/lib/python2.7/dist-packages/liblarch/tree.py", line 80, in _callback
    func(node_id)
  File "/usr/lib/python2.7/dist-packages/liblarch/filteredtree.py", line 139, in __external_modify
    return self.__update_node(node_id,direction="both")
  File "/usr/lib/python2.7/dist-packages/liblarch/filteredtree.py", line 203, in __update_node
    self.__update_node(parent,direction="up")
  File "/usr/lib/python2.7/dist-packages/liblarch/filteredtree.py", line 239, in __update_node
    paths = self.get_paths_for_node(node_id)
  File "/usr/lib/python2.7/dist-packages/liblarch/filteredtree.py", line 442, in get_paths_for_node
    raise Exception("%s is not children of %s\n%s" % (node_id, parent_id,str(self.nodes)))
Exception: 34@1 is not children of root*90124810293810238*!@ébpo@@+épboébpon/*»«%«»(+-¡a
{'868@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '494@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '493@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '229@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '1389@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '964@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '1409@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '521@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '865@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '14@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '1408@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '207@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '520@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '52@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '1000@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '965@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '27@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, '1446@1': {'parents': ['root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a'], 'children': []}, 'root*90124810293810238*!@\xc3\xa9bpo@@+\xc3\xa9pbo\xc3\xa9bpon/*\xc2\xbb\xc2\xab%\xc2\xab\xc2\xbb(+-\xc2\xa1a': {'parents': [], 'children': ['67@1', '135@1', '134@1', '181@1', '182@1', '197@1', '206@1', '207@1', '208@1', '209@1', '211@1', '214@1', '218@1', '229@1', '242@1', '243@1', '255@1', '108@1', '153@1', '287@1', '294@1', '295@1', '311@1', '437@1', '440@1', '426@1', '476@1', '477@1', '478@1', '479@1', '482@1', '481@1', '483@1', '484@1', '485@1', '486@1', '487@1', '488@1', '490@1', '491@1', '493@1', '492@1', '494@1', '498@1', '497@1', '499@1', '500@1', '501@1', '519@1', '520@1', '521@1', '522@1', '523@1', '525@1', '526@1', '527@1', '561@1', '562@1', '564@1', '599@1', '616@1', '618@1', '619@1', '621@1', '622@1', '625@1', '688@1', '690@1', '692@1', '693@1', '702@1', '705@1', '706@1', '707@1', '710@1', '723@1', '724@1', '813@1', '848@1', '849@1', '850@1', '851@1', '852@1', '853@1', '854@1', '855@1', '856@1', '858@1', '862@1', '863@1', '864@1', '865@1', '866@1', '867@1', '868@1', '870@1', '871@1', '897@1', '901@1', '902@1', '954@1', '956@1', '961@1', '963@1', '964@1', '965@1', '966@1', '969@1', '984@1', '985@1', '992@1', '995@1', '1001@1', '1000@1', '1002@1', '1006@1', '1038@1', '1039@1', '1135@1', '1166@1', '1389@1', '1386@1', '1390@1', '1392@1', '1391@1', '1394@1', '1393@1', '1395@1', '1397@1', '1398@1', '1402@1',

Tags: liblarch
Revision history for this message
Paul Gear (paulgear) wrote :

gtg version: 0.2.9-1
Linux distro: Linux Mint Debian Edition (tracking Debian wheezy), kernel 3.2.0-3-amd64

Revision history for this message
Paul Gear (paulgear) wrote :

This system was upgraded from a Ubuntu 10.04 version of gtg, so i'm guessing it's a data incompatibility between gtg versions. Note that the crash does not occur until the main window has loaded most (all?) of the tasks.

Revision history for this message
Paul Gear (paulgear) wrote :

For what it's worth, i was able to work around this bug by editing the tasks XML file. I found the task mentioned in the error ("34@1 is not children of root"), found that there were <subtask> tags which were not recognised by this version of gtg, removed them, and was eventually able to start gtg after repeating for each task mentioned in the subsequent crash.

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

Hi Paul, sorry for late response. Do you still have the original XML file? GTG makes backups every day in ~/.local/share/gtg or ~/.local/share/gtg/backup depending on if you use GTG 0.2.9 or development version. I would need that file to debug this bug. You can anonymize your file using:

bzr branch lp:gtg
cd gtg
./scripts/anonymize_task_file.py ~/.local/share/gtg/backup/gtg_tasks-3d246e96-5a69-4f7d63b-eaf1e188b679.xml.2012-09-10.bak

and upload the final file from /tmp/gtg-tasks.xml. (At the moment, tags are not anonymized, it is already reported as a bug. Nevertheless, the names of tags are the only thing that is not anonymized.)

Please upload that XML for further investigation.

Changed in gtg:
status: New → Incomplete
importance: Undecided → High
tags: added: liblarch
Revision history for this message
Paul Gear (paulgear) wrote : Re: [Bug 1042490] Re: gtg crash on startup

On 09/11/2012 11:56 PM, Izidor Matušov wrote:
> Hi Paul, sorry for late response. Do you still have the original XML
> file? GTG makes backups every day in ~/.local/share/gtg or
> ~/.local/share/gtg/backup depending on if you use GTG 0.2.9 or
> development version. I would need that file to debug this bug. You can
> anonymize your file using:
>
> bzr branch lp:gtg
> cd gtg
> ./scripts/anonymize_task_file.py ~/.local/share/gtg/backup/gtg_tasks-3d246e96-5a69-4f7d63b-eaf1e188b679.xml.2012-09-10.bak

Hi Izidor,

Thanks for your reply. As soon as i noticed the problem i grabbed a
copy of my backups, so hopefully you'll be able to reproduce the bug
with this data. If it doesn't work, i can go further back and grab a
backup from my old laptop.

I've attached a copy of the anonymised file. I hope it comes through
OK, because i had to symlink /usr/local/bin/python2 to /usr/bin/python
on my system. I'm running GTG 0.2.9-1 from Debian wheezy:

root@eber:~# apt-cache policy gtg
gtg:
   Installed: 0.2.9-1
   Candidate: 0.2.9-1
   Version table:
  *** 0.2.9-1 0
         500 http://mirror.internode.on.net/pub/debian/ wheezy/main
amd64 Packages
         100 /var/lib/dpkg/status

After experiencing the bug, i managed to get GTG to start by manually
editing the file each time it complained about a piece of data.
However, after doing this, it seems to loose a few more subtask
relationships each time it's started, and those subtasks become orphaned
and need to be reconnected. Unfortunately, some of my subtasks are
rather simply named, so fixing them up each time is a bit problematic.

> ...
> and upload the final file from /tmp/gtg-tasks.xml. (At the moment, tags
> are not anonymized, it is already reported as a bug. Nevertheless, the
> names of tags are the only thing that is not anonymized.)

I've manually searched and replaced all of the tags with unique
equivalents that are the same length, and preserve punctuation. I hope
this works OK for you.

Thanks for your help and for your work on GTG. If this bug can be
fixed, the new version will be awesome!

Regards,
Paul

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

Hi Paul,

thanks for data. However, I am not able to reproduce it with the current development GTG & liblarch. Maybe you can download debian packages from our GTG Daily PPA: https://launchpad.net/~gtg/+archive/gtg-daily and reproduce it on those versions.

(There were some work done since GTG 0.2.9 and the problem could be solved by now in our trunk)

Thank you

Revision history for this message
Paul Gear (paulgear) wrote :

On 09/19/2012 08:09 PM, Paul Gear wrote:
> On 18/09/12 23:07, Izidor Matušov wrote:
>> Hi Paul,
>>
>> thanks for data. However, I am not able to reproduce it with the current
>> development GTG & liblarch. Maybe you can download debian packages from
>> our GTG Daily PPA: https://launchpad.net/~gtg/+archive/gtg-daily and
>> reproduce it on those versions.
>>
>> (There were some work done since GTG 0.2.9 and the problem could be
>> solved by now in our trunk)
>>
>> Thank you
>>
> Thanks for testing Izidor. If you don't mind, i might pull up the GTG
> tasks list from my old laptop and get you to try it again.

Hi Izidor,

Here's the file from my old laptop, with tags anonymised. I'm able to
reliably reproduce the crash with this file.

> What is the recommended Ubuntu version to use for the GTG daily repo
> with Debian wheezy? Or are they all essentially the same?

What GTG package should i download to test on Debian?

Thanks,
Paul

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

I am still not able to reproduce it with the dev version.

You can grab .deb packages directly from PPA:

https://launchpad.net/~gtg/+archive/gtg-daily/+sourcepub/2651301/+listing-archive-extra - python-liblarch
https://launchpad.net/~gtg/+archive/gtg-daily/+sourcepub/2649685/+listing-archive-extra - gtg

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.