After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 536477 - Export to picasaweb doesn't work
Export to picasaweb doesn't work
Status: RESOLVED FIXED
Product: f-spot
Classification: Other
Component: General
0.4.x
Other All
: Normal normal
: ---
Assigned To: F-spot maintainers
F-spot maintainers
Depends on:
Blocks:
 
 
Reported: 2008-06-03 18:04 UTC by Chris
Modified: 2009-05-29 08:04 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
PicasaWebExport.dll 0.4.4.1 (65.00 KB, application/x-msdos-program)
2008-06-11 14:55 UTC, Maxxer
  Details
picasathreadexception.patch (650 bytes, patch)
2008-06-11 14:56 UTC, Maxxer
none Details | Review
PicasaWebExport.dll (65.00 KB, application/x-msdos-program)
2008-06-12 19:11 UTC, Maxxer
  Details
bgo_536477-fix-picasaweb-div-by-zero.patch (1.32 KB, patch)
2009-05-28 22:00 UTC, Maxxer
none Details | Review

Description Chris 2008-06-03 18:04:55 UTC
Please describe the problem:
If I try to export photos to a picasaweb gallery, nothing happens. I give my name & password, chose a gallery and start the export. Then I see a small window with a progress bar, but nothing happens. I also don't see any outgoing traffic and no errors from f-spot. The one thing I can do is just to close the window with the statusbar. It never worked for me. Not in the last version in UBUNTU 8.04 and not in the version before. 100% reproduceble.

Steps to reproduce:
1. Choose some photos.
2. In the menu chose Photo-> Export to -> PicasaWeb
3. Enter login, password & chose the gallery.
4. Press Ok

Actual results:
Nothing. That is it.

Expected results:
Export to picasaweb.

Does this happen every time?
Yes

Other information:
I use just a standard Ubuntu 8.04 and an export with linux picasa works without any problem.
Comment 1 Maxxer 2008-06-04 06:24:04 UTC
sounds very strange, especially the fact that it never worked to you. 
can you try running f-spot from command line (gnome-terminal) and report some lines around export operation?
Comment 2 Chris 2008-06-04 16:08:30 UTC
Thank you for your answer. Ok, I've started f-spot from command line and here is all produced output:

----8<---------------------------------------
Starting new FSpot server
Reloading
item changed

(f-spot:14163): GdkPixbuf-WARNING **: GdkPixbufLoader finalized without calling gdk_pixbuf_loader_close() - this is not allowed. You must explicitly end the data stream to the loader before dropping the last reference.
Gnome.Keyring.KeyringException: Unknown error
  at Gnome.Keyring.Ring.SendRequest (System.IO.MemoryStream stream) [0x00000] 
  at Gnome.Keyring.Ring.Find (ItemType type, System.Collections.Hashtable atts) [0x00000] 
GoogleAccount.Connect()
Starting Upload to Picasa
uploading 0
value = f-spot version 0.4.3.1 len = 22
value = 2008:06:04 18:04:08 len = 19
Saved 5782 bytes
----8<---------------------------------------

And no changes anymore at this point. The windows with the progress bar shows only "0 bytes of approx. ..." all the time.

If you need some additional information or tests I'll provide everything you need.

Thanky our for your help!
Comment 3 Chris 2008-06-04 16:12:06 UTC
Oh, I've seen that there is a debug mode. You are probably also interested in its output:



** Running f-spot in Debug Mode **
** Running Mono with --debug   **
Starting new FSpot server
Reloading
item changed
GoogleAccount.Connect()
Starting Upload to Picasa
uploading 0
value = f-spot version 0.4.3.1 len = 22
value = 2008:06:04 18:10:36 len = 19
Saved 15329 bytes
System.Threading.ThreadAbortException: Thread was being aborted
  at (wrapper managed-to-native) System.Object:__icall_wrapper_mono_thread_interruption_checkpoint ()
  at (wrapper managed-to-native) System.Threading.WaitHandle:WaitOne_internal (intptr,int,bool)
  at System.Threading.WaitHandle.WaitOne (Int32 millisecondsTimeout, Boolean exitContext) [0x00000]
  at System.Net.WebAsyncResult.WaitUntilComplete (Int32 timeout, Boolean exitContext) [0x00000]
  at System.Net.WebConnectionStream.Write (System.Byte[] buffer, Int32 offset, Int32 size) [0x00000]
  at Mono.Google.Picasa.PicasaAlbum.UploadPicture (System.String title, System.String description, System.String mime_type, System.IO.Stream input) [0x00000]
  at Mono.Google.Picasa.PicasaAlbum.UploadPicture (System.String title, System.String description, System.IO.Stream input) [0x00000]
  at Mono.Google.Picasa.PicasaAlbum.UploadPicture (System.String filename, System.String title, System.String description) [0x00000]
  at FSpotGoogleExport.GoogleExport.Upload () [0x00000]
