GTG

Hyphens and underscores in tags cause RTM syncing error, halting

Bug #767787 reported by Jay S
22
This bug affects 4 people
Affects Status Importance Assigned to Milestone
GTG
Won't Fix
Critical
Unassigned

Bug Description

I've now stripped all my tags of hyphens and underscores, and syncing has been succeeding every time. I'm now pretty certain that they are the source of this problem.

Comment #8 especially should be ignored.

GTG 0.3-0~ubuntu117

I started with a clean GTG -- ~/.local/share/gtg and ~/.config/gtg were removed -- then synced with RTM. Syncing was successful.

One of the downloaded tasks in GTG had two tags in its description, although only one was recognized by GTG as being an actual tag (the other wasn't highlighted). I deleted the un-highlighted one.

I tried to sync again, and when it got to the task that I had just modified, I got this error message in the terminal

2011-04-20 18:09:34,955 - DEBUG - rtmTask:__log:258 - getting the task id
Exception in thread Thread-84:
Traceback (most recent call last):
  File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.6/threading.py", line 484, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/syncEngine.py", line 79, in synchronize
    self.synchronizeWorker()
  File "/usr/share/gtg/GTG/plugins/rtm_sync/syncEngine.py", line 194, in synchronizeWorker
    remote_task.copy(local_task)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/genericTask.py", line 46, in copy
    self.tags = task.tags
  File "/usr/share/gtg/GTG/plugins/rtm_sync/genericTask.py", line 68, in <lambda>
    lambda self, arg: self._set_tags(arg))
  File "/usr/share/gtg/GTG/plugins/rtm_sync/rtmTask.py", line 127, in _set_tags
    tags=tagstxt)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/pyrtm/rtm.py", line 153, in <lambda>
    aname, rargs, oargs, **params)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/pyrtm/rtm.py", line 169, in callMethod
    **params)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/pyrtm/rtm.py", line 108, in get
    rsp.err.msg, rsp.err.code)
RTMAPIError: API call failed - list_id invalid or not provided (320)

Revision history for this message
Jay S (topdownjimmy) wrote :

I get the same error after starting GTG fresh again; downloading all tasks from RTM; marking a task as complete in GTG; and then syncing:

2011-04-20 18:22:35,831 - DEBUG - rtmTask:__log:258 - getting tag list(1): dotted <taskseries_17> : created, id, location_id, modified, name, notes, participants, source, tags, task, url
2011-04-20 18:22:35,831 - DEBUG - rtmTask:__log:258 - getting status:
2011-04-20 18:22:35,831 - DEBUG - rtmTask:__log:258 - getting the task id
Exception in thread Thread-79:
Traceback (most recent call last):
  File "/usr/lib/python2.6/threading.py", line 532, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.6/threading.py", line 484, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/syncEngine.py", line 79, in synchronize
    self.synchronizeWorker()
  File "/usr/share/gtg/GTG/plugins/rtm_sync/syncEngine.py", line 194, in synchronizeWorker
    remote_task.copy(local_task)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/genericTask.py", line 42, in copy
    self.status = task.status
  File "/usr/share/gtg/GTG/plugins/rtm_sync/genericTask.py", line 60, in <lambda>
    lambda self, arg: self._set_status(arg))
  File "/usr/share/gtg/GTG/plugins/rtm_sync/rtmTask.py", line 87, in _set_status
    task_id = self.id)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/pyrtm/rtm.py", line 153, in <lambda>
    aname, rargs, oargs, **params)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/pyrtm/rtm.py", line 169, in callMethod
    **params)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/pyrtm/rtm.py", line 108, in get
    rsp.err.msg, rsp.err.code)
RTMAPIError: API call failed - list_id invalid or not provided (320)

Revision history for this message
Jay S (topdownjimmy) wrote :

I repeated the above, but instead of marking a task as done in GTG, I added some text to its body. I encountered the same error.

Revision history for this message
Jay S (topdownjimmy) wrote :

After the previous step, I did nothing else, then closed and restarted GTG. Syncing worked this time.

I then marked a task as complete in GTG. Again, syncing worked.

After restarting GTG again, I noticed that all my tags were missing in GTG.

Revision history for this message
Jay S (topdownjimmy) wrote :

I'm noticing this can happen now even if I don't make any changes to tasks in GTG, although it seems to happen more frequently once the sync process reaches a task marked as completed in GTG.

Revision history for this message
Jay S (topdownjimmy) wrote :

After a *lot* of testing, I think I have isolated this problem to tasks that are in Remember The Milk's INBOX list. I can make all kinds of crazy changes to tasks in other lists, both from GTG and from RTM, and syncing continues to work. But as soon as I touch a task in GTG that RTM considers to be on the INBOX list, syncing halts on that task with the error described above.

