-
Type:
Bug
-
Resolution: Gone away
-
Priority:
Major - P3
-
None
-
Affects Version/s: 5.1.5
-
Component/s: None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
-
None
I am having trouble with using Mongoid in a Rails app under JRuby. I can insert records and count records, but any attempt to query results in the following:
irb(main):004:0> ConnectionErrorLog.first D, [2017-01-24T19:08:13.236000 #278] DEBUG -- : MONGODB | Adding mongo:27017 to the cluster. D, [2017-01-24T19:08:13.341000 #278] DEBUG -- : MONGODB | mongo:27017 | mongoid.find | STARTED | {"find"=>"connection_error_logs", "filter"=>{}, "limit"=>1, "singleBatch"=>true} D, [2017-01-24T19:08:13.389000 #278] DEBUG -- : MONGODB | mongo:27017 | mongoid.find | SUCCEEDED | 0.004s Java::JavaLang::ClassCastException: org.jruby.RubyBignum cannot be cast to org.jruby.RubyFixnum from org.jruby.RubyBasicObject.addFinalizer(RubyBasicObject.java:1217) from org.jruby.runtime.ObjectSpace.addFinalizer(ObjectSpace.java:118) from org.jruby.RubyObjectSpace.define_finalizer(RubyObjectSpace.java:83) from org.jruby.RubyObjectSpace$INVOKER$s$0$1$define_finalizer.call(RubyObjectSpace$INVOKER$s$0$1$define_finalizer.gen) from org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:218) from org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:214) from org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346) from org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204) from org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59) from org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105) from org.jruby.ast.BlockNode.interpret(BlockNode.java:71) from org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74) from org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:290) from org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:243) from org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:376) from org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:247) ... 291 levels... from org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$s$1$0$require19.gen) from org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:350) from org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61) from org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61) from org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326) from org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170) from script.rails.__file__(script/rails:6) from script.rails.load(script/rails) from org.jruby.Ruby.runScript(Ruby.java:857) from org.jruby.Ruby.runScript(Ruby.java:850) from org.jruby.Ruby.runNormally(Ruby.java:729) from org.jruby.Ruby.runFromMain(Ruby.java:578) from org.jruby.Main.doRunFromMain(Main.java:393) from org.jruby.Main.internalRun(Main.java:288) from org.jruby.Main.run(Main.java:217) from org.jruby.Main.main(Main.java:197)irb(main)
I am having trouble with using Mongoid in a Rails app under JRuby. I can insert records and count records, but any attempt to query results in the following:
irb(main):004:0> ConnectionErrorLog.first
D, 2017-01-24T19:08:13.236000 #278 DEBUG – : MONGODB | Adding mongo:27017 to the cluster.
D, 2017-01-24T19:08:13.341000 #278 DEBUG – : MONGODB | mongo:27017 | mongoid.find | STARTED | {"find"=>"connection_error_logs", "filter"=>{}, "limit"=>1, "singleBatch"=>true}
D, 2017-01-24T19:08:13.389000 #278 DEBUG – : MONGODB | mongo:27017 | mongoid.find | SUCCEEDED | 0.004s
Java::JavaLang::ClassCastException: org.jruby.RubyBignum cannot be cast to org.jruby.RubyFixnum
from org.jruby.RubyBasicObject.addFinalizer(RubyBasicObject.java:1217)
from org.jruby.runtime.ObjectSpace.addFinalizer(ObjectSpace.java:118)
from org.jruby.RubyObjectSpace.define_finalizer(RubyObjectSpace.java:83)
from org.jruby.RubyObjectSpace$INVOKER$s$0$1$define_finalizer.call(RubyObjectSpace$INVOKER$s$0$1$define_finalizer.gen)
from org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:218)
from org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:214)
from org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346)
from org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204)
from org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
from org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
from org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
from org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
from org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:290)
from org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:243)
from org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:376)
from org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:247)
... 291 levels...
from org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$s$1$0$require19.gen)
from org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:350)
from org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
from org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
from org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)
from org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)
from script.rails._file_(script/rails:6)
from script.rails.load(script/rails)
from org.jruby.Ruby.runScript(Ruby.java:857)
from org.jruby.Ruby.runScript(Ruby.java:850)
from org.jruby.Ruby.runNormally(Ruby.java:729)
from org.jruby.Ruby.runFromMain(Ruby.java:578)
from org.jruby.Main.doRunFromMain(Main.java:393)
from org.jruby.Main.internalRun(Main.java:288)
from org.jruby.Main.run(Main.java:217)
from org.jruby.Main.main(Main.java:197)irb(main)
I am using the following versions:
Rails 4.1.13
JRUBY 1.7.23
Mongoid Gem 5.1.5
Mongo Gem 2.3.1
Mongodb server 3.2.11
I am somewhat at a loss as to how to debug this further. I have stripped my model down to the minimum:
class ConnectionErrorLog
include Mongoid::Document
end
development_docker:
clients:
default:
database: mongoid
hosts:
- mongo:27017