Issue Details (XML | Word | Printable)

Key: ACTIVERECORD_JDBC-9
Type: Bug Bug
Status: Resolved Resolved
Resolution: Fixed
Priority: Major Major
Assignee: Unassigned
Reporter: Igor Minar
Votes: 2
Watchers: 3
Operations

If you were logged in you would be able to see more operations.
activerecord-jdbc

uninitialized constant ActiveRecord::VERSION

Created: 18/Mar/09 02:48 AM   Updated: 01/Oct/09 09:13 PM   Resolved: 01/Oct/09 09:13 PM
Component/s: MySQL
Affects Version/s: 0.9.1
Fix Version/s: 0.9.2

Time Tracking:
Not Specified

Environment:

rails-2.2.2, jruby-1.2.0, jdk6


Tags:


 Description  « Hide

I tried to upgrade activerecord-jdbcmysql-adapter in my project from 0.9 to 0.9.1 and I stumbled upon the error below when the app starts (in glassfish gem).

When I donwgraded back to 0.9 the error went way. I tried to look for the source of this error as it is not obvious that the error comes from ar-jdbc, but wasn't able to find anything. I disabled all the plugins that could monkeypatch anything, but that didn't help.

There must be something project specific about this bug, because I tried 0.9.1 with another (simple) project and it worked fine. I noticed STI mentioned in

activesupport/lib/active_support/dependencies.rb:77
and I wonder if that's the difference between the two projects. While the affected one uses STI the unaffected one doesn't.

