This project is archived and is in readonly mode.

#4565 ✓ resolved
Jarl Friis

config.cache_classes = false is broken in 2.3.4 and 2.3.5

Reported by Jarl Friis | May 10th, 2010 @ 09:54 AM | in 2.3.6

Even the most basic application is broken in 2.3.4 and 2.3.5 in development environment (where config.cache_classes = false)

Here are steps to reproduce. notice it is on the second request (not the first one) it fails:

$ rails newproject
      create                  
      create  app/controllers 
      create  app/helpers     
      create  app/models      
      create  app/views/layouts
      create  config/environments
      create  config/initializers
      create  config/locales     
      create  db                 
      create  doc                
      create  lib                
      create  lib/tasks          
      create  log                
      create  public/images      
      create  public/javascripts 
      create  public/stylesheets 
      create  script/performance 
      create  test/fixtures      
      create  test/functional    
      create  test/integration   
      create  test/performance   
      create  test/unit          
      create  vendor             
      create  vendor/plugins     
      create  tmp/sessions       
      create  tmp/sockets        
      create  tmp/cache          
      create  tmp/pids           
      create  Rakefile           
      create  README             
      create  app/controllers/application_controller.rb
      create  app/helpers/application_helper.rb        
      create  config/database.yml                      
      create  config/routes.rb                         
      create  config/locales/en.yml                    
      create  db/seeds.rb                              
      create  config/initializers/backtrace_silencers.rb
      create  config/initializers/inflections.rb        
      create  config/initializers/mime_types.rb         
      create  config/initializers/new_rails_defaults.rb 
      create  config/initializers/session_store.rb      
      create  config/environment.rb                     
      create  config/boot.rb                            
      create  config/environments/production.rb         
      create  config/environments/development.rb        
      create  config/environments/test.rb               
      create  script/about                              
      create  script/console                            
      create  script/dbconsole                          
      create  script/destroy                            
      create  script/generate                           
      create  script/runner                             
      create  script/server
      create  script/plugin
      create  script/performance/benchmarker
      create  script/performance/profiler
      create  test/test_helper.rb
      create  test/performance/browsing_test.rb
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/index.html
      create  public/favicon.ico
      create  public/robots.txt
      create  public/images/rails.png
      create  public/javascripts/prototype.js
      create  public/javascripts/effects.js
      create  public/javascripts/dragdrop.js
      create  public/javascripts/controls.js
      create  public/javascripts/application.js
      create  doc/README_FOR_APP
      create  log/server.log
      create  log/production.log
      create  log/development.log
      create  log/test.log
$ cd newproject/
/home/jarl/tmp/newproject
$ ./script/about
About your application's environment
Ruby version              1.8.7 (x86_64-linux)
RubyGems version          1.3.5
Rack version              1.0
Rails version             2.3.5
Active Record version     2.3.5
Active Resource version   2.3.5
Action Mailer version     2.3.5
Active Support version    2.3.5
Application root          /home/jarl/tmp/newproject
Environment               development
Database adapter          sqlite3
Database schema version   0
$ ./script/generate scaffold test
      exists  app/models/
      exists  app/controllers/
      exists  app/helpers/
      create  app/views/tests
      exists  app/views/layouts/
      exists  test/functional/
      exists  test/unit/
      create  test/unit/helpers/
      exists  public/stylesheets/
      create  app/views/tests/index.html.erb
      create  app/views/tests/show.html.erb
      create  app/views/tests/new.html.erb
      create  app/views/tests/edit.html.erb
      create  app/views/layouts/tests.html.erb
      create  public/stylesheets/scaffold.css
      create  app/controllers/tests_controller.rb
      create  test/functional/tests_controller_test.rb
      create  app/helpers/tests_helper.rb
      create  test/unit/helpers/tests_helper_test.rb
       route  map.resources :tests
  dependency  model
      exists    app/models/
      exists    test/unit/
      exists    test/fixtures/
      create    app/models/test.rb
      create    test/unit/test_test.rb
      create    test/fixtures/tests.yml
      create    db/migrate
      create    db/migrate/20100510080045_create_tests.rb
$ grep 'cache' config/environments/development.rb
config.cache_classes = false
$ ./script/console
Loading development environment (Rails 2.3.5)
>> app.get '/tests/'
=> 500
>> app.get '/tests/'
ThreadError: thread 0x7f9dc864b370 tried to join itself
        from /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/reloader.rb:31:in `lock'
        from /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/reloader.rb:31:in `run'
        from /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:108:in `call'
        from /var/lib/gems/1.8/gems/rack-1.0.1/lib/rack/lint.rb:47:in `_call'
        from /var/lib/gems/1.8/gems/rack-1.0.1/lib/rack/lint.rb:35:in `call'
        from /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/integration.rb:316:in `process'
        from /var/lib/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/integration.rb:197:in `get'
        from (irb):2

I have verified that this also fails in 2.3.4, but everything is fine in 2.3.3

Jarl

Comments and changes to this ticket

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

Tickets have moved to Github

The new ticket tracker is available at https://github.com/rails/rails/issues

Shared Ticket Bins

Attachments

Referenced by

Pages