In a moment of what hindsight has confirmed as very poor judgment, I decided I would upgrade my home system last night to the latest version of Ubuntu, 10.10 or Maverick Meerkat. I still am not sure what made me throw caution to the wind. I had several good empirical reasons for holding back to see what fixes percolate through the mailing lists, forums and blogs in the next couple of months. Installing the previous version of Ubuntu, 10.4 or Lucid Lynx, came with concerning problems and difficult to find workarounds for my ATI RadeonHD card. The packaged versions of the driver for my FireWire mixer didn’t work in Lucid requiring a hand compile. The changes to my preferred desktop environment, KDE, are much more modest with this upgrade than with Gnome.
After baby sitting what looked like a smooth upgrade, I was greeted with my X server crashing when trying to use Firefox. Click on the location bar, start to type and the screen would first go black, then come up with the GUI login prompt. I thought this might be some odd interaction with the beta version of the browser that I run. I did some research without finding a firm answer, just some vague suggestions something like this happened with the beta versions of Meerkat. The proposed fix was supposed to be in the final version. Either it didn’t make it or I have found some entirely new X crash.
I didn’t want to give up right away, especially consider the time it would take to revert to the old version. I re-named the hidden directory containing all my desktop and shared KDE preferences on a hunch. I thought it worked, too, as after logging back into my desktop, I was able to use Firefox crash-free. I moved on to poking at the necessary software to drive the venerable engine of my podcast, my humble Alesis MultiMix 8 FireWire. As I feared, Jack, the audio connection kit that plumbs my mixer into all the Linux audio tools I use, refused to start up, burping up an inscrutable message about some missing symbol. An update of the sources and a re-compile didn’t help. Worse, when trying to run down the various device and permission settings from my notes on originally getting my mixer running, I encountered another X crash. Opening the same audio control program post-crash caused the same heart ache, just as stubbornly consistent as the Firefox crash I thought I had worked around.
There are a few bugs in the Ubuntu bug database that might be or relate to my video related crashes. Unfortunately, with two podcast episodes to produce a week, I didn’t feel like doing the necessary debugging work to contribute a new bug or attach further details on an existing one. Instead I made sure I had a good, recent backup of my data files and configs and re-installed the old version of Ubuntu.
Trouble shooting problems like these when they are not simple or obvious is time consuming. You can take your best guess at what log snippets may be helpful but really you have to wait for a developer to take a look and give feedback. Ideally what ensues is a dialog where the developer asks you to try different things and provide log snippets after each attempt. That is why I say I don’t really have time to do what I should, leaving the buggy software in place and metaphorical poking it with a stick to document each odd bleep and blart it produces. My system would need to stay broken until the developer had what they thought they needed. And that wouldn’t even mean I’d have a fix, just that they’d have some clues, hopefully vital, on the way to one.
For future upgrade attempts, I did get a very good suggestion from my friend Jay. His idea was to use Linux’s software raid to establish a mirror of my system on a second disk. With this in place, a future upgrade would be preceded by removing one of the disks from the raid array. If the upgrade were to break again, this plan would ideally produce a quick restore, regenerating the array from the offline copy. A clever idea worth looking into further when I have more time. And a second disk that matches my current one. I do like the idea of a much simpler, faster recovery than a complete re-install and restore data and configs by hand. Being able to snap back to a known good state would make me more inclined to stick out future upgrade breakage to help contribute towards an eventual fix.
For now, I am mostly back to Lucid with just a couple of lower priority things to restore. My mixer is working again, most importantly, so I will be able to do some work this evening for tomorrow’s show. My first thought when realizing how badly my Meerkat upgrade was last night was that I’d have to scrap this week’s show so I’d have time to recover. Thankfully having a functional laptop, a solid backup, and a fast internet connection made the restoration go faster than I initially feared. All things considered, this sort of problem comes with the prospect of upgrading any OS and as bad as the problem I ran into was, I think I got off pretty light.