[#|2009-03-17T19:04:06.562-0700|SEVERE|glassfish|null|_ThreadID=12;_ThreadName=Thread-1;|JRuby limited openssl loaded. gem install jruby-openssl for full support.
http://wiki.jruby.org/wiki/JRuby_Builtin_OpenSSL|#]

[#|2009-03-17T19:04:08.756-0700|SEVERE|glassfish|javax.enterprise.system.core|_ThreadID=12;_ThreadName=Thread-1;|uninitialized constant ActiveRecord::VERSION
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activesupport/lib/active_support/dependencies.rb:77:in `const_missing_with_dependencies'
	from /Users/me3x/lib/jruby-1.2.0/lib/ruby/gems/1.8/gems/activerecord-jdbc-adapter-0.9.1/lib/active_record/connection_adapters/jdbc_adapter.rb:14
	from /Users/me3x/lib/jruby-1.2.0/lib/ruby/gems/1.8/gems/activerecord-jdbc-adapter-0.9.1/lib/active_record/connection_adapters/jdbc_adapter.rb:31:in `require'
	from /Users/me3x/lib/jruby-1.2.0/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activesupport/lib/active_support/dependencies.rb:153:in `require'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activesupport/lib/active_support/dependencies.rb:153:in `require'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:69:in `establish_connection'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:58:in `establish_connection'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:53:in `establish_connection'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/../vendor/rails/railties/lib/initializer.rb:392:in `initialize_database'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/../vendor/rails/railties/lib/initializer.rb:139:in `process'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/../vendor/rails/railties/lib/initializer.rb:112:in `run'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/environment.rb:30
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/environment.rb:1

com.sun.grizzly.jruby.rack.RackInitializationException: uninitialized constant ActiveRecord::VERSION
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activesupport/lib/active_support/dependencies.rb:77:in `const_missing_with_dependencies'
	from /Users/me3x/lib/jruby-1.2.0/lib/ruby/gems/1.8/gems/activerecord-jdbc-adapter-0.9.1/lib/active_record/connection_adapters/jdbc_adapter.rb:14
	from /Users/me3x/lib/jruby-1.2.0/lib/ruby/gems/1.8/gems/activerecord-jdbc-adapter-0.9.1/lib/active_record/connection_adapters/jdbc_adapter.rb:31:in `require'
	from /Users/me3x/lib/jruby-1.2.0/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activesupport/lib/active_support/dependencies.rb:153:in `require'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activesupport/lib/active_support/dependencies.rb:521:in `new_constants_in'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activesupport/lib/active_support/dependencies.rb:153:in `require'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:69:in `establish_connection'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:58:in `establish_connection'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:53:in `establish_connection'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/../vendor/rails/railties/lib/initializer.rb:392:in `initialize_database'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/../vendor/rails/railties/lib/initializer.rb:139:in `process'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/../vendor/rails/railties/lib/initializer.rb:112:in `run'
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/environment.rb:30
	from /Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/environment.rb:1

	at com.sun.grizzly.jruby.rack.DefaultRackApplicationFactory.createApplication(DefaultRackApplicationFactory.java:169)
	at com.sun.grizzly.jruby.rack.DefaultRackApplicationFactory.newApplication(DefaultRackApplicationFactory.java:69)
	at com.sun.grizzly.jruby.rack.RackApplicationPoolAdapter.initializeObject(RackApplicationPoolAdapter.java:43)
	at com.sun.grizzly.jruby.rack.RackApplicationPoolAdapter.initializeObject(RackApplicationPoolAdapter.java:15)
	at com.sun.grizzly.scripting.pool.DynamicPool$1.run(DynamicPool.java:436)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
	at java.lang.Thread.run(Thread.java:637)
Caused by: org.jruby.exceptions.RaiseException: uninitialized constant ActiveRecord::VERSION
	at Kernel.raise(/Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activesupport/lib/active_support/dependencies.rb:445)
	at ActiveSupport::Dependencies.load_missing_constant(/Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activesupport/lib/active_support/dependencies.rb:77)
	at ActiveSupport::Dependencies::ModuleConstMissing.const_missing_with_dependencies(/Users/me3x/lib/jruby-1.2.0/lib/ruby/gems/1.8/gems/activerecord-jdbc-adapter-0.9.1/lib/active_record/connection_adapters/jdbc_adapter.rb:14)
	at (unknown).(unknown)(/Users/me3x/lib/jruby-1.2.0/lib/ruby/gems/1.8/gems/activerecord-jdbc-adapter-0.9.1/lib/active_record/connection_adapters/jdbc_adapter.rb:31)
	at Kernel.require(/Users/me3x/lib/jruby-1.2.0/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31)
	at Kernel.require(/Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activesupport/lib/active_support/dependencies.rb:153)
	at ActiveSupport::Dependencies::Loadable.require(/Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activesupport/lib/active_support/dependencies.rb:521)
	at ActiveSupport::Dependencies.new_constants_in(/Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activesupport/lib/active_support/dependencies.rb:153)
	at ActiveSupport::Dependencies::Loadable.require(/Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:69)
	at #<Class:01x291cbbc1>.establish_connection(/Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:58)
	at #<Class:01x291cbbc1>.establish_connection(/Users/me3x/Development/DSE/mediacast2/apps/mediacast/vendor/rails/activerecord/lib/active_record/connection_adapters/abstract/connection_specification.rb:53)
	at #<Class:01x291cbbc1>.establish_connection(/Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/../vendor/rails/railties/lib/initializer.rb:392)
	at Rails::Initializer.initialize_database(/Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/../vendor/rails/railties/lib/initializer.rb:139)
	at Rails::Initializer.process(/Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/../vendor/rails/railties/lib/initializer.rb:112)
	at #<Class:01x3e1229d2>.run(/Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/environment.rb:30)
	at (unknown).(unknown)(/Users/me3x/Development/DSE/mediacast2/apps/mediacast/config/environment.rb:1)
	at (unknown).(unknown)(:1)
|#]

[#|2009-03-17T19:04:08.759-0700|WARNING|glassfish|javax.enterprise.system.core|_ThreadID=12;_ThreadName=Thread-1;|Warning: error application could not be initialized.|#]


ryanbriones added a comment - 19/Mar/09 06:01 PM

I was running db5adcb23fd074ad5fbff982979d957be8fc2ebc from git for a while and things seem to be fine. I installed the gem from gem install on a fresh jruby 1.2.0 today, and i'm getting this same ActiveRecord::VERSION error as well. Running Rails 2.2.2. Requiring 'active_record/version' in lib/active_record/connection_adapters/jdbc_adapter.rb seems to fix the issue, but not sure if it's the right answer.


hepora added a comment - 08/Apr/09 10:43 AM

I upgraded my environment from jruby-1.1.5 with activerecord-jdbc-adapter-0.8.2 to jruby-1.2.0 with activerecord-jdbc-adapter-0.9.1
The same issue surfaced with my setup and went away by following the advice given in the previous comment (adding "require 'active_record/version'"..)

Another way to solve is just to downgrade activerecord-jdbc-adapter from 0.9.1 to 0.9

We deploy on top of Glassfish v2.1 running on Mac OS X


Nick Sieger added a comment - 01/Oct/09 09:13 PM

Fixed in 0.9.2