GNOME Bugzilla – Bug 593987
Facebook Export plugin hangs on "Session Established, fetching friend details..."
Last modified: 2018-07-01 08:50:10 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.
Can confirm this bug on latest Ubuntu (9.10) with F-Spot 0.6.1.3
I Have the same problem on Ubuntu 9.10 (x64bit) whit F-Spot 0.6.1.5 downloaded from repository.
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
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.
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
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?
Changing status to Unconfirmed, as recommended by folks on IRC - there should be enough info on this bug to solve it.
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...
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?
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
How many photo albums do you have? Do they have special names? Could you dump that byte[] that's passed in?
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[] ?
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); } }
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.