Tomboy Synchronization with Ubuntu One fails with INTERNAL SERVER ERROR for imported notes

Bug #664254 reported by Andreas Jonsson
18
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Ubuntu One Servers
Fix Released
High
Unassigned
tomboy (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: tomboy

I've had problems with Tomboy synchronization to Ubuntu One for a very long time (> 1 year), and it has never worked properly for me. After having upgraded to Maverick, I decided to give it a new try, starting from scratch. The bottom line of this bug report is that I can synchronize new notes, but not the ones I import from my previous installation. My tests point to that it is not the contents of my imported notes that are problematic, but rather the file name. Here is what I did:

0. Removed previously authorized "machine" under Account tab in Ubuntu One Web
1. Quit Tomboy
2. sudo apt-get --purge remove tomboy
3. mv .config/tomboy/ ~/config-tomboy
4. mv .local/share/tomboy/ ~/local-share-tomboy
5. rm -rf ~/.cache/tomboy
6. sudo apt-get install tomboy
7. Start Tomboy: tomboy --debug
8. Edit -> Preferences -> Synchronization
9. Clicked “Clear” to enable drop-down menu to select “Tomboy Web” or “Ubuntu One”
10. Clicked “ Connect” and authorized in browser window

All was fine this far, and synchronizing worked fine for the three notes that appear in Tomboy by default ("Ubuntu One", "Using Links in Tomboy", "Start Here").

Next I added a new note with title "Test" and content "Test" and ran a new sync, which was successful. Checked that the new note was indeed available on Ubuntu One.

Next I coped one of my old notes (created on my previous Lucid installation) into the tomboy notes folder:

[quit tomboy]
cp ~/tomboy/00a646e8-932b-4ee0-b50e-38806a2ac8a5.note ~/.local/share/tomboy/
[start tomboy]

After this when I tried to synchronize I got the error printed at the end of the report (using --debug flag).

So, I figured since I can sync the new notes just fine, there must be something wrong with the format of the old notes. So, replaced the content of the old note with the content of the new note I just created (title: Test, Content: Test) using a text editor (so the files were identical except for the filename), and ran a new synchronization. It failed with the same error as before, which leads me to believe there is no formatting problem with my old note. The only difference between the note that syncs fine and the one that doesn't is the filename. I'm not sure what that means but I hope it can be useful to you somehow to you developers.

At the end, I deleted the imported (old) note, did a new synchronization, which worked fine.

Very strange bug, I hope you can fix it. I'm willing to help. My only workaround to get my dozens, if not hundreds of notes imported and properly synced would be to import all old notes, copy and paste them over to new empty notes, and delete the old ones. Tedious, but should do the job.

Thanks for the hard work!

----

[DEBUG 19:53:51.031] SyncThread using SyncServiceAddin: Tomboy Web
[DEBUG 19:53:51.048] Building web request for URL: https://one.ubuntu.com/notes//api/1.0/
[DEBUG 19:53:52.850] Building web request for URL: https://one.ubuntu.com/notes/api/1.0/user/
[DEBUG 19:53:53.724] 8
[DEBUG 19:53:53.730] Sync: GetNoteUpdatesSince rev 0
[DEBUG 19:53:53.732] Building web request for URL: https://one.ubuntu.com/notes/api/1.0/op/?include_notes=true&since=0
[DEBUG 19:53:54.615] Sync: 0 updates since rev 0
[DEBUG 19:53:54.617] Building web request for URL: https://one.ubuntu.com/notes/api/1.0/op/
[DEBUG 19:53:55.532] Sync: Uploading 1 note updates
[DEBUG 19:53:55.569] Building web request for URL: https://one.ubuntu.com/notes/api/1.0/op/
[DEBUG 19:53:56.491] Building web request for URL: https://one.ubuntu.com/notes/api/1.0/op/
[ERROR 19:53:57.037] Caught exception. Message: The remote server returned an error: (500) INTERNAL SERVER ERROR.
[ERROR 19:53:57.040] Stack trace for previous exception: at System.Net.HttpWebRequest.CheckFinalStatus (System.Net.WebAsyncResult result) [0x00000] in <filename unknown>:0
  at System.Net.HttpWebRequest.SetResponseData (System.Net.WebConnectionData data) [0x00000] in <filename unknown>:0
[ERROR 19:53:57.042] Rest of stack trace for above exception: at System.Environment.get_StackTrace()
   at Tomboy.WebSync.Api.OAuth.MakeWebRequest(RequestMethod method, System.String url, System.Collections.Generic.List`1 parameters, System.String postData)
   at Tomboy.WebSync.Api.OAuth.WebRequest(RequestMethod method, System.String url, System.String postData)
   at Tomboy.WebSync.Api.OAuth.Put(System.String uri, IDictionary`2 queryParameters, System.String putValue)
   at Tomboy.WebSync.Api.UserInfo.UpdateNotes(IList`1 noteUpdates, Int32 expectedNewRevision)
   at Tomboy.WebSync.WebSyncServer.CommitSyncTransaction()
   at Tomboy.Sync.SyncManager.SynchronizationThread()
[ERROR 19:53:57.042] Synchronization failed with the following exception: The remote server returned an error: (500) INTERNAL SERVER ERROR.
  at System.Net.HttpWebRequest.CheckFinalStatus (System.Net.WebAsyncResult result) [0x00000] in <filename unknown>:0
  at System.Net.HttpWebRequest.SetResponseData (System.Net.WebConnectionData data) [0x00000] in <filename unknown>:0

(Tomboy:12631): GLib-CRITICAL **: g_source_remove: assertion `tag > 0' failed

ProblemType: Bug
DistroRelease: Ubuntu 10.10
Package: tomboy 1.4.0-0ubuntu2
ProcVersionSignature: Ubuntu 2.6.35-22.35-generic 2.6.35.4
Uname: Linux 2.6.35-22-generic x86_64
Architecture: amd64
Date: Wed Oct 20 20:55:33 2010
InstallationMedia: Ubuntu 10.04 LTS "Lucid Lynx" - Release amd64 (20100429)
ProcEnviron:
 PATH=(custom, user)
 LANG=en_US.utf8
 SHELL=/bin/bash
SourcePackage: tomboy

Revision history for this message
Andreas Jonsson (sonofjon) wrote :
Revision history for this message
Andreas Jonsson (sonofjon) wrote :

Just to confirm that the proposed workaround works. I.e. to import a note, then create a new empty note and copy and paste over the content form the imported note to the new empty note, and the deleting the imported note. After this synchronization to Ubuntu One works fine.

Revision history for this message
Sandy Armstrong (sanfordarmstrong) wrote :

This is an Ubuntu One server bug, not a Tomboy bug.

Changed in tomboy (Ubuntu):
status: New → Invalid
tags: added: desktop+ u1-tomboy-sync
Changed in ubuntuone-servers:
status: New → Triaged
importance: Undecided → High
Revision history for this message
Andreas Jonsson (sonofjon) wrote :

Today I tried syncing my Tomboy notes to Ubuntu One again and it worked without the problems. Same set of notes, same system (Maverick).

Paul Hummer (rockstar)
Changed in ubuntuone-servers:
status: Triaged → 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.