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 593987 - Facebook Export plugin hangs on "Session Established, fetching friend details..."
Facebook Export plugin hangs on "Session Established, fetching friend details...
Status: RESOLVED WONTFIX
Product: f-spot
Classification: Other
Component: Export
0.6.x
Other Linux
: Normal normal
: ---
Assigned To: F-spot maintainers
F-spot maintainers
gnome[unmaintained]
Depends on:
Blocks:
 
 
Reported: 2009-09-03 03:22 UTC by Ted Carnahan
Modified: 2018-07-01 08:50 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Ted Carnahan 2009-09-03 03:22:32 UTC
Using F-spot 0.6.1.1 downloaded from getdeb.net, but also present on 0.5.0.3 for me, after clicking Login the plugin stops processing at "Session Established, fetching friend details..."

Running from the command line produces no interesting output.

Using wireshark, I examined the flow of data between api.facebook.com and me.  It seems that after sending the GET request for friend details, the Facebook API servers begin sending ICMP Time-to-live exceeded packets, causing retransmissions and general badness.  Here's the request in question (anonymized):

GET /restserver.php?api_key=<API_KEY>&call_id=<CALL_ID>&fields=first_name,last_name&method=facebook.users.getInfo&session_key=<SESSION_KEY>&uids=<COMMA SEPARATED LIST OF UIDS, interrupted in the middle by the disruptive ICMP packets>

My totally uneducated guess is that the API servers are balking at the extremely long GET request string.  I don't have a huge number of friends (is 420-ish a lot?), but perhaps that number exercises a limitation in Facebook's API.  If I'm right, doing the request a handful (50?) friends at a time might help.
Comment 1 Gaspar 2009-10-15 00:00:17 UTC
Can confirm this bug on latest Ubuntu (9.10) with F-Spot 0.6.1.3
Comment 2 Giovanni Manigrasso 2010-01-13 15:09:38 UTC
I Have the same problem on Ubuntu 9.10 (x64bit) whit F-Spot 0.6.1.5 downloaded from repository.
Comment 3 Maxxer 2010-01-14 08:32:57 UTC
Gaspar, Giovanni, how many friends do you have in Facebook?

Try runninf f-spot --debug from command line and see if says something more.

Thanks
Comment 4 Giovanni Manigrasso 2010-01-14 09:01:32 UTC
I have 117 friends.

I tried the command line you suggested but it doesn't reply something new. 

[Debug 09:42:05.152] Autorizzazione sessione
[Debug 09:42:05.669] Connessione stabilita, scaricamento informazioni utente...
[Debug 09:42:06.062] Connessione stabilita, scaricamento lista amici...
[Debug 09:42:06.337] Connessione stabilita, scaricamento dettagli amici...
[Debug 09:42:06.979] Connessione stabilita, scaricamento album foto...

and still hangs on...with no other details.
Comment 5 Matías Ribecky 2010-01-16 19:40:20 UTC
Similar issue here, up to date ArchLinux with F-Spot v0.6.1.5 but even earlier: 

[Debug 16:08:27.818] Authorizing Session
[Debug 16:08:28.877] Session established, fetching user info...

Here is a tcpdump capture of the relevant packets. My host is 10.0.0.10. I noticed that the facebook.users.getInfo method is the only pachet that gets resend, and interenstingly is over the MTU of 576 on my gateway.



16:08:27.803002 IP (tos 0x0, ttl 64, id 12709, offset 0, flags [none], proto TCP (6), length 348)
    10.0.0.10.44772 > 66.220.146.15.80: Flags [P.], cksum 0x997f (correct), ack 1, win 92, options [nop,nop,TS val 7823431 ecr 948522686], length 296
E..\1...@.i.
..
B......P...g...3...\.......
.w`G8.N.GET /restserver.php?api_key=<API_KEY>&call_id=<CALL_ID>&ext_perm=offline_access&method=facebook.users.hasAppPermission&session_key=<SESSION_KEY>&v=1.0&sig=<SIG> HTTP/1.1
Host: api.facebook.com


16:08:28.093640 IP (tos 0x0, ttl 237, id 60132, offset 0, flags [DF], proto TCP (6), length 793)
    66.220.146.15.80 > 10.0.0.10.44772: Flags [P.], cksum 0x773c (correct), ack 297, win 4676, options [nop,nop,TS val 948522975 ecr 7823431], length 741
E.....@.....B...
..
.P.....3.......Dw<.....
8.O..w`GHTTP/1.1 200 OK
Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Content-type: text/xml;charset=utf-8
Expires: Mon, 26 Jul 1997 05:00:00 GMT
P3P: CP="DSP LAW"
Pragma: no-cache
Set-Cookie: datr=<DATR>; expires=Mon, 16-Jan-2012 19:08:27 GMT; path=/; domain=.facebook.com
X-Cnection: close
Date: Sat, 16 Jan 2010 19:08:27 GMT
Content-Length: 290

