[lang]

Present Perfect

Personal
Projects
Packages
Patches
Presents
Linux

Picture Gallery
Present Perfect

N900 Facebook plugin problems

Filed under: maemo — Thomas @ 20:15

2010-03-01
20:15

One of the things I really love about my N900 is the ease with which I could share photos. You take the picture, click a few buttons, and there it is, your photo on flickr on Facebook. I'm sure other devices offer a similar experience, but this really is the first time I've been able to appreciate

Since a few weeks my Facebook sharing has stopped working. At first it only seemed like a missing icon and broken config. But I had a really really hard time to figure out the problem, much harder than it should have been for a mostly open platform. Of course, for some reason this sharing part is closed, which doesn't make much sense at all. What secrets can Nokia possibly have invested in some code that pushes photos to flickr or Facebook.

So, as part of the debugging process, over various weeks, I've seen and done the following:

  • When sharing through the Facebook account, the little 'I'm sharing' icon that pops up in the status area went away almost immediately, compared to sharing through Flickr
  • Sharing stores outgoing stuff in $HOME/.sharing/outbox - files were piling up there
  • At first I thought I had some login details problems, so I went to Settings > Sharing accounts and clicked on the Facebook account. That didn't do anything at all, no dialog popped up. Since the Delete button is in that popup, I also couldn't use the UI to recreate my Facebook sharing account.
  • I started learning about where the N900 stores account info, following some dubious posts until I found out about signond, a daemon running as root that stores login information. This daemon uses the file $HOME/.signon/user_db.xml (You get no points at all for correctly guessing whether this file contains XML data, but please do go look for yourself!)
  • I moved this file around to force recreation of data, which seemed to work after a reboot, since my Flickr data was now gone, as well as the Facebook one. I was able to click Flickr in Settings > Sharing accounts, but the Facebook still didn't pop up a dialog. At least this narrows down the problem I should solve for now: I can't even configure the service from scratch even when deleted, so let's focus on that first.
  • I reinstalled the package that contained the facebook sharing plugin. This restored the icon, but the popup still didn't work.
  • Usually I would just strace the relevant binary, but I considered the friction too high at first since there is no strace in fremantle, and I would have to set up a chroot for this.
  • But what binary ? I didn't even know what program handles the settings. After comparing a few ps listings, I figured out the program was controlpanel.
  • Interestingly, you can just ssh into the device as the user, and execute controlpanel, and it will pop up the binary on the phone (even with X forwarding), which I didn't expect, but is fine by me. This gave me a message like "sharing-accountstore.c 516 sharing_account_store_add_account Last added id exists: 35
    " which I wrongly took to mean that adding a facebook account was failing because it was still somehow present in the config. This is when I figured out that this code is closed, because I wasn't able to figure out where to get accountstore.c and look at what it is doing. I'm pretty sure it's not storing its settings in gconf (at least I couldn't find anything related to facebook sharing when walking the gconf tree), and it doesn't seem to be in any dot folders in my home dir. Anyone know ?
  • Finally, I gave up, set up the chroot, and straced that binary. And I should have known this would have led me to the right solution. Among all the noise, there were some calls trying to open a library. It's normal for a bunch of calls to fail as it searches the whole LD_LIBRARY_PATH, but usually the last one of those in an strace log should succeed. But they weren't; apparently /usr/lib/libfacebookcommon.so.0 was missing!
  • Looking for that file on disk confirmed that it wasn't there, and doing dpkg -L feedservice-plugin-fb-common showed that it should in fact be there. This reminded me of a pet peeve I have with those people who claim Debian's packaging system to be far superior to rpm - apparently dpkg doesn't have any equivalent of rpm -qv which allows you to verify that the files that should be installed by a package are indeed on disk. This would have saved me *a lot* of time figuring out this problem, and is typically the first thing I do on an rpm-based system where things act funny.
  • With my first real clue in hand, I used ldd to verify that indeed there were libraries missing:

    ldd -r /usr/lib/sharing/plugins/libfacebooksharingservice.so
    ...
    undefined symbol: facebook_credentials_free (/usr/lib/sharing/plugins/libfacebooksharingservice.so)
    undefined symbol: facebook_request_reset (/usr/lib/sharing/plugins/libfacebooksharingservice.so)
    undefined symbol: network_utils_post_multipart_with_progress (/usr/lib/sharing/plugins/libfacebooksharingservice.so)
    undefined symbol: facebook_get_email (/usr/lib/sharing/plugins/libfacebooksharingservice.so)
    undefined symbol: facebook_login (/usr/lib/sharing/plugins/libfacebooksharingservice.so)
    undefined symbol: generate_signature (/usr/lib/sharing/plugins/libfacebooksharingservice.so)
    undefined symbol: facebook_store_credentials_to_gconf (/usr/lib/sharing/plugins/libfacebooksharingservice.so)
    undefined symbol: facebook_request_new (/usr/lib/sharing/plugins/libfacebooksharingservice.so)
    undefined symbol: facebook_request_free (/usr/lib/sharing/plugins/libfacebooksharingservice.so)

  • Using dpkg -S to figure out what package this belonged to, I apt-get remove'd that package, then reinstalled it and dependencies.
  • Still didn't work, so repeated the process, this time libfeeserviceutils.so.0 was missing, so reinstall feedservice-utils and dependencies.

