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.