<?xml version="1.0" encoding="UTF-8"?>
<users_hasAppPermission_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">0</users_hasAppPermission_response>

16:08:28.093669 IP (tos 0x0, ttl 64, id 12710, offset 0, flags [none], proto TCP (6), length 52)
    10.0.0.10.44772 > 66.220.146.15.80: Flags [.], cksum 0x9975 (correct), ack 742, win 115, options [nop,nop,TS val 7823518 ecr 948522975], length 0
E..41...@.j)
..
B......P...........s.u.....
.w`.8.O.
16:08:28.094963 IP (tos 0x0, ttl 64, id 12711, offset 0, flags [none], proto TCP (6), length 348)
    10.0.0.10.44772 > 66.220.146.15.80: Flags [P.], cksum 0xc5dd (correct), ack 742, win 115, options [nop,nop,TS val 7823519 ecr 948522975], length 296
E..\1...@.i.
..
B......P...........s.......
.w`.8.O.GET /restserver.php?api_key=<API_KEY>&call_id=<CALL_ID>&ext_perm=offline_access&method=facebook.users.hasAppPermission&session_key=<SESSION_KEY>&v=1.0&sig=<SIG> HTTP/1.1
Host: api.facebook.com


16:08:28.396224 IP (tos 0x0, ttl 237, id 24050, offset 0, flags [DF], proto TCP (6), length 793)
    66.220.146.15.80 > 10.0.0.10.44772: Flags [P.], cksum 0x89d3 (correct), ack 593, win 4972, options [nop,nop,TS val 948523279 ecr 7823519], length 741
E...].@...M.B...
..
.P.............l.......
8.Q..w`.HTTP/1.1 200 OK
Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Content-type: text/xml;charset=utf-8
Expires: Mon, 26 Jul 1997 05:00:00 GMT
P3P: CP="DSP LAW"
Pragma: no-cache
Set-Cookie: datr=<DATR>; expires=Mon, 16-Jan-2012 19:08:28 GMT; path=/; domain=.facebook.com
X-Cnection: close
Date: Sat, 16 Jan 2010 19:08:28 GMT
Content-Length: 290

<?xml version="1.0" encoding="UTF-8"?>
<users_hasAppPermission_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">0</users_hasAppPermission_response>

16:08:28.397091 IP (tos 0x0, ttl 64, id 12712, offset 0, flags [none], proto TCP (6), length 346)
    10.0.0.10.44772 > 66.220.146.15.80: Flags [P.], cksum 0x5a51 (correct), ack 1483, win 138, options [nop,nop,TS val 7823609 ecr 948523279], length 294
E..Z1...@.i.
..
B......P............ZQ.....
.w`.8.Q.GET /restserver.php?api_key=<API_KEY>&call_id=<CALL_ID>&ext_perm=photo_upload&method=facebook.users.hasAppPermission&session_key=<SESSION_KEY>&v=1.0&sig=<SIG> HTTP/1.1
Host: api.facebook.com


16:08:28.732455 IP (tos 0x0, ttl 237, id 57941, offset 0, flags [DF], proto TCP (6), length 52)
    66.220.146.15.80 > 10.0.0.10.44772: Flags [.], cksum 0x7d48 (correct), ack 887, win 5266, options [nop,nop,TS val 948523615 ecr 7823609], length 0
E..4.U@....xB...
..
.P..............}H.....
8.R_.w`.
16:08:28.878293 IP (tos 0x0, ttl 237, id 7273, offset 0, flags [DF], proto TCP (6), length 793)
    66.220.146.15.80 > 10.0.0.10.44772: Flags [P.], cksum 0x65b3 (correct), ack 887, win 5266, options [nop,nop,TS val 948523761 ecr 7823609], length 741
E....i@.....B...
..
.P..............e......
8.R..w`.HTTP/1.1 200 OK
Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Content-type: text/xml;charset=utf-8
Expires: Mon, 26 Jul 1997 05:00:00 GMT
P3P: CP="DSP LAW"
Pragma: no-cache
Set-Cookie: datr=<DATR>; expires=Mon, 16-Jan-2012 19:08:28 GMT; path=/; domain=.facebook.com
X-Cnection: close
Date: Sat, 16 Jan 2010 19:08:28 GMT
Content-Length: 290

