image

Introduction

Dear Skype,

you are great. You have the convenience of a nearby, well, convenience store and the UI that is acceptable to even an Apple fanboy (I'm not one, I'm just saying).

Skype also has a Firefox extension which finds all pieces of text that resemble phone numbers on web pages you are visiting and converts them into clickable Skype buttons image. One click and you're dialing the number. The premise is great but the execution… When it comes to your Firefox extension, Skype – you suck. You really suck.

The Problem Bullshit

So what makes me say these mean things? Is it the fact that when simply searching Google for "skype firefox", one finds mostly blog posts and references to major fail? Or is it the fact that MozillaZine's Problematic Extensions page lists Skype as one of the buggiest?

Well, yes. Those are great, aren't they? However, what really prompted me to write this post is my own experience with this extension.

As I am getting into Android development nowadays, I read the Android dev guide quite a lot. Thus, it was no surprise that yesterday I was happily reading the page about Handling UI Events. What was a surprise, however, is that when I clicked over to the View API reference page (in case that page ever changes for documentation reasons, I also saved it here), my Firefox went into a painful agony and exploded in a few minutes.

image

What the fudgemonkeys? Let's do this again and watch the Process Explorer

image

This is what we call a memory leak – a prime example at that. In the screenshot above, the CPU usage spikes to 100% (shown as 50% because it's a dual core CPU), Firefox's memory usage jumps to around 2GB from 100MB, in 500MB/s increments. Finally, at 5GB total system memory consumption, either the OS kicks in or some major swapping starts to occur – I'm not sure which of the two is happening exactly but you can see it when the green CPU marker gets overtaken by the red one.

As I have a large number of extensions installed, I was dreading the next step: disabling them until the culprit was found. Ugh…

Sure enough, after about half an hour of starting Firefox, observing the memory leak, killing, and restarting it, I narrowed it down to the Skype extension. Somebody at Skype needs to fess up. And here's the kicker – it only exposes the memory leak in the following configuration:

image

If you turn number highlighting on – it's fine. If you turn name highlighting off – it's fine. But if you turn number highlighting off but leave name highlighting on – major fail.

The Conclusion

So where am I going with all this? Here is the summary:

  • somebody at Skype doesn't know how to program
  • this is the worst memory leak in a Firefox extension I've ever seen
  • this extension is notorious for its crashes, bugs, and memory leaks
  • keep using this extension if you're
    • a masochist
    • need to perform burn-in tests for your CPU or RAM

Have you had problems with the Skype extension? If so, share in the comments.

● ● ●
Artem Russakovskii is a San Francisco programmer and blogger. Follow Artem on Twitter (@ArtemR) or subscribe to the RSS feed.

In the meantime, if you found this article useful, feel free to buy me a cup of coffee below.