And finally! The sharing plugin can again be configured, and all is well. But this experience was needlessly painful...

For the record, I didn't tinker with any package files by hand (anyone who knows me a little knows my stance on packages and /usr), and I have no idea what I did to get into a situation where files that should be on disk aren't. And I'm worried about what else is missing, so if anyone can point me to some resources explaining how to verify installed package manifests, that would be awesome.

Book: 33 1/3 – Pixies – Doolittle

Filed under: Music — Thomas @ 12:52

2010-02-27
12:52

My latest Amazon order arrived at work. One of the books was the Doolittle book in the 33 1/3 series. For those who don't know, this series dissects an album track by track and tells stories about the recording. The first one I read was on Afghan Whigs's "Gentlemen", for obvious reasons.

These books tend to be a little top-heavy, saying less about the band and more about the reviewer, and they can be hit-and-miss because a lot depends on the actual writer/journalist. It seems the band remembers little about making the album. Two things stick after reading this one:

  • Apparently I'm as prone to mishearing lyrics as anyone else. This book tells me that the first lines of La La Love You are "Shake your butt / Not too hard". All my life I've been hearing that as "Take the bus! Not the car!" Somehow I'm going to keep preferring mine, although I have to admit shake your butt makes more sense in the context of the song.
  • If you' re doing a 100+ page book on Doolittle, how on earth do you manage to not talk at all about the hidden mini-album in Doolittle that you get when you play the tracks as numbered in the CD booklet ? Gouge away/Mr. Grieves/Dead/Wave of Mutilation/Tame/Hey/I Bleed/Monkey gone to Heaven tell a very different story than the main album. If there's one question I'd ask mr. Thompson about Doolittle, it would have been about this one...

The book was written before the recent Doolittle tour, as it mentions Silver has never been played live by the band. Which I'm going to assume was correct before that tour since I have no bootleg evidence to the contrary...

Our little platform is streaming the big Lawrence Lessig tonight

Filed under: Flumotion — Thomas @ 16:51

2010-02-25
16:51

I've seen other people blog about it as well, so I shouldn't stay behind - obviously it's noteworthy.

In a good seven hours, our platform will be streaming a talk by the eminent Mr. Lessig from Harvard. Apparently the stream is going to be projected in various locations around the world as well where people will gather to follow the speech. While we're only the technological medium and hence a small piece in making this possible, it still makes me proud to be part of this chain. It's moments like these participating in a chain of openness that make me think business and technology can be used for the greater good.

For more info, see our blog. I'll be tuning in after landing in Brussels at midnight tonight!

lost disk space on N900 VFAT

Filed under: maemo — Thomas @ 22:06

2010-02-22
22:06

Today I ran into a weird problem on my N900. I was clearing some space to put on more music, and to do so I wanted to delete some root images I had on the device.

I had used qchroot to mount each of them to decide whether I could delete them or not. The combination of mount, qchroot and closechroot however seem to have some issues; I'm not 100% convinced closechroot actually properly cleans up. It seems to do so, but running mount after it shows most chroot mounts still active, although you can't actually access them or unmount them by hand.

Anyway, I unmounted them as best as I could, and deleted 3 of them, for a total of 8 GB. However, the disk space wasn't actually freed. Deleting other files worked fine and reclaimed disk space as expected.

I rebooted, thinking that there probably were active references to the blocks, but this didn't fix anything either.

I started digging around for possibly hidden Trash folders, and someone on #maemo suggested that there should be a /home/user/MyDocs/.Trash-1000 but it wasn't there on my device.

Eventually, I found about dosfsck, which is installed on the device, and it said something hopeful:

Reclaimed 109128 unused clusters (7151812608 bytes).
Free cluster summary wrong (5274 vs. really 114402)
1) Correct
2) Don't correct

and after some fiddling to actually make it apply the changes, it dropped the following files in my MyDocs:

FSCK0000.REC
FSCK0001.REC
FSCK0002.REC

They were all about the same size as the images from before, so I deleted these files and voila!

Since I didn't find anything pointing to this using Google, I'm posting it here so that I can find it next time, as well as others that may need it..

Holiday

Filed under: Travel — Thomas @ 17:44

2010-02-12
17:44

Suddenly it's upon me. Packing my bags for eight days of snowboarding in the French alps. It came so unexpected this year.

Found a description of off-piste runs on the net, should come in handy.

I'll be sure to visit this particular spot in La Vallée Perdue that I snapped with my phone last year:

13032009

« Previous PageNext Page »
picture