<?xml version="1.0" encoding="UTF-8"?>
<users_hasAppPermission_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">0</users_hasAppPermission_response>

16:08:28.879805 IP (tos 0x0, ttl 64, id 12713, offset 0, flags [none], proto TCP (6), length 646)
    10.0.0.10.44772 > 66.220.146.15.80: Flags [P.], cksum 0x8d04 (correct), ack 2224, win 161, options [nop,nop,TS val 7823754 ecr 948523761], length 594
E...1...@.g.
..
B......P......!............
.wa.8.R.GET /restserver.php?api_key=<API_KEY>&call_id=<CALL_ID>&fields=about_me,activities,affiliations,birthday,books,current_location,education_history,first_name,hometown_location,interests,last_name,movies,music,name,notes_count,pic,pic_big,pic_small,political,profile_update_time,quotes,relationship_status,religion,sex,significant_other_id,status,timezone,tv,uid,wall_count&method=facebook.users.getInfo&session_key=<SESSION_KEY>&uids=503692697&v=1.0&sig=<SIG> HTTP/1.1
Host: api.facebook.com


16:08:29.564443 IP (tos 0x0, ttl 64, id 12714, offset 0, flags [none], proto TCP (6), length 646)
    10.0.0.10.44772 > 66.220.146.15.80: Flags [P.], cksum 0x8c36 (correct), ack 2224, win 161, options [nop,nop,TS val 7823960 ecr 948523761], length 594
E...1...@.g.
..
B......P......!......6.....
.wbX8.R.GET /restserver.php?api_key=<API_KEY>&call_id=<CALL_ID>&fields=about_me,activities,affiliations,birthday,books,current_location,education_history,first_name,hometown_location,interests,last_name,movies,music,name,notes_count,pic,pic_big,pic_small,political,profile_update_time,quotes,relationship_status,religion,sex,significant_other_id,status,timezone,tv,uid,wall_count&method=facebook.users.getInfo&session_key=<SESSION_KEY>&uids=503692697&v=1.0&sig=<SIG> HTTP/1.1
Host: api.facebook.com


16:08:30.078024 IP (tos 0x0, ttl 237, id 59428, offset 0, flags [DF], proto TCP (6), length 793)
    66.220.146.15.80 > 10.0.0.10.44772: Flags [P.], cksum 0x6103 (correct), ack 887, win 5266, options [nop,nop,TS val 948524961 ecr 7823609], length 741
