Crashing after Update

Hello All!

I've been running Rails 2.0.2 with Ruby 1.8.6 for the last six months. I developed an application that runs fine on two different servers -- or at least, it used to.

I used Mongrel as a development server, but requirements called for using Apache for a production deployment. I found Phusion Passenger (mod_rails) and decided to give it a try.

I decided to update my rubygems to the latest version before installing Passenger, so I did a "gem update --system". A slew of gems were updated (at least six or eight). All seemed fine until I tried actually using my application again :wink:

Now the application crashes when it tries to access any of my named routes. Rubygems cores, usually with a segmentation fault, generating messages like this in /var/log/httpd/error_log:

  *** glibc detected *** Rails: /var/www/rails/wave: double free or corruption (out): 0x0a188d90 ***

and

  Premature end of script headers: users, referer: http://shrimp/wave

and

  /usr/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/helpers/ url_helper.rb:488: [BUG] Segmentation fault

and

  /usr/lib/ruby/gems/1.8/gems/actionpack-2.0.2/lib/action_view/ template_error.rb:78: [BUG] Segmentation fault

I tried using both mod_rails and mongrel to serve the application, but both give the same results.

In hindsight I should have done a backup before the update, but my hindsight seems a lot better than my foresight lately.

So now we finally come to my question: How do I undo the mess I made? Is there a log somewhere that tells me specifically which versions of which gems were updated, and is there an easy way to roll back to a specific version?

Even better would be if someone else has seen the same problem and knows of a patch or update that would allow me to use the updated gems... but I figure that's probably asking too much.

One more thing: My development environment is Fedora Core 8 and I have the yum updatesd service running. I've noted at least two Ruby "security" updates over the last week, so I'm also wondering if anything pushed down via that route might be causing (or at least contributing to) my problems...

Greg

Hello All!

I've been running Rails 2.0.2 with Ruby 1.8.6 for the last six months. I developed an application that runs fine on two different servers -- or at least, it used to.

I used Mongrel as a development server, but requirements called for using Apache for a production deployment. I found Phusion Passenger (mod_rails) and decided to give it a try.

I decided to update my rubygems to the latest version before installing Passenger, so I did a "gem update --system". A slew of gems were updated (at least six or eight). All seemed fine until I tried actually using my application again :wink:

Did you update ruby itself? the currently available version
(1.8.6p230) is known to segfault (no official release that fixes the
problem, a number of people have backported the security fixes etc...)

Fred

Did you update ruby itself?

Sure did:

  ruby -v   ruby 1.8.6 (2008-06-20 patchlevel 230) [i386-linux]

It was one of the updates listed in yum's automatic updates feed, I think from Livna. I see now that I can't rely on the repo to provide stable releases, so evidently I need to kill updatesd and start doing manual updates again. So much for time saving conveniences like automatic updates, huh? <grin>

I'm sorry to have taken up your time with a question that could have been answered by doing a bit more research on my own. Too many short deadlines lately, so I'm a bit more scattered-brained than usual...

Thanks! I sincerely appreciate the help.

Greg

> Did you update ruby itself?

Sure did:

  ruby -v   ruby 1.8.6 (2008-06-20 patchlevel 230) [i386-linux]

It was one of the updates listed in yum's automatic updates feed, I think from Livna. I see now that I can't rely on the repo to provide stable releases, so evidently I need to kill updatesd and start doing manual updates again. So much for time saving conveniences like automatic updates, huh? <grin>

I'm sorry to have taken up your time with a question that could have been answered by doing a bit more research on my own. Too many short deadlines lately, so I'm a bit more scattered-brained than usual...

Thanks! I sincerely appreciate the help.