# Strange frozen string problem starting rails

**URL:** <https://www.ruby-forum.com/t/strange-frozen-string-problem-starting-rails/92842>\
**Category:** Rails\
**Created:** [April 24, 2007, 10:16pm UTC](https://www.ruby-forum.com/t/strange-frozen-string-problem-starting-rails/92842 "2007-04-24T22:16:07Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![mike\_castleman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/c6cbf5/32.png) [@mike\_castleman](https://www.ruby-forum.com/u/mike_castleman)\
**Post date:** [April 24, 2007, 10:16pm UTC](https://www.ruby-forum.com/t/strange-frozen-string-problem-starting-rails/92842/1 "2007-04-24T22:16:07Z")

</div>

hi,

I am experiencing a very strange problem with my Rails installation. I’m  
using ruby 1.8.6 on Debian Linux, with edge rails.

Whenever I try to start mongrel, I get an exception about “can’t modify  
frozen string”. I get a similar exception when I try to do “rake  
db:migrate”. In this case, the exception seems to pop up _after_ the  
migrations do succesfully run.

The problem seems similar to the one described at  
[http://rubyforge.org/forum/message.php?msg\_id=20575](http://rubyforge.org/forum/message.php?msg_id=20575), except the user  
there is running Windows and I am running Linux.

Most mysteriously, other members of my development team do not  
experience this problem.

Here is a stack trace of the exception:

mlc@coconut:~/src/demomcracynow.org$ rake --trace db:migrate  
(in /home/mlc/src/democracynow.org)  
\*\* Invoke db:migrate (first\_time)  
\*\* Invoke environment (first\_time)  
\*\* Execute environment  
\*\* Execute db:migrate  
\*\* Invoke db:schema:dump (first\_time)  
\*\* Invoke environment  
\*\* Execute db:schema:dump  
rake aborted!  
can’t modify frozen string  
/usr/lib/ruby/1.8/date/format.rb:105:in `chomp!' /usr/lib/ruby/1.8/date/format.rb:105:in `method\_missing’  
/usr/lib/ruby/1.8/date/format.rb:963:in `_parse' /home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb:114:in `string\_to\_time’  
/home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active\_record/connection\_adapters/abstract/schema\_definitions.rb:60:in  
`type_cast' /home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/schema_definitions.rb:22:in `initialize’  
/home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active\_record/connection\_adapters/mysql\_adapter.rb:93:in  
`initialize' /home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:354:in `new’  
/home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active\_record/connection\_adapters/mysql\_adapter.rb:354:in  
`columns' /home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active_record/connection_adapters/mysql_adapter.rb:354:in `each’  
/home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active\_record/connection\_adapters/mysql\_adapter.rb:354:in  
`columns' /home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active_record/schema_dumper.rb:68:in `table’  
/home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active\_record/schema\_dumper.rb:63:in  
`tables' /home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active_record/schema_dumper.rb:54:in `each’  
/home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active\_record/schema\_dumper.rb:54:in  
`tables' /home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active_record/schema_dumper.rb:23:in `dump’  
/home/mlc/src/democracynow.org/vendor/rails/activerecord/lib/active\_record/schema\_dumper.rb:17:in  
`dump' /home/mlc/src/democracynow.org/vendor/rails/railties/lib/tasks/databases.rake:24/home/mlc/src/democracynow.org/vendor/rails/railties/lib/tasks/databases.rake:23:in `open’  
/home/mlc/src/democracynow.org/vendor/rails/railties/lib/tasks/databases.rake:23/usr/lib/ruby/1.8/rake.rb:387:in  
`call' /usr/lib/ruby/1.8/rake.rb:387:in `execute’  
/usr/lib/ruby/1.8/rake.rb:387:in `each' /usr/lib/ruby/1.8/rake.rb:387:in `execute’  
/usr/lib/ruby/1.8/rake.rb:357:in `invoke' /usr/lib/ruby/1.8/rake.rb:350:in `synchronize’  
/usr/lib/ruby/1.8/rake.rb:350:in `invoke' /home/mlc/src/democracynow.org/vendor/rails/railties/lib/tasks/databases.rake:5 /usr/lib/ruby/1.8/rake.rb:387:in `call’  
/usr/lib/ruby/1.8/rake.rb:387:in `execute' /usr/lib/ruby/1.8/rake.rb:387:in `each’  
/usr/lib/ruby/1.8/rake.rb:387:in `execute' /usr/lib/ruby/1.8/rake.rb:357:in `invoke’  
/usr/lib/ruby/1.8/rake.rb:350:in `synchronize' /usr/lib/ruby/1.8/rake.rb:350:in `invoke’  
/usr/lib/ruby/1.8/rake.rb:1906:in `run' /usr/lib/ruby/1.8/rake.rb:1906:in `each’  
/usr/lib/ruby/1.8/rake.rb:1906:in `run’  
/usr/bin/rake:4

Any help would be very greatly appreciated. Let me know if I can provide  
any more information.

---

<div class="post-metadata">

**Author:** ![mike\_castleman](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/c6cbf5/32.png) [@mike\_castleman](https://www.ruby-forum.com/u/mike_castleman)\
**Post date:** [April 25, 2007, 12:42am UTC](https://www.ruby-forum.com/t/strange-frozen-string-problem-starting-rails/92842/2 "2007-04-25T00:42:28Z")

</div>

mike castleman wrote:

> can’t modify frozen string  
> /usr/lib/ruby/1.8/date/format.rb:105:in `chomp!' /usr/lib/ruby/1.8/date/format.rb:105:in`method\_missing’  
> /usr/lib/ruby/1.8/date/format.rb:963:in `\_parse’

ok, so I managed to work around the problem by patching  
/usr/lib/ruby/1.8/date/format.rb as shown below. anyone who can tell me  
why this was necessary will be my new hero.

— format.rb.orig 2007-04-24 18:41:28.820600021 -0400  
+++ format.rb 2007-04-24 18:40:50.362196521 -0400  
@@ -101,7 +101,7 @@  
end

```
   def method_missing(t, *args, &block)

```

- 

```
  t = t.to_s

```

- 

```
  t = String.new(t.to_s)
  set = t.chomp!('=')
  t = t.intern
  if set
```
