Rails4 won't run under jboss 7.1.1 - openssl-related complaints

HI All,

I have a small jruby 1.7.5 rails 4.0.0 application
(GitHub - wrightling/watchman) and am working to get it
deployed into one of our company’s app servers - a Windows server
running Jboss 7.1.1, JDK 1.7.

I have tried both Warbler 1.3.8 (from rubygems) and 1.3.9.dev (the
rails4 branch).

I run “warble” with no special options to generate the war file, and
looking at the exploded version it appears fine.

I copy this war file up to the deployment directory of our app server,
and after deployment visit the app’s URL, where I see the exception
traces shown (in part) below.

In fact, it isn’t specific to my app. I have also reproduced by doing
the following, as I reported in

rails new testapp -T
cd testapp
warble

copy testapp.war to the deployment dir of JBOSS and wait for it to

deploy

visit /testapp

I appreciate any tips on things I can try or further information I can
gather.

Stack trace is below my signature.

warren wright
//// 972-839-8849
//// @wrightling

org.jruby.exceptions.RaiseException: (LoadError) load error: openssl –
java.lang.NoClassDefFoundError: org/bouncycastle/asn1/DERBoolean
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/activesupport-4.0.0/lib/active_support/key_generator.rb:2)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/railties-4.0.0/lib/rails/application.rb:1)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/railties-4.0.0/lib/rails/application.rb:3)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/railties-4.0.0/lib/rails.rb:1)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/railties-4.0.0/lib/rails.rb:9)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/activerecord-4.0.0/lib/active_record/railtie.rb:1)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/activerecord-4.0.0/lib/active_record/railtie.rb:2)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8ebea1d/HW.war-c91c70ef489449dc/WEB-INF/config/application.rb:1)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8ebea1d/HW.war-c91c70ef489449dc/WEB-INF/config/application.rb:4)
Caused by: java.lang.NoClassDefFoundError:
org/bouncycastle/asn1/DERBoolean
at org.jruby.ext.openssl.ASN1.(ASN1.java:192)
at
org.jruby.ext.openssl.OpenSSLReal.createOpenSSL(OpenSSLReal.java:121)
at org.jruby.ext.openssl.OSSLLibrary.load(OSSLLibrary.java:11)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(JavaMethod.java:470)
at org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:328)
at
org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvoker.java:71)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:346)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:204)
at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadService.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadService.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadService.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadService.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadService.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadService.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadService.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.call(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
at
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139)
at
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:182)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
at
org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:139)
at
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:182)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:306)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:136)
at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java:121)
at org.jruby.Ruby.evalScriptlet(Ruby.java:422)
at org.jruby.Ruby.evalScriptlet(Ruby.java:399)
at
org.jruby.rack.rails.RailsRackApplicationFactory.createApplicationObject(RailsRackApplicationFactory.java:22)
at
org.jruby.rack.DefaultRackApplicationFactory$1.create(DefaultRackApplicationFactory.java:98)
at
org.jruby.rack.DefaultRackApplicationFactory$RackApplicationImpl.init(DefaultRackApplicationFactory.java:420)
at
org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRackApplicationFactory.java:111)
at
org.jruby.rack.PoolingRackApplicationFactory.createApplication(PoolingRackApplicationFactory.java:340)
at
org.jruby.rack.PoolingRackApplicationFactory.getApplicationImpl(PoolingRackApplicationFactory.java:180)
at
org.jruby.rack.RackApplicationFactoryDecorator.getApplication(RackApplicationFactoryDecorator.java:131)
at
org.jruby.rack.DefaultRackDispatcher.getApplication(DefaultRackDispatcher.java:37)
at
org.jruby.rack.AbstractRackDispatcher.process(AbstractRackDispatcher.java:32)
at org.jruby.rack.AbstractFilter.doFilter(AbstractFilter.java:66)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
at
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.ClassNotFoundException:
org.bouncycastle.asn1.DERBoolean
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at
org.jruby.util.JRubyClassLoader.findClass(JRubyClassLoader.java:128)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 196 more

Is it rare for someone to try deploying a jruby on rails app to JBOSS,
am I asking this wrong due to my inexperience with jruby and jboss both
(likely answer), or did I hit on something resembling a bug?

Any tips on how to better ask or investigate this are appreciated.

Warren

warren wright
//// 972-839-8849
//// @wrightling

This particular issue usually results from using an older
jruby-openssl or bouncy-castle-java gem with a newer JRuby. Make sure
if you have these gems in gemfile they’re up to date (or omit them
altogether and use jruby 1.7.6, which ships with current everything).

  • Charlie