Jay S (topdownjimmy)
summary: - Error with RTM syncing: list_id invalid or not provided
+ Tasks in RTM "Inbox" list cause syncing problem
summary: - Tasks in RTM "Inbox" list cause syncing problem
+ Tasks in RTM "Inbox" list cause syncing error, halting
Revision history for this message
Jay S (topdownjimmy) wrote : Re: Changes to tasks in RTM "Inbox" and "Sent" lists cause syncing error, halting

I just observed that this error also occurs when making changes to tasks in RTM's "Sent" list.

More specifically, trying to sync after a change is made to one of those tasks results in the error, and subsequent syncs fail similarly, although not always on the same task as before. It isn't until you delete ~/.local/share/gtg/plugins/rtm-sync/taskpairs that sync is able to run successfully again.

summary: - Tasks in RTM "Inbox" list cause syncing error, halting
+ Changes to tasks in RTM "Inbox" and "Sent" lists cause syncing error,
+ halting
Revision history for this message
Jay S (topdownjimmy) wrote :
tags: added: backends plugin plugins
Revision history for this message
Jay S (topdownjimmy) wrote :
Download full text (3.9 KiB)

Some observations:

#####################
### TEST SERIES 1 ###
#####################

1) Close GTG if it's running
2) Add a task to the "Personal" list in RTM
3) Delete ~/.local/share/gtg/plugins/rtm-sync/taskpairs
4) Open GTG
5) Sync GTG to RTM
6) Open the task in GTG and add a tag
7) Sync GTG to RTM
ERROR

1) Close GTG if it's running
2) Delete ~/.local/share/gtg/plugins/rtm-sync/taskpairs
3) Open GTG
4) Sync GTG to RTM
5) Add a task to the "Personal" list in RTM
6) Sync GTG to RTM
7) Open the task in GTG and add a tag
8) Sync GTG to RTM
NO ERROR

CONCLUSION: Until the taskpairs file already exists, any new tasks imported from RTM will cause this error when changes are made to them.

#####################
### TEST SERIES 2 ###
#####################

1) Close GTG if it's running
2) Delete ~/.local/share/gtg/plugins/rtm-sync/taskpairs
3) Open GTG
4) Sync GTG to RTM
5) Add a task to the "Inbox" list in RTM
6) Sync GTG to RTM
7) Open the task in GTG and add a tag
8) Sync GTG to RTM
ERROR

CONCLUSION: GTG has trouble making/accepting changes to/from *any* task in RTM's "Inbox" list, provided that task was created in RTM.

#####################
### TEST SERIES 3 ###
#####################

1) Close GTG if it's running
2) Delete ~/.local/share/gtg/plugins/rtm-sync/taskpairs
3) Open GTG
4) Sync GTG to RTM
5) Add a task to the "Inbox" list in RTM
6) Move the task to the "Personal" list in RTM
7) Sync GTG to RTM
8) Open the new task in GTG and add a tag
9) Sync GTG to RTM
NO ERROR

1) Close GTG if it's running
2) Delete ~/.local/share/gtg/plugins/rtm-sync/taskpairs
3) Open GTG
4) Sync GTG to RTM
5) Add a task to the "Inbox" list in RTM
6) Sync GTG to RTM
7) Move the task to the "Personal" list in RTM
8) Sync GTG to RTM
9) Open the new task in GTG and add a tag
10) Sync GTG to RTM
ERROR

11) Close GTG
12) Delete ~/.local/share/gtg/plugins/rtm-sync/taskpairs
13) Open GTG
14) Sync GTG to RTM
15) Open in GTG the task you created in (5) and add a tag
16) Sync GTG to RTM
ERROR

17) Delete the problematic task from GTG
18) Delete the problematic task from RTM
19) Close and re-open GTG
20) Sync GTG to RTM
ERROR

CONCLUSION: If GTG has ever seen a given task appear in RTM's "Inbox" list, syncing with that task will forever produce errors, regardless of whether it is moved off of the "Inbox" list. The only solution here is to delete the task from both GTG and RTM and delete the taskpairs file.

#####################
### TEST SERIES 4 ###
#####################

1) Close GTG if it's running
2) Delete ~/.local/share/gtg/plugins/rtm-sync/taskpairs
3) Open GTG
4) Sync GTG to RTM
5) Add a task to GTG
6) Sync GTG to RTM (the task will appear in RTM's "Inbox" list)
7) Open the task in GTG and add a tag
8) Sync GTG to RTM
NO ERROR

9) Move the task from RTM's "Inbox" list to the "Personal" list
10) Sync GTG to RTM
NO ERROR

11) Open the task in GTG and add a tag
12) Sync to RTM
ERROR

