Wednesday, 18 November 2009

Eliminate the possibilities - then get lucky

So I think I've finally found the cause of the internet connection drop that I've been suffering from and hopefully eliminated it, but it has been a very unproductive few days. Luckily I work from home, I'm answerable only to myself and I had the time to go through the process of establishing the root cause; if the same thing had happened to the majority of people, it would possibly take days or even weeks before they could determine the problem.

The past few days took me back to the time when I used to cut code for a living, and occasionally I'd get those faults which would only surface every so often, but would cause a total system crash. I'd spend hours trying to step through the code, looking at memory dumps, and using any other debugging tool at hand. More often than not (and without trying to sound too cocky), the problem lay in the interaction of someone else's code not my own - and very often, it would be something as simple as a buffer overflow trashing my space. It would appear that something similar was going on with the iMac, and all those old problem solving skills were required to find the source of the error.

First of all I needed to think what changes I'd made to the system - and there were quite a few. The trouble was that many of them were interrelated. I'd been having some teething problems with Firefox bookmarks (Xmarks) which I was determined to fix. New bookmarks would disappear shortly after being created, or they would have incorrect URLs associated with them. After reinstalling Xmarks to no avail, I decided to trash my Firefox profile and rebuild it to see if that worked. Rather stupidly, on reflection, I added in some new add-ons while doing this. It's much more sensible to focus on solving one problem properly before changing the environment or conditions in which the problem dwells. Although I fixed the bookmark problem with the new profile, the side effect appeared to be the random dropped internet connection. This also teaches us a bit of a lesson, that the perceived problem is not always the right one to focus on. I've been preaching that in my business life for years, but I don't always follow my own (sensible) advice when fixing my computer!

My next step then was clearly to disable the additional Firefox goodies that I'd installed in the new profile, because one of them must be causing the problem. No such luck, the random drop-outs continued. Because the problem wasn't occurring with my laptop, I then decided to copy the Firefox profile from the laptop to the iMac. The random drop-outs continued.

Time to focus on the other differences between iMac and MBP. I run Apple Mail by default on the iMac, only swapping to the MPB when on the road. So maybe this was a Mail problem. I stopped using Mail, and checked mail directly through the internet. The random drop-outs continued. I was relieved by this, as I didn't really want to be messing about with Mail innards. Next I stopped running the Twitter clients, Tweetie and TweetDeck. And still the random drop-outs continued.

Back to Firefox, which by now was the most likely cause of the problem. I toyed with the idea of reverting to Safari, but on this occasion, decided that this really would change the environment completely, so I belayed that idea. I checked the Firefox error console for the umpteenth time, and this time I found something new. There were some 1Password errors visible. 1Password is the saviour of the internet, as it enables you to store passwords, identities, credit card data and just about everything else required to live on-line. However, despite being a brilliantly useful tool, it seems to get an almost daily update. It seems that every time I open the programme, I get the New Version dialog box displayed. I remembered I had skipped an update a few days previously as I was in a hurry to get something done, so I ran the 1Password programme and performed the latest update (I'd missed two versions by now).

And that dear reader appears to have resolved the problem. The iMac has now run for over 48 hours without dropping the connection, I've been able to gently reintroduce some of the new Firefox goodies I wanted to try and I actually managed to get some work done.

The moral of the story ? There are several.

  1. Focus on fixing one problem at a time, without changing the environment in which the problem occurs

  2. Take the time to perform updates when they are offered. There's probably a good reason for doing so

  3. Use a scientific approach to problem resolution and don't assume you know where the problem lies without proving it

To be fair to 1Password, I think there may have been some corruption along the way which caused the issue, and that even reinstalling the original version may have fixed the problem straight away - but I wasn't to know that at the time.

Now about these other problems I mentioned...

1 comment:

  1. I really enjoyed this post, especially the happy ending! It was very helpful for me to see the steps you took along the way to success and the advice you gave at the end.