I don’t know much about JBoss. I do know about a very similar problem
that started with JRuby 1.7.5 for a complex application on WebSphere.
That application runs fine with JRuby 1.7.4. For the time being, we’ve
rolled back to using 1.7.4. Can you try JRuby 1.7.4 with JBoss?

  • Bruce

On Thu, Oct 17, 2013, at 11:49 AM, Warren Wright wrote:

Is it rare for someone to try deploying a jruby on rails app to
JBOSS, am I asking this wrong due to my inexperience with jruby and
jboss both (likely answer), or did I hit on something resembling a
bug?

Any tips on how to better ask or investigate this are appreciated.

Warren

warren wright
//// 972-839-8849
//// @wrightling

On Oct 13, 2013, at 7:55 AM, Warren Wright
<[1][email protected]> wrote:

HI All,

I have a small jruby 1.7.5 rails 4.0.0 application
([2]GitHub - wrightling/watchman) and am working to get it
deployed into one of our company’s app servers - a Windows server
running Jboss 7.1.1, JDK 1.7.

I have tried both Warbler 1.3.8 (from rubygems) and 1.3.9.dev (the
rails4 branch).

I run “warble” with no special options to generate the war file, and
looking at the exploded version it appears fine.

I copy this war file up to the deployment directory of our app server,
and after deployment visit the app’s URL, where I see the exception
traces shown (in part) below.

In fact, it isn’t specific to my app. I have also reproduced by doing
the following, as I reported
in [3]Issues · jruby/jruby · GitHub
rails new testapp -T
cd testapp
warble

copy testapp.war to the deployment dir of JBOSS and wait for it to

deploy

visit /testapp

I appreciate any tips on things I can try or further information I can
gather.

Stack trace is below my signature.

warren wright
//// 972-839-8849
//// @wrightling