E....$@.....B...
..
.P..............a......
8.W..w`.HTTP/1.1 200 OK
Cache-Control: private, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Content-type: text/xml;charset=utf-8
Expires: Mon, 26 Jul 1997 05:00:00 GMT
P3P: CP="DSP LAW"
Pragma: no-cache
Set-Cookie: datr=<DATR>; expires=Mon, 16-Jan-2012 19:08:28 GMT; path=/; domain=.facebook.com
X-Cnection: close
Date: Sat, 16 Jan 2010 19:08:28 GMT
Content-Length: 290

<?xml version="1.0" encoding="UTF-8"?>
<users_hasAppPermission_response xmlns="http://api.facebook.com/1.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://api.facebook.com/1.0/ http://api.facebook.com/1.0/facebook.xsd">0</users_hasAppPermission_response>

16:08:30.078046 IP (tos 0x0, ttl 64, id 12715, offset 0, flags [none], proto TCP (6), length 64)
    10.0.0.10.44772 > 66.220.146.15.80: Flags [.], cksum 0xfe87 (correct), ack 2224, win 161, options [nop,nop,TS val 7824114 ecr 948524961,nop,nop,sack 1 {1483:2224}], length 0
E..@1...@.j.
..
B......P.../..!............
.wb.8.W....
......!.
16:08:30.937777 IP (tos 0x0, ttl 64, id 12716, offset 0, flags [none], proto TCP (6), length 646)
    10.0.0.10.44772 > 66.220.146.15.80: Flags [P.], cksum 0x85ea (correct), ack 2224, win 161, options [nop,nop,TS val 7824372 ecr 948524961], length 594
E...1...@.g.
..
B......P......!............
.wc.8.W.GET /restserver.php?api_key=<API_KEY>&call_id=<CALL_ID>&fields=about_me,activities,affiliations,birthday,books,current_location,education_history,first_name,hometown_location,interests,last_name,movies,music,name,notes_count,pic,pic_big,pic_small,political,profile_update_time,quotes,relationship_status,religion,sex,significant_other_id,status,timezone,tv,uid,wall_count&method=facebook.users.getInfo&session_key=<SESSION_KEY>&uids=503692697&v=1.0&sig=<SIG> HTTP/1.1
Host: api.facebook.com


16:08:33.684446 IP (tos 0x0, ttl 64, id 12717, offset 0, flags [none], proto TCP (6), length 646)
    10.0.0.10.44772 > 66.220.146.15.80: Flags [P.], cksum 0x82b2 (correct), ack 2224, win 161, options [nop,nop,TS val 7825196 ecr 948524961], length 594
E...1...@.g.
..
B......P......!............
.wg,8.W.GET /restserver.php?api_key=<API_KEY>&call_id=<CALL_ID>&fields=about_me,activities,affiliations,birthday,books,current_location,education_history,first_name,hometown_location,interests,last_name,movies,music,name,notes_count,pic,pic_big,pic_small,political,profile_update_time,quotes,relationship_status,religion,sex,significant_other_id,status,timezone,tv,uid,wall_count&method=facebook.users.getInfo&session_key=<SESSION_KEY>&uids=503692697&v=1.0&sig=<SIG> HTTP/1.1
Host: api.facebook.com


16:08:39.178192 IP (tos 0x0, ttl 64, id 12718, offset 0, flags [none], proto TCP (6), length 646)
    10.0.0.10.44772 > 66.220.146.15.80: Flags [P.], cksum 0x7c42 (correct), ack 2224, win 161, options [nop,nop,TS val 7826844 ecr 948524961], length 594
E...1...@.g.
..
B......P......!.....|B.....
.wm.8.W.GET /restserver.php?api_key=<API_KEY>&call_id=<CALL_ID>&fields=about_me,activities,affiliations,birthday,books,current_location,education_history,first_name,hometown_location,interests,last_name,movies,music,name,notes_count,pic,pic_big,pic_small,political,profile_update_time,quotes,relationship_status,religion,sex,significant_other_id,status,timezone,tv,uid,wall_count&method=facebook.users.getInfo&session_key=<SESSION_KEY>&uids=503692697&v=1.0&sig=<SIG> HTTP/1.1
Host: api.facebook.com


16:08:50.164862 IP (tos 0x0, ttl 64, id 12719, offset 0, flags [none], proto TCP (6), length 646)
    10.0.0.10.44772 > 66.220.146.15.80: Flags [P.], cksum 0x6f62 (correct), ack 2224, win 161, options [nop,nop,TS val 7830140 ecr 948524961], length 594
E...1...@.g.
..
B......P......!.....ob.....
.wz|8.W.GET /restserver.php?api_key=<API_KEY>&call_id=<CALL_ID>&fields=about_me,activities,affiliations,birthday,books,current_location,education_history,first_name,hometown_location,interests,last_name,movies,music,name,notes_count,pic,pic_big,pic_small,political,profile_update_time,quotes,relationship_status,religion,sex,significant_other_id,status,timezone,tv,uid,wall_count&method=facebook.users.getInfo&session_key=<SESSION_KEY>&uids=503692697&v=1.0&sig=<SIG> HTTP/1.1
Host: api.facebook.com


16:09:12.137771 IP (tos 0x0, ttl 64, id 12720, offset 0, flags [none], proto TCP (6), length 646)
    10.0.0.10.44772 > 66.220.146.15.80: Flags [P.], cksum 0x55a2 (correct), ack 2224, win 161, options [nop,nop,TS val 7836732 ecr 948524961], length 594
E...1...@.g.
..
B......P......!.....U......
.w.<8.W.GET /restserver.php?api_key=<API_KEY>&call_id=<CALL_ID>&fields=about_me,activities,affiliations,birthday,books,current_location,education_history,first_name,hometown_location,interests,last_name,movies,music,name,notes_count,pic,pic_big,pic_small,political,profile_update_time,quotes,relationship_status,religion,sex,significant_other_id,status,timezone,tv,uid,wall_count&method=facebook.users.getInfo&session_key=<SESSION_KEY>&uids=503692697&v=1.0&sig=<SIG> HTTP/1.1
Host: api.facebook.com
Comment 6 Ted Carnahan 2010-03-18 04:51:08 UTC
I can confirm the bug is still present on 0.6.1.5-0ubuntu1 on Ubuntu Karmic (9.04).  The bug is marked NEEDINFO - is there any more information we need to gather before a dev can take a serious look at this?
Comment 7 Ted Carnahan 2010-04-08 22:44:33 UTC
Changing status to Unconfirmed, as recommended by folks on IRC - there should be enough info on this bug to solve it.
Comment 8 Bengt Thuree 2010-04-28 15:44:11 UTC
Yes, please look into this one.
A bit tricky now to export photos to Facebook. Need to export from F-Spot and import to Shotwell/Digikam and then export...
Comment 9 Ruben Vermeersch 2010-05-15 12:40:04 UTC
I've just tried this and unfortunately it works for me, am not getting any hangs, which is a bit puzzling.

Does this happen every time? If not, could anyone tell me about the exact steps needed to reproduce this?
Comment 10 Bengt Thuree 2010-05-15 14:52:21 UTC
Just did it again. (downloaded 0.6.2 (tar file), and compiled/make installed this version.
Just selected one photo, and export to Facebook.
Do not do anything else... the Export to Facebook GUI comes up, and the following appears in my console.

[Debug 23:10:12.564] Authorizing Session
[Debug 23:10:14.452] Session established, fetching user info...
[Debug 23:10:14.926] Session established, fetching friend list...
[Debug 23:10:15.354] Session established, fetching friend details...
[Debug 23:10:16.576] Session established, fetching photo albums...

It seems to be hanging on
T response = (T)response_serializer.Deserialize(new MemoryStream(response_bytes));
in extensions/Exporters/FacebookExport/Mono.Facebook/Util.cs 
At least this is where my WriteLine traces indicate :)
In GetResponse 4 MemoryStream(response_bytes).Length=4110
Comment 11 Ruben Vermeersch 2010-05-15 15:11:14 UTC
How many photo albums do you have? Do they have special names? Could you dump that byte[] that's passed in?
Comment 12 Bengt Thuree 2010-05-15 15:39:55 UTC
I have 6 photo albums plus my profile
Names: Jasmine's Popup book, 2010-April, 200912, 2010Q1, Kids, Profile Pictures
How do you want me to dump the byte[] ?
Comment 13 Bengt Thuree 2010-05-15 16:41:45 UTC
http://pastebin.com/EgNWKTZS
The last printout is the one that hangs... Hope this helps.

and my modified debug code...
		public T GetResponse<T>(string method_name, params FacebookParam[] parameters)
		{
System.Console.WriteLine ("Start of GetResponse");
			
			string url = FormatGetUrl (method_name, parameters);
			byte[] response_bytes = GetResponseBytes (url);
System.Console.WriteLine ("byte[].Length={0}", response_bytes.Length);
			for (int k=0;  k<response_bytes.Length;k++)
System.Console.WriteLine ("byte[{0}]={1}", k, response_bytes.GetValue(k));
			XmlSerializer response_serializer = GetSerializer (typeof (T));
			try {
				T response = (T)response_serializer.Deserialize(new MemoryStream(response_bytes));
System.Console.WriteLine ("End of GetResponse");
				
				return response;
			}
			catch (InvalidOperationException e) {
				Error error;
				try {
System.Console.WriteLine ("Error1 GetResponse");
					
					error = (Error) ErrorSerializer.Deserialize (new MemoryStream (response_bytes));
				} catch {
					throw e;
				}
System.Console.WriteLine ("Error2 GetResponse");

				throw new FacebookException (error.ErrorCode, error.ErrorMsg);
			}
		}
Comment 14 André Klapper 2018-07-01 08:50:10 UTC
f-spot is not under active development anymore, has not seen code changes for five years, and saw its last tarball release in the year 2010.
Its codebase has been archived: https://gitlab.gnome.org/Archive/f-spot/commits/master

Closing this report as WONTFIX as part of Bugzilla Housekeeping to reflect reality. Please feel free to reopen this ticket (or rather transfer the project to GNOME Gitlab, as GNOME Bugzilla is deprecated) if anyone takes the responsibility for active development again.