1) Close GTG if it's running
2) Delete ~/.local/share/gtg/plugins/rtm-sync/taskpairs
3) Open GTG
4) Sync GTG to RTM
5) Add a task to GTG
6) Sync GTG to RTM (the task will appear in RTM's "Inbox" list)
7) Move the task from RTM's "Inbox" list to the "Personal" list
8) Sync GTG to RTM
7) O...

Read more...

Revision history for this message
Jay S (topdownjimmy) wrote :

Another behavior that seems to trigger this error is tagging things in GTG by dragging and dropping them onto the desired tag in the left sidebar. Tagging manually -- by opening the task and typing @tag -- doesn't seem to result in sync errors, but tagging by drag-dropping seems to every time, even when the "Inbox" list isn't involved.

Revision history for this message
Jay S (topdownjimmy) wrote :

So, it turns out the behaviors I've been studying all morning aren't as consistent as I've described above (although they sure seemed to be for a while).

I was running through Test Series 2 above, and was surprised to find I wasn't having any trouble. My new theory is that this problem comes from the way GTG reads, parses, and writes tags. For instance, I created a task in the Inbox, added the tags "test" and "work," and everything was fine. Then I added the tag "test-2", the sync failed, and the task in question suddenly had a "Note" attached to it in RTM, and the content of that note was "-2,"

Presumably it took that hyphen to be a text delimiter for some reason and interpreted that part of the tag as a note.

I manually "synced" the tags in the tasks in RTM and GTG so that they both only had the tag "@test", deleted the "Note" from the task in RTM, and syncing succeeded. I was even able to add a new tag to the task in GTG, sync again, and this time the tag went up to RTM just fine.

Jay S (topdownjimmy)
summary: - Changes to tasks in RTM "Inbox" and "Sent" lists cause syncing error,
- halting
+ Hyphens in tags cause syncing error, halting
Revision history for this message
Jay S (topdownjimmy) wrote : Re: Hyphens and underscores in tags cause syncing error, halting

I've now stripped all my tags of hyphens and underscores, and syncing has been succeeding every time. I'm now pretty certain that they are the source of this problem.

summary: - Hyphens in tags cause syncing error, halting
+ Hyphens and underscores in tags cause syncing error, halting
description: updated
Jay S (topdownjimmy)
description: updated
Revision history for this message
Alkalyzer (alkalyzer) wrote :

This bug also affects me and the synchronization update appears everytime I changed something in GTG (tags, due date). The other way around (modifiying the task in RTM) doesn't lead to any synchronization problem.

I am running ubuntu 11.04 and gtg obtained from the daily ppa (current version : 0.3-0~ubuntu119)

Here is the logfile produced by the gtg -d command when I try to run the synchronization process after having modified a task in GTG:

2011-07-25 11:26:11,421 - DEBUG - rtmTask:__log:258 - getting the task id
Exception in thread Thread-23:
Traceback (most recent call last):
  File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
    self.run()
  File "/usr/lib/python2.7/threading.py", line 505, in run
    self.__target(*self.__args, **self.__kwargs)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/syncEngine.py", line 79, in synchronize
    self.synchronizeWorker()
  File "/usr/share/gtg/GTG/plugins/rtm_sync/syncEngine.py", line 194, in synchronizeWorker
    remote_task.copy(local_task)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/genericTask.py", line 46, in copy
    self.tags = task.tags
  File "/usr/share/gtg/GTG/plugins/rtm_sync/genericTask.py", line 68, in <lambda>
    lambda self, arg: self._set_tags(arg))
  File "/usr/share/gtg/GTG/plugins/rtm_sync/rtmTask.py", line 127, in _set_tags
    tags=tagstxt)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/pyrtm/rtm.py", line 153, in <lambda>
    aname, rargs, oargs, **params)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/pyrtm/rtm.py", line 169, in callMethod
    **params)
  File "/usr/share/gtg/GTG/plugins/rtm_sync/pyrtm/rtm.py", line 108, in get
    rsp.err.msg, rsp.err.code)
RTMAPIError: API call failed - list_id invalid or not provided (320)

Izidor Matušov (izidor)
Changed in gtg:
milestone: none → 0.3
Izidor Matušov (izidor)
Changed in gtg:
status: New → Confirmed
importance: Undecided → Critical
assignee: nobody → Izidor Matušov (izidor)
Izidor Matušov (izidor)
Changed in gtg:
assignee: Izidor Matušov (izidor) → nobody
Changed in gtg:
milestone: 0.3 → 0.4
summary: - Hyphens and underscores in tags cause syncing error, halting
+ Hyphens and underscores in tags cause RTM syncing error, halting
Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

Closing this ticket as we do not use LaunchPad anymore, see https://wiki.gnome.org/Apps/GTG to learn more about the current status of the project and to find the new location where our code and bug reports are hosted.

Changed in gtg:
status: Confirmed → Won't Fix
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.