Comment 4 Maxxer 2008-06-11 14:55:14 UTC
Created attachment 112544 [details]
PicasaWebExport.dll 0.4.4.1

Can you try the attached extension?
you must copy it to ~/.gnome2/f-spot/addins then run f-spot, enter extension manager, disable picasa export 0.4.4.0. then you can try exporting to picasa.
Comment 5 Maxxer 2008-06-11 14:56:09 UTC
Created attachment 112545 [details] [review]
picasathreadexception.patch

for the record, here's the patch which produced that dll.
Comment 6 Chris 2008-06-11 19:39:57 UTC
Thank you for your support. Here is my report.

First of all I've discovered, that the version of my picasaWeb export plugin is 0.4.3.0 and not 0.4.4.0 as you have mentioned. Moreover, I've disabled it and enabled the new 0.4.4.1 plugin, then if I've tried to export some photos to picasa, f-spot crashed with the following error message (in the console):

---8<------------------------------------
** (f-spot:9398): WARNING **: Missing method FSpot.Utils.GnomeUtil::UrlShow(string) in assembly /usr/lib/f-spot/FSpot.Utils.dll, referenced in assembly /home/cm/.gnome2/f-spot/addins/PicasaWebExport.dll

Unhandled Exception: System.MissingMethodException: Method not found: 'FSpot.Utils.GnomeUtil.UrlShow'.
---8<------------------------------------

However, I couldn't reproduce it anymore, because now, if only the new dll (0.4.4.1) is enabled, no menu point "Export to PicasaWeb" appear in the Export menu.

