# Status: 500 Internal Server Error - A session\_key is require

**URL:** <https://www.ruby-forum.com/t/status-500-internal-server-error-a-session-key-is-require/102738>\
**Category:** Rails\
**Created:** [April 4, 2007, 2:57am UTC](https://www.ruby-forum.com/t/status-500-internal-server-error-a-session-key-is-require/102738 "2007-04-04T02:57:31Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [April 4, 2007, 2:57am UTC](https://www.ruby-forum.com/t/status-500-internal-server-error-a-session-key-is-require/102738/1 "2007-04-04T02:57:31Z")

</div>

Hi,

Anyone seen this error / have any suggestions here?

I basically did a “cap deploy” to dreamhost but I’m now getting this in  
the  
“production.log” when trying to run up the application. The key things  
I  
changed in the deployment is that I:

a) When to rails v1.2.3 (well to revision 6419 really for completeness -  
which I looked up to be v1.2.3)  
b) I implemented the deployment technique from Mike C. at the bottom  
section (“The Cadillac Approach”) of  
[http://clarkware.com/cgi/blosxom/2007/01/18#ManagingVersionsWithCap](http://clarkware.com/cgi/blosxom/2007/01/18#ManagingVersionsWithCap),  
i.e.

- checks out rails (rev 6419) to a shared area
- then symlinks the app /vendor/rails directory to this area
- basically allows capistrano to be run to update your application but  
without having to put rails into the project to minimise checkout time

Any ideas?

(actually I’m not exactly sure with this approach what setting I should  
use  
in environment.rb for RAILS\_GEM\_VERSION - I’ve tried both commenting it  
out  
and setting it to ‘1.2.2’ but I get the below error in both cases)

DISPATCHER FAILSAFE RESPONSE (has cgi) Tue Apr 03 12:33:37 -0700 2007  
Status: 500 Internal Server Error  
A session\_key is required to write a cookie containing the session  
data.  
Use config.action\_controller.session = { :session\_key =\>  
“\_myapp\_session”,  
:secret =\> “some secret phrase” } in config/environment.rb

…/config/…/vendor/rails/actionpack/lib/action\_controller/session/cookie\_store.rb:49:in  
`initialize' /usr/lib/ruby/1.8/cgi/session.rb:273:in `new’  
/usr/lib/ruby/1.8/cgi/session.rb:273:in  
`initialize\_without\_cgi\_reader’

…/config/…/vendor/rails/actionpack/lib/action\_controller/cgi\_ext/session\_performance\_fix.rb:33:in  
`initialize’

…/config/…/vendor/rails/actionpack/lib/action\_controller/cgi\_process.rb:124:in  
`new’

…/config/…/vendor/rails/actionpack/lib/action\_controller/cgi\_process.rb:124:in  
`session’

…/config/…/vendor/rails/actionpack/lib/action\_controller/cgi\_process.rb:156:in  
`stale\_session\_check!’

…/config/…/vendor/rails/actionpack/lib/action\_controller/cgi\_process.rb:111:in  
`session’

…/config/…/vendor/rails/actionpack/lib/action\_controller/base.rb:1097:in  
`assign\_shortcuts\_without\_flash’

…/config/…/vendor/rails/actionpack/lib/action\_controller/flash.rb:174:in  
`assign\_shortcuts’

…/config/…/vendor/rails/actionpack/lib/action\_controller/base.rb:467:in  
`process\_without\_filters’

…/config/…/vendor/rails/actionpack/lib/action\_controller/filters.rb:652:in  
`process\_without\_session\_management\_support’

…/config/…/vendor/rails/actionpack/lib/action\_controller/session\_management.rb:122:in  
`process’

…/config/…/vendor/rails/actionpack/lib/action\_controller/base.rb:326:in  
`process' ../config/../vendor/rails/railties/lib/dispatcher.rb:39:in `dispatch’  
…/config/…/vendor/rails/railties/lib/fcgi\_handler.rb:168:in  
`process_request' ../config/../vendor/rails/railties/lib/fcgi_handler.rb:143:in `process\_each\_request!’  
…/config/…/vendor/rails/railties/lib/fcgi\_handler.rb:109:in  
`with_signal_handler' ../config/../vendor/rails/railties/lib/fcgi_handler.rb:142:in `process\_each\_request!’  
/usr/lib/ruby/1.8/fcgi.rb:600:in `each_cgi' /usr/lib/ruby/1.8/fcgi.rb:597:in `each’  
/usr/lib/ruby/1.8/fcgi.rb:597:in `each_cgi' ../config/../vendor/rails/railties/lib/fcgi_handler.rb:141:in `process\_each\_request!’  
…/config/…/vendor/rails/railties/lib/fcgi\_handler.rb:55:in  
`process!' ../config/../vendor/rails/railties/lib/fcgi_handler.rb:25:in `process!’  
dispatch.fcgi:24

Tks  
Greg

---

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [April 4, 2007, 1:11pm UTC](https://www.ruby-forum.com/t/status-500-internal-server-error-a-session-key-is-require/102738/2 "2007-04-04T13:11:18Z")

</div>

PS. I have confirmed that using this approach (“The Cadillac Approach”)  
it  
has worked with rails 1.2.1 and 1.2.2. It is just 1.2.3 that is giving  
this  
issue. Any ideas?

---

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [April 4, 2007, 3:43pm UTC](https://www.ruby-forum.com/t/status-500-internal-server-error-a-session-key-is-require/102738/3 "2007-04-04T15:43:08Z")

</div>

Edge Rails is trying out a new cookie-based session. You have to set  
some  
variables in environment.rb. Personally, I don’t understand why the  
environment.rb in Edge doesn’t come with this setting already in it but  
whatever. You can read more about it here…

[http://ryandaigle.com/articles/2007/2/21/what-s-new-in-edge-rails-cookie-based-sessions](http://ryandaigle.com/articles/2007/2/21/what-s-new-in-edge-rails-cookie-based-sessions)

Hope that helps.

RSL

---

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [April 4, 2007, 10:58pm UTC](https://www.ruby-forum.com/t/status-500-internal-server-error-a-session-key-is-require/102738/4 "2007-04-04T22:58:11Z")

</div>

Thanks - The curiosity I have is that I was checking out based on the  
“6419”  
tag, whic is (my understanding), is the Rails 1.2.3 release. So I’m  
wondering if this latest release of rails v1.2.3 has an issue? Perhaps  
I  
should post on the dev/core mailing list?

---

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [April 5, 2007, 2:33am UTC](https://www.ruby-forum.com/t/status-500-internal-server-error-a-session-key-is-require/102738/5 "2007-04-05T02:33:30Z")

</div>

On 4/4/07, Greg H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> Thanks - The curiosity I have is that I was checking out based on the “6419”  
> tag, whic is (my understanding), is the Rails 1.2.3 release. So I’m  
> wondering if this latest release of rails v1.2.3 has an issue? Perhaps I  
> should post on the dev/core mailing list?

Greg, you’re on revision 6419 of Rails trunk. You want the 1-2-stable  
branch instead.

jeremy

---

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [April 5, 2007, 4:59am UTC](https://www.ruby-forum.com/t/status-500-internal-server-error-a-session-key-is-require/102738/6 "2007-04-05T04:59:44Z")

</div>

oh, I wasn’t sure how to look up the SVN revision number for the  
1.2.3release and someone suggested to reference it via  
[http://dev.rubyonrails.org/browser/tags](http://dev.rubyonrails.org/browser/tags) this link. The deployment  
technique from Mike C. at the bottom section (“The Cadillac  
Approach”) of  
[http://clarkware.com/cgi/blosxom/2007/01/18#ManagingVersionsWithCap](http://clarkware.com/cgi/blosxom/2007/01/18#ManagingVersionsWithCap) that  
I’m  
following seems to require you put in such a SVN revision number.

Any suggestions how I should reference the stable release via an SVN  
revision number Jeremy?

thanks  
Greg

---

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [April 5, 2007, 9:13am UTC](https://www.ruby-forum.com/t/status-500-internal-server-error-a-session-key-is-require/102738/7 "2007-04-05T09:13:11Z")

</div>

On 4/4/07, Greg H. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

> oh, I wasn’t sure how to look up the SVN revision number for the 1.2.3  
> release and someone suggested to reference it via  
> [http://dev.rubyonrails.org/browser/tags](http://dev.rubyonrails.org/browser/tags) this link. The  
> deployment technique from Mike C. at the bottom section (“The Cadillac  
> Approach”) of  
> [http://clarkware.com/cgi/blosxom/2007/01/18#ManagingVersionsWithCap](http://clarkware.com/cgi/blosxom/2007/01/18#ManagingVersionsWithCap)  
> that I’m following seems to require you put in such a SVN revision number.
> 
> Any suggestions how I should reference the stable release via an SVN  
> revision number Jeremy?

Each release is tagged; you don’t have to track revisions.

[http://svn.rubyonrails.org/rails/tags/rel\_1-2-3](http://svn.rubyonrails.org/rails/tags/rel_1-2-3) is the 1.2.3 release.

jeremy

---

<div class="post-metadata">

**Author:** ![greg](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/g/71c47a/32.png) [@greg](https://www.ruby-forum.com/u/greg)\
**Post date:** [April 4, 2007, 10:59pm UTC](https://www.ruby-forum.com/t/status-500-internal-server-error-a-session-key-is-require/102738/8 "2007-04-04T22:59:11Z")

</div>

PS. Perhaps there was a 1.2.2 to 1.2.3 upgrade script/command I was  
supposed to run but didn’t on my application? Anyone know whether there  
was  
a requirement to do this?
