Error ------ Key: JRUBY-4613 URL: http://jira.codehaus.org/browse/JRUBY-4613 Project: JRuby Issue Type: Bug Components: Application Error Affects Versions: JRuby 1.4, JRuby 1.1.6 Environment: JRuby 1.4, Java 6, JRuby rails gem 2.3.5, Tomcat 6 Reporter: Jaspreet Grewal
We recently upgraded jruby and rails version in our application. Our current development enviroment includes Jruby 1.4, rails gem 2.3.5, java 6 and tomcat 6. We are getting following error in one of the controllers (see ERROR below). The problem only occurs in Tomcat, mongrel on development enviroment works fine. Also the error starts occuring only after certain other controller methods have been called. It seems loading of a java class with similar name is causing the problem. Putting some print statements shows that before getting the error method 'qualified_const_defined?' in class activesupport-2.3.5/lib/active_support/dependencies.rb is called with path parameter being a java class: path = Java::MyCustomModule::Client And then method `method_missing' in jruby-stdlib-1.4.0.jar!/META-INF/jruby.home/lib/ruby/site_ruby/shared/builtin/javasupport/java.rb is called with following parameters: sym = const_get and args = Client The name of the controller where the problem occurs is Client::AuthController. I do have other cases where controller module names is the same as java classes and they work fine. For example there is a controller named Admin::AuthController and a java class named Java::MyCustomModule::Admin. More details of the software version numbers is also provided below the error. ==================================================================================================== ERROR ==================================================================================================== ArgumentError in Client/authController#login wrong number of arguments (1 for 0) RAILS_ROOT: /var/lib/tomcat6/webapps/ida2/WEB-INF Application Trace | Framework Trace | Full Trace file:/var/lib/tomcat6/webapps/ida2/WEB-INF/lib/jruby-stdlib-1.4.0.jar!/META-INF/jruby.home/lib/ruby/site_ruby/shared/builtin/javasupport/java.rb:51:in `method_missing' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:291:in `qualified_const_defined?' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:288:in `each' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:288:in `inject' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:288:in `qualified_const_defined?' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:415:in `load_missing_constant' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:96:in `const_missing' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/inflector.rb:361:in `constantize' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/inflector.rb:360:in `each' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/inflector.rb:360:in `constantize' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/core_ext/string/inflections.rb:162:in `constantize' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb:443:in `recognize' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb:436:in `call' file:/var/lib/tomcat6/webapps/ida2/WEB-INF/lib/jruby-stdlib-1.4.0.jar!/META-INF/jruby.home/lib/ruby/site_ruby/shared/builtin/javasupport/java.rb:51:in `method_missing' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:87:in `dispatch' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:121:in `_call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:130:in `build_middleware_stack' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:114:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:108:in `call' file:/var/lib/tomcat6/webapps/ida2/WEB-INF/lib/jruby-rack-0.9.5.jar!/rack/adapter/rails.rb:35:in `serve_rails' file:/var/lib/tomcat6/webapps/ida2/WEB-INF/lib/jruby-rack-0.9.5.jar!/rack/adapter/rails.rb:51:in `call' file:/var/lib/tomcat6/webapps/ida2/WEB-INF/lib/jruby-rack-0.9.5.jar!/jruby/rack/rails.rb:148:in `call' file:/var/lib/tomcat6/webapps/ida2/WEB-INF/lib/jruby-rack-0.9.5.jar!/rack/handler/servlet.rb:18:in `call' file:/var/lib/tomcat6/webapps/ida2/WEB-INF/lib/jruby-stdlib-1.4.0.jar!/META-INF/jruby.home/lib/ruby/site_ruby/shared/builtin/javasupport/java.rb:51:in `method_missing' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:291:in `qualified_const_defined?' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:288:in `each' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:288:in `inject' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:288:in `qualified_const_defined?' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:415:in `load_missing_constant' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/dependencies.rb:96:in `const_missing' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/inflector.rb:361:in `constantize' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/inflector.rb:360:in `each' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/inflector.rb:360:in `constantize' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activesupport-2.3.5/lib/active_support/core_ext/string/inflections.rb:162:in `constantize' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb:443:in `recognize' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/routing/route_set.rb:436:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:87:in `dispatch' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:121:in `_call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:130:in `build_middleware_stack' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:29:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:29:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/query_cache.rb:34:in `cache' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:9:in `cache' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activerecord-2.3.5/lib/active_record/query_cache.rb:28:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/activerecord-2.3.5/lib/active_record/connection_adapters/abstract/connection_pool.rb:361:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/string_coercion.rb:25:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/rack-1.0.1/lib/rack/head.rb:9:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/rack-1.0.1/lib/rack/methodoverride.rb:24:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/params_parser.rb:15:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/session/cookie_store.rb:93:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/failsafe.rb:26:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/rack-1.0.1/lib/rack/lock.rb:11:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:114:in `call' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/reloader.rb:34:in `run' /usr/share/tomcat6/webapps/ida2/WEB-INF/gems/gems/actionpack-2.3.5/lib/action_controller/dispatcher.rb:108:in `call' file:/var/lib/tomcat6/webapps/ida2/WEB-INF/lib/jruby-rack-0.9.5.jar!/rack/adapter/rails.rb:35:in `serve_rails' file:/var/lib/tomcat6/webapps/ida2/WEB-INF/lib/jruby-rack-0.9.5.jar!/rack/adapter/rails.rb:51:in `call' file:/var/lib/tomcat6/webapps/ida2/WEB-INF/lib/jruby-rack-0.9.5.jar!/jruby/rack/rails.rb:148:in `call' file:/var/lib/tomcat6/webapps/ida2/WEB-INF/lib/jruby-rack-0.9.5.jar!/rack/handler/servlet.rb:18:in `call' :1 Request Parameters: {"language"=>"en", "brand"=>"ida"} Show session dump --- Response Headers: {"Cache-Control"=>"no-cache", "Content-Type"=>""} ==================================================================================================== ==================================================================================================== More details of development environment: ==================================================================================================== # jruby -v jruby 1.4.0 (ruby 1.8.7 patchlevel 174) (2009-11-02 69fbfa3) (OpenJDK 64-Bit Server VM 1.6.0_0) [amd64-java] # java -version java version "1.6.0_0" OpenJDK Runtime Environment (IcedTea6 1.4.1) (fedora-20.b14.fc11-x86_64) OpenJDK 64-Bit Server VM (build 14.0-b08, mixed mode) # jruby -S gem list *** LOCAL GEMS *** actionmailer (2.3.5) actionpack (2.3.5) activerecord (2.3.5) activerecord-jdbc-adapter (0.9.3) activeresource (2.3.5) activesupport (2.3.5) builder (2.1.2) color (1.4.1) fastercsv (1.5.1) gemcutter (0.4.1) hoe (2.5.0) jruby-jars (1.4.0) jruby-openssl (0.6) json_pure (1.2.1) pdf-writer (1.1.8) rack (1.0.1) rails (2.3.5) rake (0.8.7) rspec (1.2.9) rubyforge (2.0.3) sources (0.0.1) transaction-simple (1.4.0) warbler (0.9.14) xml-simple (1.0.12) ==================================================================================================== -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email