Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: JRuby 1.2
-
Fix Version/s: JRuby 1.2
-
Component/s: Java Integration
-
Labels:None
-
Environment:Mac OS X 10.5.6
-
Number of attachments :
Description
building JRuby-Rack started throwing this Java error: java.lang.ClassCastException: org.jruby.RubyObject
on this commit:
commit a6a9a4e5cc32691f355158ba6226e87a348b3948
Author: headius <headius@961051c9-f516-0410-bf72-c9f7e237a7b7>
Date: Tue Feb 17 05:46:10 2009 +0000
Fix for JRUBY-3224: Array#to_java with java object reference doesn't carry over object identity
git-svn-id: https://svn.codehaus.org/jruby/trunk/jruby@9210 961051c9-f516-0410-bf72-c9f7e237a7b7
This is the jruby-rack commit I am building with (edge as of March 1)
commit be653a40108131e17545c34dfd99025dbcc5f730
Author: Nick Sieger <nick@nicksieger.com>
Date: Thu Feb 26 11:32:04 2009 -0800
Make geronimo dependencies 'provided'
Here's the console output building jruby-rack on rev9210:
[jruby-rack.git (master)]$ jruby -v jruby 1.2.0 (ruby 1.8.6 patchlevel 287) (2009-03-01 rev 9210) [i386-java] [jruby-rack.git (master)]$ jruby -S rake --trace (in /Users/stephen/dev/ruby/src/jruby-rack.git) ** Invoke default (first_time) ** Invoke jar (first_time) ** Invoke target/jruby-rack-0.9.4-SNAPSHOT.jar (first_time) ** Invoke spec (first_time) ** Invoke compile (first_time) ** Invoke target/classes (first_time, not_needed) ** Execute compile javac -classpath /Users/stephen/dev/ruby/src/jruby-rack.git/src/main/lib/geronimo-jms_1.1_spec-1.1.jar:/Users/stephen/dev/ruby/src/jruby-rack.git/src/main/lib/geronimo-jsp_2.0_spec-1.1.jar:/Users/stephen/dev/ruby/src/jruby-rack.git/src/main/lib/geronimo-servlet_2.4_spec-1.1.jar:/Users/stephen/dev/ruby/src/jruby.git/lib/jruby.jar -source 1.5 -target 1.5 -d target/classes src/main/java/org/jruby/rack/DefaultRackApplication.java src/main/java/org/jruby/rack/DefaultRackApplicationFactory.java src/main/java/org/jruby/rack/PoolingRackApplicationFactory.java src/main/java/org/jruby/rack/RackApplication.java src/main/java/org/jruby/rack/RackApplicationFactory.java src/main/java/org/jruby/rack/RackContext.java src/main/java/org/jruby/rack/RackEnvironment.java src/main/java/org/jruby/rack/RackFilter.java src/main/java/org/jruby/rack/RackInitializationException.java src/main/java/org/jruby/rack/RackResponse.java src/main/java/org/jruby/rack/RackResponseEnvironment.java src/main/java/org/jruby/rack/RackServlet.java src/main/java/org/jruby/rack/RackServletContextListener.java src/main/java/org/jruby/rack/RackTag.java src/main/java/org/jruby/rack/SharedRackApplicationFactory.java src/main/java/org/jruby/rack/jms/DefaultQueueManager.java src/main/java/org/jruby/rack/jms/QueueContextListener.java src/main/java/org/jruby/rack/jms/QueueManager.java src/main/java/org/jruby/rack/jms/QueueManagerFactory.java src/main/java/org/jruby/rack/merb/MerbRackApplicationFactory.java src/main/java/org/jruby/rack/merb/MerbServletContextListener.java src/main/java/org/jruby/rack/rails/RailsRackApplicationFactory.java src/main/java/org/jruby/rack/rails/RailsServletContextListener.java src/main/java/org/jruby/rack/servlet/DefaultServletDispatcher.java src/main/java/org/jruby/rack/servlet/ServletDispatcher.java src/main/java/org/jruby/rack/servlet/ServletRackContext.java src/main/java/org/jruby/rack/servlet/ServletRackEnvironment.java src/main/java/org/jruby/rack/servlet/ServletRackResponseEnvironment.java Note: Some input files use or override a deprecated API. Note: Recompile with -Xlint:deprecation for details. Note: src/main/java/org/jruby/rack/jms/DefaultQueueManager.java uses unchecked or unsafe operations. Note: Recompile with -Xlint:unchecked for details. ** Invoke resources (first_time) ** Invoke target/classes (not_needed) ** Invoke unpack_gem (first_time) ** Invoke target (first_time, not_needed) ** Execute unpack_gem ** Invoke update_version (first_time) ** Execute update_version ** Invoke test_resources (first_time) ** Invoke target/test-classes (first_time, not_needed) ** Execute test_resources cp -r src/spec/ruby/merb/gems/gems/merb-core-0.9.7/lib/merb-core target/test-classes cp -r src/spec/ruby/merb/gems/gems/merb-core-0.9.7/lib/merb-core.rb target/test-classes ** Execute resources cp -r src/main/ruby/cgi target/classes cp -r src/main/ruby/jruby target/classes cp -r src/main/ruby/rack target/classes cp -r target/rack/lib/rack target/classes cp -r target/rack/lib/rack.rb target/classes mkdir -p target/classes/META-INF cp src/main/tld/jruby-rack.tld target/classes/META-INF ** Invoke compilespec (first_time) ** Invoke target/test-classes (not_needed) ** Execute compilespec javac -classpath /Users/stephen/dev/ruby/src/jruby-rack.git/src/main/lib/geronimo-jms_1.1_spec-1.1.jar:/Users/stephen/dev/ruby/src/jruby-rack.git/src/main/lib/geronimo-jsp_2.0_spec-1.1.jar:/Users/stephen/dev/ruby/src/jruby-rack.git/src/main/lib/geronimo-servlet_2.4_spec-1.1.jar:/Users/stephen/dev/ruby/src/jruby.git/lib/jruby.jar:/Users/stephen/dev/ruby/src/jruby-rack.git/target/classes:/Users/stephen/dev/ruby/src/jruby-rack.git/target/test-classes -source 1.5 -target 1.5 -d target/test-classes src/spec/java/org/jruby/rack/fake/FakeJspWriter.java src/spec/java/org/jruby/rack/fake/FakePageContext.java ** Invoke speconly (first_time) ** Execute speconly /Users/stephen/dev/ruby/src/jruby.git/bin/jruby -S spec --format specdoc src/spec/ruby/cgi/session/java_servlet_store_spec.rb src/spec/ruby/jruby/rack/errors_spec.rb src/spec/ruby/jruby/rack/merb_spec.rb src/spec/ruby/jruby/rack/queues_spec.rb src/spec/ruby/jruby/rack/rails_spec.rb src/spec/ruby/jruby/rack/response_spec.rb src/spec/ruby/jruby/rack/servlet_ext_spec.rb src/spec/ruby/jruby/rack/servlet_helper_spec.rb src/spec/ruby/jruby/rack/queues/activemq_spec.rb src/spec/ruby/jruby/rack/queues/message_publisher_spec.rb src/spec/ruby/jruby/rack/queues/message_subscriber_spec.rb src/spec/ruby/rack/application_spec.rb src/spec/ruby/rack/dispatcher_spec.rb src/spec/ruby/rack/filter_spec.rb src/spec/ruby/rack/jms_spec.rb src/spec/ruby/rack/servlet_context_listener_spec.rb src/spec/ruby/rack/servlet_spec.rb src/spec/ruby/rack/tag_spec.rb src/spec/ruby/rack/adapter/rails_spec.rb src/spec/ruby/rack/handler/servlet_spec.rb src/spec/ruby/rack/rails/rails_application_spec.rb CGI::Session::JavaServletStore - should raise an error if the servlet request is not present CGI::Session::JavaServletStore#restore - should do nothing if no session established - should do nothing if the session does not have anything in it - should retrieve the marshalled session from the java session - should retrieve values from other keys in the session - should retrieve java objects in the session CGI::Session::JavaServletStore#update - should do nothing if the session data is empty - should marshal the session to the java session - should store entries with string keys and values as java session attributes - should store numeric, nil, or boolean values as java session attributes - should store java object values as java session attributes - should not store entries with non-primitive values in the java session CGI::Session::JavaServletStore#close - should do the same as update CGI::Session::JavaServletStore#delete - should invalidate the servlet session - should do nothing if no session is established CGI::Session::JavaServletStore#generate_digest - should look for the secret in the java session - should generate a secret from the java session id and last accessed time JRuby::Rack::Errors - should determine the response status code based on the exception in the servlet attribute - should return 503 if there is a nested InterruptedException - should invoke the file server with PATH_INFO=/500.html - should cache responses from the file server - should expand and cache the body of the file JRuby::Rack::MerbServletHelper - should determine app_path from the 'merb.root' init parameter - should default app_path to /WEB-INF - should determine merb_environment from the 'merb.environment' init parameter - should default merb_environment to 'production' - should determine the public html root from the 'public.root' init parameter - should default public root to '/WEB-INF/public' - should create a Logger that writes messages to the servlet context Java::OrgJrubyRackMerb::MerbRackApplicationFactory getApplication - should load the Merb environment and return an application JRuby::Rack::Queues - #with_jms_connection should yield a JMS connection - #publish_message should create a session, producer and message - #publish_message should accept a block that allows construction of the message - #publish_message should create a text message when handed a string message argument - #register_listener should ensure the queue manager is listening and store the listener - #unregister_listener should remove the listener and close the queue - #receive_message should raise an exception if there is no listener for the queue - #register_listener should allow multiple listeners per queue - #register_listener should only allow a given listener to be registered once per queue - #unregister_listener should only remove the given listener and not close the queue - should deliver the message to all listeners, but raise the first of any exceptions raised JRuby::Rack::Queues::MessageDispatcher - should dispatch to an object that responds to #on_jms_message and provide the JMS message - should unmarshal the message if the marshal payload property is set - should grab text out of the message if it responds to #getText - should pass the message through otherwise - should dispatch to a listener that responds to #call - should dispatch to a listener that responds to #on_message - should instantiate a class and dispatch to it - should log and re-raise any exceptions that are raised during dispatch - should raise an exception if it was unable to dispatch to anything JRuby::Rack::RailsServletHelper - should determine RAILS_ROOT from the 'rails.root' init parameter - should default RAILS_ROOT to /WEB-INF - should determine RAILS_ENV from the 'rails.env' init parameter - should default RAILS_ENV to 'production' - should determine the public html root from the 'public.root' init parameter - should default public root to '/WEB-INF/public' - should create a log device that writes messages to the servlet context - should setup java servlet-based sessions if the session store is the default - should turn off Ruby CGI cookies if the java servlet store is used - should provide the servlet request in the session options if the java servlet store is used - should set the PUBLIC_ROOT constant to the location of the public root JRuby::Rack::RailsServletHelper#load_environment - should default the page cache directory to the public root - should default the session store to the java servlet session store - should set the ActionView ASSETS_DIR constant to the public root - should set the ActionView JAVASCRIPTS_DIR constant to the public root/javascripts - should set the ActionView STYLESHEETS_DIR constant to the public root/stylesheets JRuby::Rack Rails controller extensions - should add a #servlet_request method to ActionController::Base - should add a #forward_to method for forwarding to another servlet JRuby::Rack::RailsRequestSetup - should set up the env hash for Rails - should set env['HTTPS'] == 'on' if env['rack.url_scheme] == 'https' JRuby::Rack::Response - should return the status, headers and body - should write the status to the servlet response - should write the headers to the servlet response - should write headers with multiple values multiple addHeader invocations - should call addIntHeader with integer value - should call addDateHeader with date value - should write the body to the servlet response - should write the status first, followed by the headers, and the body last - should forward the request if the special 'Forward' header is present Java::JavaxServletHttp::HttpServletRequest - should allow #[] to access request attributes - should stringify the key, allowing symbols to be used as keys - should allow #[]= to set request attributes - should give an array of keys from getAttributeNames Java::JavaxServletHttp::HttpSession - should allow #[] to access session attributes - should stringify the key, allowing symbols to be used as keys - should allow #[]= to set session attributes - should give an array of keys from getAttributeNames JRuby::Rack::ServletHelper - should determine the public html root from the 'public.root' init parameter - should convert public.root to not have any trailing slashes - should default public root to '/WEB-INF/public' - should determine the gem path from the gem.path init parameter - should default gem path to '/WEB-INF/gems' - should set Gem.path to the value of gem_path - should create a logger that writes messages to the servlet context - should allow a custom initializer script to be evaluated as the helper is initialized JRuby::Rack::Queues::ActiveMQ - configure should start the queue manager and register an at_exit handler to stop it - should put the specified URL in the JNDI properties - should put the username and password in the JNDI properties if present - should add one queue entry for each named queue - should add one topic entry for each named topic JRuby::Rack::Queues::MessagePublisher - should delegate #publish_message to JRuby::Rack::Queues::Registry.publish_message - should allow setting up a default queue name with MessagePublisher::To() - should allow setting up a default queue name with #default_destination - should ignore unnecessary extra arguments - should allow omitting the message argument and specifying a block JRuby::Rack::Queues::ActsAsMessagePublisher in objects - should add an acts_as_publisher method - should add a publish_message method - should setup a default destination when called with a parameter JRuby::Rack::Queues::ActsAsMessagePublisher in classes - should add a publish_message instance method ActiveRecord::Base - should respond to acts_as_publisher - should have a publish_message method when acts_as_publisher is called. - should have a publish_message and default_destination when acts_as_publisher is called with a queue name. ActionController::Base - should respond to acts_as_publisher - should respond to publish_message when acts_as_publisher is called. - should respond to default_destination when acts_as_publisher is called with a queue name. JRuby::Rack::Queues::MessageSubscriber - should allow publishing to a queue when including the module JRuby::Rack::Queues::ActsAsMessageSubscriber - should add an acts_as_subscriber when included - should include MessageSubscriber when acts_as_subscriber is called ActiveRecord::Base - should respond to acts_as_subscriber - should respond to subscribe_to when acts_as_subscriber is called. ActionController::Base - should respond to acts_as_subscriber - should have a subscribes_to method when acts_as_subscriber is called. Java::OrgJrubyRack::DefaultRackApplication call - should invoke the call method on the ruby object and return the rack response Java::OrgJrubyRack::DefaultRackApplicationFactory init - should create an error application Java::OrgJrubyRack::DefaultRackApplicationFactory newRuntime - should create a new Ruby runtime with the rack environment pre-loaded - should initialize the $servlet_context global variable Java::OrgJrubyRack::DefaultRackApplicationFactory newApplication - should create a Ruby object from the script snippet given - should raise an exception if creation failed - should change directories to /WEB-INF during application initialization Java::OrgJrubyRack::DefaultRackApplicationFactory getApplication - should create an application and initialize it Java::OrgJrubyRack::DefaultRackApplicationFactory finishedWithApplication - should call destroy on the application object Java::OrgJrubyRack::DefaultRackApplicationFactory destroy - should call destroy on the error application Java::OrgJrubyRack::PoolingRackApplicationFactory - should initialize the delegate factory when initialized - should start out empty - should create a new application when empty - should accept an existing application and put it back in the pool - should call destroy on all cached applications when destroyed - should create applications during initialization according to the jruby.min.runtimes context parameter - should not create any new applications beyond the maximum specified by the jruby.max.runtimes context parameter - should also recognize the jruby.pool.minIdle and jruby.pool.maxActivejava.lang.ClassCastException: org.jruby.RubyObject at org.jruby.java.proxies.JavaProxy$i_method_1_0$RUBYINVOKER$equal_p.call(org/jruby/java/proxies/JavaProxy$i_method_1_0$RUBYINVOKER$equal_p.gen) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:273) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:112) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.mocks.space.add11559011_8682467.block_0$RUBY$__block__(space.rb:5) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.mocks.space.add11559011_8682467BlockCallback$block_0$RUBY$__block__xx1.call(Unknown Source) at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:102) at org.jruby.runtime.Block.yield(Block.java:100) at org.jruby.RubyEnumerable$16.call(RubyEnumerable.java:441) at org.jruby.runtime.CallBlock.yield(CallBlock.java:81) at org.jruby.runtime.Block.yield(Block.java:100) at org.jruby.RubyArray.each(RubyArray.java:1562) at org.jruby.RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.call(org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen) at org.jruby.RubyClass.finvoke(RubyClass.java:332) at org.jruby.javasupport.util.RuntimeHelpers.invoke(RuntimeHelpers.java:373) at org.jruby.RubyEnumerable.callEach(RubyEnumerable.java:67) at org.jruby.RubyEnumerable.detect(RubyEnumerable.java:438) at org.jruby.RubyEnumerable.detect(RubyEnumerable.java:428) at org.jruby.RubyEnumerable$s_method_multi$RUBYFRAMEDINVOKER$detect.call(org/jruby/RubyEnumerable$s_method_multi$RUBYFRAMEDINVOKER$detect.gen) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:96) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.mocks.space.add11559011_8682467.__file__(space.rb:5) at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:145) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:147) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:110) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.mocks.proxy.__add13957022_8682467.__file__(proxy.rb:116) at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:145) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:147) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:110) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.mocks.proxy.add_stub14415047_8682467.__file__(proxy.rb:59) at org.jruby.ast.executable.AbstractScript.__file__(AbstractScript.java:49) at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:213) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:183) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:190) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.mocks.methods.stub_b_1328436_8682467.__file__(methods.rb:16) at org.jruby.ast.executable.AbstractScript.__file__(AbstractScript.java:41) at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:145) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:147) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:110) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_minus_rack_dot_git.src.spec.ruby.spec_helper.mock_servlet_context12033168_8682467.block_0$RUBY$__block__(spec_helper.rb:19) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_minus_rack_dot_git.src.spec.ruby.spec_helper.mock_servlet_context12033168_8682467BlockCallback$block_0$RUBY$__block__xx1.call(Unknown Source) at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:102) at org.jruby.runtime.Block.yield(Block.java:100) at org.jruby.RubyArray.each(RubyArray.java:1562) at org.jruby.RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.call(org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:96) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_minus_rack_dot_git.src.spec.ruby.spec_helper.mock_servlet_context12033168_8682467.__file__(spec_helper.rb:18) at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:111) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:129) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:253) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:72) at org.jruby.ast.VCallNode.interpret(VCallNode.java:85) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:192) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:180) at org.jruby.runtime.Block.yield(Block.java:105) at org.jruby.RubyObject.yieldUnder(RubyObject.java:488) at org.jruby.RubyObject.specificEval(RubyObject.java:310) at org.jruby.RubyObject.instance_eval(RubyObject.java:1204) at org.jruby.RubyObject$i_method_multi$RUBYFRAMEDINVOKER$instance_eval.call(org/jruby/RubyObject$i_method_multi$RUBYFRAMEDINVOKER$instance_eval.gen) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:263) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:81) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_methods.eval_each_fail_fast12181642_8682467.block_0$RUBY$__block__(example_methods.rb:43) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_methods.eval_each_fail_fast12181642_8682467BlockCallback$block_0$RUBY$__block__xx1.call(Unknown Source) at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:102) at org.jruby.runtime.Block.yield(Block.java:100) at org.jruby.RubyArray.each(RubyArray.java:1562) at org.jruby.RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.call(org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:96) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_methods.eval_each_fail_fast12181642_8682467.__file__(example_methods.rb:42) at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:145) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:147) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:273) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:112) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_group_methods.run_before_each10818936_8682467.block_0$RUBY$__block__(example_group_methods.rb:208) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_group_methods.run_before_each10818936_8682467BlockCallback$block_0$RUBY$__block__xx1.call(Unknown Source) at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:122) at org.jruby.runtime.Block.yield(Block.java:110) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_group_methods.each_ancestor_example_group_class3862662_8682467.block_0$RUBY$__block__(example_group_methods.rb:302) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_group_methods.each_ancestor_example_group_class3862662_8682467BlockCallback$block_0$RUBY$__block__xx1.call(Unknown Source) at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:102) at org.jruby.runtime.Block.yield(Block.java:100) at org.jruby.RubyArray.each(RubyArray.java:1562) at org.jruby.RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.call(org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:96) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_group_methods.each_ancestor_example_group_class3862662_8682467.__file__(example_group_methods.rb:301) at org.jruby.ast.executable.AbstractScript.__file__(AbstractScript.java:37) at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:128) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:138) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:263) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:81) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:96) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_group_methods.run_before_each10818936_8682467.__file__(example_group_methods.rb:207) at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:145) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:147) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:273) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:112) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_methods.before_each_example1371497_8682467.__file__(example_methods.rb:94) at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:111) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:129) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:253) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:72) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_methods.execute10785064_8682467.rescue_1$RUBY$__rescue___0(example_methods.rb:14) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_methods.execute10785064_8682467.block_0$RUBY$__block__(example_methods.rb:13) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_methods.execute10785064_8682467BlockCallback$block_0$RUBY$__block__xx1.call(Unknown Source) at org.jruby.runtime.CompiledBlock.yield(CompiledBlock.java:102) at org.jruby.runtime.CompiledBlock.yieldSpecific(CompiledBlock.java:78) at org.jruby.runtime.Block.yieldSpecific(Block.java:84) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.$1_dot_8.timeout.timeout10815756_8682467.__file__(timeout.rb:53) at org.jruby.ast.executable.AbstractScript.__file__(AbstractScript.java:41) at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:162) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:156) at org.jruby.internal.runtime.methods.WrapperMethod.call(WrapperMethod.java:78) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:119) at org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:136) at ruby.jit.ruby.Users.stephen.dev.ruby.src.jruby_dot_git.lib.ruby.gems.$1_dot_8.gems.rspec_minus_1_dot_1_dot_11.lib.spec.example.example_methods.execute10785064_8682467.__file__(example_methods.rb:12) at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:179) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:165) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:293) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:152) at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59) at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57) at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:192) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:143) at org.jruby.runtime.Block.yield(Block.java:100) at org.jruby.RubyArray.each(RubyArray.java:1562) at org.jruby.RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.call(org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:239) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:180) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:313) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:192) at org.jruby.ast.FCallThreeArgNode.interpret(FCallThreeArgNode.java:40) at org.jruby.ast.ToAryNode.interpret(ToAryNode.java:69) at org.jruby.ast.MultipleAsgnNode.interpret(MultipleAsgnNode.java:116) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:125) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:126) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:253) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:72) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57) at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:192) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:143) at org.jruby.runtime.Block.yield(Block.java:100) at org.jruby.RubyArray.each(RubyArray.java:1562) at org.jruby.RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.call(org/jruby/RubyArray$i_method_0_0$RUBYFRAMEDINVOKER$each.gen) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:263) at org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:81) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:86) at org.jruby.ast.CallNoArgBlockNode.interpret(CallNoArgBlockNode.java:64) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:125) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:126) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:253) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:72) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.IfNode.interpret(IfNode.java:114) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96) at org.jruby.ast.BeginNode.interpret(BeginNode.java:83) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:125) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:126) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:253) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:72) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:125) at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:126) at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:253) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:72) at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:61) at org.jruby.ast.DAsgnNode.interpret(DAsgnNode.java:110) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.ast.BlockNode.interpret(BlockNode.java:71) at org.jruby.ast.IfNode.interpret(IfNode.java:114) at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:104) at org.jruby.runtime.InterpretedBlock.evalBlockBody(InterpretedBlock.java:192) at org.jruby.runtime.InterpretedBlock.yield(InterpretedBlock.java:180) at org.jruby.runtime.BlockBody.call(BlockBody.java:65) at org.jruby.runtime.BlockBody.call(BlockBody.java:71) at org.jruby.runtime.Block.call(B parameters from Goldspike - should force the maximum size to be greater or equal to the initial size - should retrieve the error application from the delegate factory Java::OrgJrubyRack::SharedRackApplicationFactory - should initialize the delegate factory and create the shared application when initialized - should throw a servlet exception if the shared application cannot be initialized - should return a valid application object even if initialization fails - should return the same application for any newApplication or getApplication call - should call destroy on the shared application when destroyed - should retrieve the error application from the delegate factory Java::OrgJrubyRackServlet::DefaultServletDispatcher process Finished in 6.998 seconds 148 examples, 0 failures CGI::Session::JavaServletStore Finished in 0.003 seconds 0 examples, 0 failures lock.java:80) at org.jruby.RubyProc.call(RubyProc.java:204) at org.jruby.RubyProc.call(RubyProc.java:187) at org.jruby.Ruby.tearDown(Ruby.java:2455) at org.jruby.Main.run(Main.java:231) at org.jruby.Main.run(Main.java:110) at org.jruby.util.ShellLauncher$ScriptThreadProcess.run(ShellLauncher.java:102) at java.lang.Thread.run(Thread.java:613) rake aborted! Command failed with status (-1): [/Users/stephen/dev/ruby/src/jruby.git/bin/...] /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:971:in `sh' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:984:in `call' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:984:in `sh' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1076:in `sh' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1005:in `ruby' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1076:in `ruby' /Users/stephen/dev/ruby/src/jruby-rack.git/rakefile:94 /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:617:in `call' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:617:in `execute' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:612:in `each' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:612:in `execute' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:578:in `invoke_with_call_chain' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/1.8/monitor.rb:191:in `mon_synchronize' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:571:in `invoke_with_call_chain' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:588:in `invoke_prerequisites' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `each' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `invoke_prerequisites' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:577:in `invoke_with_call_chain' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/1.8/monitor.rb:191:in `mon_synchronize' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:571:in `invoke_with_call_chain' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:588:in `invoke_prerequisites' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `each' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `invoke_prerequisites' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:577:in `invoke_with_call_chain' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/1.8/monitor.rb:191:in `mon_synchronize' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:571:in `invoke_with_call_chain' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:588:in `invoke_prerequisites' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `each' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `invoke_prerequisites' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:577:in `invoke_with_call_chain' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/1.8/monitor.rb:191:in `mon_synchronize' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:571:in `invoke_with_call_chain' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:588:in `invoke_prerequisites' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `each' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:585:in `invoke_prerequisites' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:577:in `invoke_with_call_chain' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/1.8/monitor.rb:191:in `mon_synchronize' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:571:in `invoke_with_call_chain' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:564:in `invoke' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2019:in `invoke_task' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in `top_level' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in `each' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1997:in `top_level' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2036:in `standard_exception_handling' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1991:in `top_level' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1970:in `run' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:2036:in `standard_exception_handling' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1967:in `run' /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/bin/rake:31 /Users/stephen/dev/ruby/src/jruby.git/lib/ruby/gems/1.8/gems/rake-0.8.3/bin/rake:19:in `load' /Users/stephen/dev/ruby/src/jruby.git/bin/rake:19
I found this and Nick fixed it in r9335 on trunk and r9336 on jruby-1_2 branch.