I'm waiting for your further instructions :).
Comment 7 Maxxer 2008-06-12 05:56:01 UTC
(In reply to comment #6)
> First of all I've discovered, that the version of my picasaWeb export plugin is
> 0.4.3.0 and not 0.4.4.0 as you have mentioned. Moreover, I've disabled it and
> enabled the new 0.4.4.1 plugin, then if I've tried to export some photos to
> picasa, f-spot crashed with the following error message (in the console):

the urlshow error can be "ok", but should only happen upon finished upload. please check on picasa if the photos were uploaded.
Comment 8 Chris 2008-06-12 07:40:25 UTC
> the urlshow error can be "ok", but should only happen upon finished upload.
> please check on picasa if the photos were uploaded.

No, unfortunately, they are not uploaded. Moreover, f-spot crashed before the window with the progress bar has appeared (and so before the immediate upload, I think).
Comment 9 Stephane Delcroix 2008-06-12 10:17:40 UTC
maxxer: the urlshow is _not_ ok, it's unhandled so it stops the runtime.

Chris: are you able to install latest f-spot ? otherwise we'll try to backport the extension for you to test :/
Comment 10 Maxxer 2008-06-12 19:11:24 UTC
Created attachment 112634 [details]
PicasaWebExport.dll

this dll has the urlshow commented. please test this one.
Comment 11 Chris 2008-06-12 19:27:41 UTC
> this dll has the urlshow commented. please test this one.

ok, nothing crashes now and I can access the export function, but with the same result as before -- no data transfer at all :(.

I've got an idea. I'll install Ubuntu 8.04 inside VirtualBox and will try it there. So we could exclude all hardware & system related problems, if it doesn't work there. The report will follow today or tomorrow.

Thank you all for your support!
Comment 12 Maxxer 2008-06-12 20:50:25 UTC
(In reply to comment #11)
> ok, nothing crashes now and I can access the export function, but with the same
> result as before -- no data transfer at all :(.

can you please try --debug to see if the same exception occurs?
Comment 13 Chris 2008-06-12 20:56:21 UTC
Oh, sure! No exceptions this time. It just doesn't work:

** Running f-spot in Debug Mode **
** Running Mono with --debug   **
Starting new FSpot server
Reloading
item changed

(f-spot:12427): GdkPixbuf-WARNING **: GdkPixbufLoader finalized without calling gdk_pixbuf_loader_close() - this is not allowed. You must explicitly end the data stream to the loader before dropping the last reference.
GoogleAccount.Connect()
Starting Upload to Picasa
uploading 0
value = f-spot version 0.4.3.1 len = 22
value = 2008:06:12 22:53:38 len = 19
Saved 15329 bytes
----------------------------

Let us see what happens in a fresh Ubuntu 8.04 system. I'm already installing it.
Comment 14 Chris 2008-06-12 22:43:24 UTC
Ok, here is my report. I've installed Ubuntu 8.04 inside of VirtualBox, loaded some pictures from the internet, started f-spot, imported them, then: export, user + password, click on Ok and ... IT WORKS! o_O

Then I've started f-spot on my system again, where it never worked and... it works too!!! No matter what & how much pictures I upload it just works now. However it only works with the last dll provided by you. With the version from the standard installation f-spot crashes every time before or after uploading of the first photo.

I wasn't sure whether it could depend on the first uploaded picture. So I've created a new user in the VBox system, started f-spot, imported my pictures, which I always was trying to upload during my tests, but it worked! Then I have deleted all uploaded photos to bring the picasa album into the inital state and tried again -- it still works! Was it my bad carma?

Ok, I was very happy to get it worked somehow on my system and started to write this report. During writing I have started f-spot again and have tried to uploaded my photos again and .. it doesn't work again! Ok, I start VirtualBox, f-spot inside it, upload the same photo as in my system and it works! Then I start f-spot on my system again and the uploading works too. So it could be only my config files or my ... hardware? To find this out I create a new user on my system, start f-spot, import my photos -- it doesn't work as well. So the problem are not the config files. The problem is my system / hardware.

I'm totally confused now. It seems, that another f-spot version (inside of VBox) trigger something (opens a picasa connection?) such that also the f-spot on my system works some time... Is it magic or a demonic possession of my system ? :)

Any suggestions what it could be?
Comment 15 Stephane Delcroix 2008-06-13 11:15:02 UTC
Maxxer patch was only there to avoid the crash, nothing more.

Your issue is most likely related to a network issue, probably at your local firewall level but could be at your home firewall too.
It could also be a threading issue in ubuntu as there's another related bug.

Anyhow, it does not looks like an f-spot issue
Comment 16 Mihai Capotă 2008-08-19 19:07:35 UTC
I have the same issue described in this bug report.
There are certain photos that always trigger the bug, so it can't be a network issue.
If I wait long enough, I get a "System.IO.IOException: Write timed out." at the console. If I click "Retry" in the upload dialog, I get a "System.DivideByZeroException: Division by zero".
I'm using Ubuntu 8.04. Here's the debug info:

vasile@gri:~$ f-spot --debug
** Running f-spot in Debug Mode **
** Running Mono with --debug **
Starting new FSpot server
Reloading
item changed
Reloading
item changed

(f-spot:7457): GdkPixbuf-WARNING **: GdkPixbufLoader finalized without calling gdk_pixbuf_loader_close() - this is not allowed. You must explicitly end the data stream to the loader before dropping the last reference.
GoogleAccount.Connect()
Starting Upload to Picasa
uploading 0
value = f-spot version 0.4.3.1 len = 22
value = 2008:08:19 15:42:45 len = 19
Saved 8961 bytes
System.IO.IOException: Write timed out.
  at System.Net.WebConnectionStream.Write (System.Byte[] buffer, Int32 offset, Int32 size) [0x00000]
  at Mono.Google.Picasa.PicasaAlbum.UploadPicture (System.String title, System.String description, System.String mime_type, System.IO.Stream input) [0x00000]
  at Mono.Google.Picasa.PicasaAlbum.UploadPicture (System.String title, System.String description, System.IO.Stream input) [0x00000]
  at Mono.Google.Picasa.PicasaAlbum.UploadPicture (System.String filename, System.String title, System.String description) [0x00000]
  at FSpotGoogleExport.GoogleExport.Upload () [0x00000]
uploading 0
value = f-spot version 0.4.3.1 len = 22
value = 2008:08:19 15:50:02 len = 19
Saved 8961 bytes
System.DivideByZeroException: Division by zero
  at (wrapper managed-to-native) System.Object:__icall_wrapper___emul_ldiv (long,long)
  at FSpotGoogleExport.GoogleExport.Upload () [0x00000]
Comment 17 Maxxer 2008-09-03 15:13:54 UTC
(In reply to comment #16)
> There are certain photos that always trigger the bug, so it can't be a network
> issue.

can you please provide one of those pictures?
Comment 18 Mihai Capotă 2008-09-03 17:09:17 UTC
(In reply to comment #17)
> (In reply to comment #16)
> > There are certain photos that always trigger the bug, so it can't be a network
> > issue.
> 
> can you please provide one of those pictures?
Sure. You can download one right from Picasa Web Albums[1]. I uploaded it through the web interface.

[1] http://picasaweb.google.com/mihaicapota/Public#5241842677238689490
Comment 19 Maxxer 2008-09-05 06:49:55 UTC
(In reply to comment #18)
> Sure. You can download one right from Picasa Web Albums[1]. I uploaded it
> through the web interface.

uploaded fine here.....
Comment 20 Manuel 2008-11-02 19:32:02 UTC
This bug is reproducible in f-spot 0.4.4 which came in Lenny
How:
Try to export simultaneous photo sets. When two or more exports are in progress an error similar or the same error appear.

Later,
MS
Comment 21 Eugene Crosser 2009-01-31 12:15:29 UTC
I don't think that this is fixed. It only started to happen this winter, _probably_ while F-Spot stayed at the same version, so my guess would be a change in the way Picasaweb API works. Checked on Ubuntu Hardy (F-Spot 0.4.2 I think), and on Slackware GSB 2.24.3 (F-Spot 0.5.0.3). When starting upload, the progress bar shows 32kb, or 64kb, or some other small number and stays there. If I wait long enough, the message appears "Error Uploading to Gallery: Write timeout", and "Retry/Skip/Cancel" buttons. If I click "Retry" at this moment, it shows "Error Uploading to Gallery: Division by zero". However, there was one time when I tried to run "f-spot --debug" from the command line, and it worked all right! Other time, it hangs and this is in the terminal window:

[...]
(f-spot:5843): GdkPixbuf-WARNING **: GdkPixbufLoader finalized without calling gdk_pixbuf_loader_close() - this is not allowed. You must explicitly end the data stream to the loader before dropping the last reference.
[Debug 15:02:07.670] open uri = file:///export/miscimage/crosser-uni-197x-1.jpg
[Debug 15:02:07.829] open uri = file:///export/miscimage/crosser-uni-197x-1.jpg
[Debug 15:02:07.831] open uri = file:///export/miscimage/crosser-uni-197x-1.jpg
error checking orientation

(f-spot:5843): Gtk-WARNING **: GtkSpinButton: setting an adjustment with non-zero page size is deprecated
GoogleAccount.Connect()
Starting Upload to Picasa
uploading 0

...and here it stays for some time. Then:

System.IO.IOException: Write timed out.
  at System.Net.WebConnectionStream.Write (System.Byte[] buffer, Int32 offset, Int32 size) [0x0007b] in /home/build/mono-2.0.1/mcs/class/System/System.Net/WebConnectionStream.cs:488 
  at Mono.Google.Picasa.PicasaAlbum.UploadPicture (System.String title, System.String description, System.String mime_type, System.IO.Stream input) [0x00000] 
  at Mono.Google.Picasa.PicasaAlbum.UploadPicture (System.String title, System.String description, System.IO.Stream input) [0x00000] 
  at Mono.Google.Picasa.PicasaAlbum.UploadPicture (System.String filename, System.String title, System.String description) [0x00000] 
  at FSpotGoogleExport.GoogleExport.Upload () [0x00000] 

...and after you hit "Retry":

uploading 0
System.DivideByZeroException: Division by zero
  at (wrapper managed-to-native) System.Object:__icall_wrapper___emul_ldiv (long,long)
  at FSpotGoogleExport.GoogleExport.Upload () [0x00000] 


Internet connection is fast and stable. "Native" picasa client has no problems uploading the same pictures. Looks like a timing issue to me.

Eugene
Comment 22 Pedro Villavicencio 2009-02-17 13:59:17 UTC
still an issue with f-spot 0.5 : https://bugs.edge.launchpad.net/ubuntu/+source/f-spot/+bug/178303 ; re opening
Comment 23 Maxxer 2009-05-28 22:00:15 UTC
Created attachment 135529 [details] [review]
bgo_536477-fix-picasaweb-div-by-zero.patch

this patch fixes division by zero error.
Comment 24 Stephane Delcroix 2009-05-29 08:04:43 UTC
committed