org.jruby.exceptions.RaiseException: (LoadError) load error: openssl –
java.lan
g.NoClassDefFoundError: org/bouncycastle/asn1/DERBoolean
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8
ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/activesupport-4.0.0/lib/active_
support/key_generator.rb:2)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8
ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/railties-4.0.0/lib/rails/applic
ation.rb:1)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8
ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/railties-4.0.0/lib/rails/applic
ation.rb:3)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8
ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/railties-4.0.0/lib/rails.rb:1)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8
ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/railties-4.0.0/lib/rails.rb:9)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8
ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/activerecord-4.0.0/lib/active_r
ecord/railtie.rb:1)
at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1082)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8
ebea1d/HW.war-c91c70ef489449dc/WEB-INF/gems/gems/activerecord-4.0.0/lib/active_r
ecord/railtie.rb:2)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8
ebea1d/HW.war-c91c70ef489449dc/WEB-INF/config/application.rb:1)
at
RUBY.(root)(f:/applications/commerce/tmp/jboss/tmp/vfs/temped13f787f8
ebea1d/HW.war-c91c70ef489449dc/WEB-INF/config/application.rb:4)
Caused by: java.lang.NoClassDefFoundError:
org/bouncycastle/asn1/DERBoolean
at org.jruby.ext.openssl.ASN1.(ASN1.java:192)
at
org.jruby.ext.openssl.OpenSSLReal.createOpenSSL(OpenSSLReal.java:121)
at org.jruby.ext.openssl.OSSLLibrary.load(OSSLLibrary.java:11)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at
org.jruby.javasupport.JavaMethod.invokeDirectWithExceptionHandling(Ja
vaMethod.java:470)
at
org.jruby.javasupport.JavaMethod.invokeDirect(JavaMethod.java:328)
at
org.jruby.java.invokers.InstanceMethodInvoker.call(InstanceMethodInvo
ker.java:71)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSi
te.java:346)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
204)
at org.jruby.ast.CallTwoArgNode.interpret(CallTwoArgNode.java:59)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java
:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at
org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadServ
ice.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java
:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457
)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$
s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.c
all(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSi
te.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java
:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at
org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadServ
ice.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java
:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457
)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$
s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.c
all(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSi
te.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java
:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at
org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadServ
ice.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java
:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457
)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$
s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.c
all(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSi
te.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java
:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at
org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadServ
ice.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java
:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457
)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$
s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.c
all(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSi
te.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java
:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at
org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadServ
ice.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java
:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457
)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$
s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.c
all(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSi
te.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java
:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at
org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadServ
ice.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java
:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457
)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$
s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.c
all(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSi
te.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java
:121)
at org.jruby.Ruby.runInterpreter(Ruby.java:841)
at org.jruby.Ruby.loadFile(Ruby.java:2726)
at
org.jruby.runtime.load.ExternalScript.load(ExternalScript.java:66)
at
org.jruby.runtime.load.LoadService.tryLoadingLibraryOrScript(LoadServ
ice.java:959)
at
org.jruby.runtime.load.LoadService.smartLoadInternal(LoadService.java
:573)
at
org.jruby.runtime.load.LoadService.requireCommon(LoadService.java:457
)
at org.jruby.runtime.load.LoadService.require(LoadService.java:421)
at org.jruby.RubyKernel.requireCommon(RubyKernel.java:1088)
at org.jruby.RubyKernel.require19(RubyKernel.java:1082)
at
org.jruby.RubyKernel$INVOKER$s$1$0$require19.call(RubyKernel$INVOKER$
s$1$0$require19.gen)
at
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodOneOrNBlock.c
all(JavaMethod.java:350)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:
61)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSi
te.java:326)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
170)
at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.ja
va:74)
at
org.jruby.internal.runtime.methods.InterpretedMethod.call(Interpreted
Method.java:139)
at
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.j
ava:182)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSi
te.java:306)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
136)
at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.ja
va:74)
at
org.jruby.internal.runtime.methods.InterpretedMethod.call(Interpreted
Method.java:139)
at
org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.j
ava:182)
at
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSi
te.java:306)
at
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:
136)
at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60)
at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
at org.jruby.ast.RootNode.interpret(RootNode.java:129)
at
org.jruby.evaluator.ASTInterpreter.INTERPRET_ROOT(ASTInterpreter.java
:121)
at org.jruby.Ruby.evalScriptlet(Ruby.java:422)
at org.jruby.Ruby.evalScriptlet(Ruby.java:399)
at
org.jruby.rack.rails.RailsRackApplicationFactory.createApplicationObj
ect(RailsRackApplicationFactory.java:22)
at
org.jruby.rack.DefaultRackApplicationFactory$1.create(DefaultRackAppl
icationFactory.java:98)
at
org.jruby.rack.DefaultRackApplicationFactory$RackApplicationImpl.init
(DefaultRackApplicationFactory.java:420)
at
org.jruby.rack.DefaultRackApplicationFactory.getApplication(DefaultRa
ckApplicationFactory.java:111)
at
org.jruby.rack.PoolingRackApplicationFactory.createApplication(Poolin
gRackApplicationFactory.java:340)
at
org.jruby.rack.PoolingRackApplicationFactory.getApplicationImpl(Pooli
ngRackApplicationFactory.java:180)
at
org.jruby.rack.RackApplicationFactoryDecorator.getApplication(RackApp
licationFactoryDecorator.java:131)
at
org.jruby.rack.DefaultRackDispatcher.getApplication(DefaultRackDispat
cher.java:37)
at
org.jruby.rack.AbstractRackDispatcher.process(AbstractRackDispatcher.
java:32)
at org.jruby.rack.AbstractFilter.doFilter(AbstractFilter.java:66)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:280)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:248)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:275)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:161)
at
org.jboss.as.web.security.SecurityContextAssociationValve.invoke(Secu
rityContextAssociationValve.java:153)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:155)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:368)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:877)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:671)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:93
0)
at java.lang.Thread.run(Thread.java:724)
Caused by: java.lang.ClassNotFoundException:
org.bouncycastle.asn1.DERBoolean
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at
org.jruby.util.JRubyClassLoader.findClass(JRubyClassLoader.java:128)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
… 196 more

References

  1. mailto:[email protected]
  2. GitHub - wrightling/watchman
  3. JRuby 1.7.2 with authlogic 3.x fails to boot (OpenSSL) · Issue #541 · jruby/jruby · GitHub

I’m having this same problem with 1.7.6. Warbler 1.3.8 will not create a
WAR file that can be processed by WebSphere. jRuby 1.7.4 works ok.

In my case, I did a clean install of 1.7.6 and installed all the gems
using bundler (which installs the latest versions).

Ken E. wrote in post #1125882:

I’m having this same problem with 1.7.6. Warbler 1.3.8 will not create a
WAR file that can be processed by WebSphere. jRuby 1.7.4 works ok.

In my case, I did a clean install of 1.7.6 and installed all the gems
using bundler (which installs the latest versions).

After multiple tries with Warbler (see discussions at Warbler issues):

I started to study TorqueBox: http://torquebox.org/. The first try on a
Ubuntu box worked just fine.

I tried the same war on Tomcat, Jetty and GlassFish 4 - without success.

JRuby : jruby 1.7.10 (1.9.3p392)
Rails 4.0.2
Ubuntu 12.04; Windows 7, Windows XP.

Hope this helps.