dispatch.cgi -> Anonymous modules have no name

I upgraded to Rails 1.2.1 and deployed to my ISP, who has 1.2.1 ready
and waiting.

The site disappeared into an HTTP 500 error.

So I get into the site, run public/dispatch.cgi or dispatch.rb, and get this:

# ./dispatch.rb
Status: 400 Bad Request
`to_constant_name': Anonymous modules have no name to be referenced by
        from /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:215:in
        from /usr/local/lib/ruby/gems/1.8/gems/activesupport-1.4.0/lib/active_support/dependencies.rb:477:in
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/dispatcher.rb:117:in
        from /usr/local/lib/ruby/gems/1.8/gems/rails-1.2.1/lib/dispatcher.rb:51:in
        from ./dispatch.rb:10

Google has a few hits for that, and one of them tells me to do this:

  rake rails:update

Well, that crunched a whole lot of my code (I had been wondering how
to upgrade the site-side code to a new Rails...). But it didn't fix
the problem. I can also reproduce the same problem on my development

One big irritation is dispatch.rb:10 doesn't have an anonymous module,
it has Dispatcher, which is imported just a few lines above.

What's going on??

# ./dispatch.rb
Status: 400 Bad Request

We figured it out. dispatch.rb is supposed to do that, but its permissions must be exactly 755...