We were having mysterious seg faults with some long-running Rails tasks on our server, so I thought it might time for some software updates. Nothing too radical just Ruby 1.8.5 -> 1.8.6 and Rails 1.2.3 -> 1.2.6. In the process I discovered that a new version of RubyGems was available, so I thought it might be good to upgrade it at the same time, Gem 0.9.4 -> 1.0.1. The Ruby, Gem, and Rails upgrades went fine, but ultimately the Gem upgrade proved to be a bad idea. The upgrade seemed to have lost all my installed Gems, except for the just upgraded Rails and its dependencies. Some minor dismay, but no big deal I thought, I've got a list of the Gems we needed, so I'll end up updating all the Gems at the same time too. Everything seemed to be going OK, until I discovered that the ruby-openid Gem had a dependency on a method from the older versions, namely Kernel#require_gem was removed and replaced with just Kernel#gem. As far as I can tell this was nothing but a name change which begs the question why do this when it is almost guaranteed to break a bunch of other code. Anyway, I had to revert back to a previous version of RubyGems, 0.9.5, which seems to have fixed the problem. All in all a rather nerve wracking undertaking.
As I type this, a task which was previously throwing seg faults has been running for about 30 minutes without error, so my hope is that all this trouble has at least solved that problem.