sparklemotion / nokogiri

Nokogiri (鋸) makes it easy and painless to work with XML and HTML from Ruby.
https://nokogiri.org/
MIT License
6.14k stars 896 forks source link

LoadError when deploying to JRuby/Torquebox on Windows #1114

Closed fpauser closed 8 years ago

fpauser commented 10 years ago

Ruby: JRuby 1.7.11 Rails: 4.0.5 Nokogiri: 1.6.2.1 OS: Windows 2008 Server (64bit) Torquebox: 1.3.1 Java: 1.7.0_40-b43

Starting the rails-app gives me:

(LoadError) load error: nokogiri/nokogiri -- java.lang.NoClassDefFoundError: com/sun/org/apache/xpath/internal/VariableStack

Older versions of Nokogiri (tried it with 1.5.11) work.

skarger commented 10 years ago

I'm seeing this on Redhat Linux as well. Seems to be related to version 1.6.2.1. I downgraded to 1.6.1 and the problem went away.

defvol commented 10 years ago

same here

irb(main):043:0> Nokogiri::XML(xml)
Java::JavaLang::NoClassDefFoundError: org/jruby/runtime/Helpers
    from nokogiri.internals.ParserContext.setInputSource(ParserContext.java:101)
➜  interop git:(master) ✗ gem list nokogiri  
*** LOCAL GEMS ***
nokogiri (1.6.2.1 java, 1.6.1 java)
➜  interop git:(master) ✗ rbenv versions
  system
  1.9.3-p448
  2.0.0-p247
  2.1.1
* jruby-1.7.1 (set by /Users/rodolfo/c/interop/.ruby-version)
defvol commented 10 years ago

Might be related to https://github.com/sparklemotion/nokogiri/commit/46fcdf9977d2abd8c1fce8eac43bed74c2c3eb58

defvol commented 10 years ago

thanks @skarger

downgrading did the work

➜  interop git:(master) ✗ gem list noko         
*** LOCAL GEMS ***
nokogiri (1.6.1 java)
➜  interop git:(master) ✗ irb
irb(main):001:0> require 'nokogiri'
=> true
irb(main):002:0> Nokogiri::HTML("<foo>")
=> #<Nokogiri::HTML::Document:0x802 name="document" children=[#<Nokogiri::XML::Element:0x800 name="html" children=[#<Nokogiri::XML::Element:0x7fa name="head">, #<Nokogiri::XML::Element:0x7fe name="body" children=[#<Nokogiri::XML::Element:0x7fc name="foo">]>]>]>
irb(main):003:0> exit
➜  interop git:(master) ✗ uname -rs
Darwin 13.2.0
flavorjones commented 10 years ago

Hi @rodowl, the relation to 46fcdf9 is questionable, since that's only in 1.6.3.rc3 and not 1.6.2.1 as originally reported.

I'm unable to reproduce. Can anyone provide more information on their system, and perhaps provide a script that reproduces this issue?

yokolet commented 10 years ago

I think the problem comes from XPath performance improvement introduced by the commit, 2e2b204804108c5c53284bb48cf6c06ac553d120 . Some platforms doesn't have (for example, OSX), while some platforms have the problem.

atambo commented 10 years ago

I hit this problem as well, when upgrading from 1.6.1 to 1.6.2.1. The problem doesn't happen locally on my mac but it does happen on our CI server which is running linux of some kind.

LoadError: load error: nokogiri/nokogiri -- java.lang.NoClassDefFoundError: com.sun.org.apache.xpath.internal.VariableStack
viniciusgama commented 10 years ago

Any plans to fix this? I have the same problem in a Centos 5.5, JRuby 1.7.4 and Torquebox 2.3.2.

flavorjones commented 10 years ago

@jvshahid can you take a look please?

yokolet commented 10 years ago

@flavorjones I looked at this a bit since nokogiri project on my IDE doesn't work for the same reason.

The class loading trouble can be fixed if we include Xalan's jar archives. But, including Xalan's archive fails some tests. So, now I'm looking at those failing tests thinking what the best way.

jvshahid commented 10 years ago

Should we revert that commit until we figure out a way to fix it ?

flavorjones commented 10 years ago

I think that, given the groundswell of unhappiness before introducing the XPath context caching, we'd simply make it unusable by everybody if we revert that commit.

I'd prefer to keep it as-is until we figure out how to fix it, since affected users can still downgrade if necessary.

@skarger can you please provide instructions on how to reproduce on Linux? Fair warning: I have no idea how Torquebox works.

atambo commented 10 years ago

You shouldn't need torquebox to reproduce this bug as I don't use torquebox and hit it.

jvshahid commented 10 years ago

I looked up your earlier comment and found the below. "linux of some kind" doesn't give us any information on how to reproduce this bug locally. I run linux on my dev machine and I don't hit this bug. Unless someone can give us an exact distro/version + java version being used to reproduce this bug there's very little we can do.

I hit this problem as well, when upgrading from 1.6.1 to 1.6.2.1. The problem doesn't happen locally on my mac but it does happen on our CI server which is running linux of some kind.

atambo commented 10 years ago

Looks like our CI system runs CentOS 6.5 with IBM JDK 7. I'm guessing IBM JDK is the issue in my case.

gil27 commented 10 years ago

I've got the same error while running a scheduled job. When I run my ruby method by hand it works fine. I downgraded to 1.6.1 and runned the scheduled job again and it worked as plained

Operational System: Ubuntu 14.04 (amd64) Jruby 1.7.11 Torquebox 3.1.1

14:37:00,751 INFO  [org.quartz.core.JobRunShell] (jboss.deployment.unit."flexacloud-knob.yml".job_scheduler_Worker-7) Job flexacloud-knob.yml.billable threw a JobExecutionException: : org.quartz.JobExecutionException: org.jruby.exceptions.RaiseException: (LoadError) load error: nokogiri/nokogiri -- java.lang.NoClassDefFoundError: com/sun/org/apache/xpath/internal/VariableStack [See nested exception: org.jruby.exceptions.RaiseException: (LoadError) load error: nokogiri/nokogiri -- java.lang.NoClassDefFoundError: com/sun/org/apache/xpath/internal/VariableStack]
    at org.torquebox.jobs.RubyJobProxy.execute(RubyJobProxy.java:70)
    at org.quartz.core.JobRunShell.run(JobRunShell.java:213) [quartz.jar:]
    at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557) [quartz.jar:]
Caused by: org.jruby.exceptions.RaiseException: (LoadError) load error: nokogiri/nokogiri -- java.lang.NoClassDefFoundError: com/sun/org/apache/xpath/internal/VariableStack
    at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065)
servel333 commented 10 years ago

I'm getting this issue. I'm just going to dump every version of everything I can think of and home something is helpful. Let me know if I can give more information that is helpful.

Mac OS X 10.9.4

uname -v
Darwin Kernel Version 13.3.0: Tue Jun  3 21:27:35 PDT 2014; root:xnu-2422.110.17~1/RELEASE_X86_64
java -version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
rvm --version
rvm 1.25.30 (master) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
rvm current
jruby-1.7.15@...
bundle list
Gems included by the bundle:
  * actionmailer (4.1.4)
  * actionpack (4.1.4)
  * actionview (4.1.4)
  * activeadmin (1.0.0.pre 28c5ca5)
  * activemodel (4.1.4)
  * activerecord (4.1.4)
  * activerecord-jdbc-adapter (1.3.10)
  * activerecord-jdbcmssql-adapter (1.3.10)
  * activerecord-jdbcpostgresql-adapter (1.3.10)
  * activesupport (4.1.4)
  * acts-as-taggable-on (3.4.1)
  * arbre (1.0.2)
  * arel (5.0.1.20140414130214)
  * autoprefixer-rails (3.0.1.20140826)
  * axlsx (2.0.1)
  * axlsx_rails (0.2.1)
  * bcrypt (3.1.7)
  * better_errors (1.1.0)
  * blankslate (2.1.2.4)
  * bootstrap-sass (3.2.0.1)
  * bourbon (3.2.3)
  * builder (3.2.2)
  * bundler (1.7.2)
  * coderay (1.1.0)
  * coffee-rails (4.0.1)
  * coffee-script (2.3.0)
  * coffee-script-source (1.8.0)
  * devise (3.3.0)
  * edn (1.0.0)
  * elasticsearch (1.0.4)
  * elasticsearch-api (1.0.4)
  * elasticsearch-model (0.1.4 6b7e220)
  * elasticsearch-rails (0.1.4 6b7e220)
  * elasticsearch-transport (1.0.4)
  * erubis (2.7.0)
  * execjs (2.2.1)
  * faraday (0.9.0)
  * ffi (1.9.3)
  * formtastic (2.3.0)
  * has_scope (0.6.0.rc)
  * hashie (3.3.1)
  * hike (1.2.3)
  * htmlentities (4.3.2)
  * i18n (0.6.11)
  * inherited_resources (1.4.1)
  * jbuilder (2.1.3)
  * jdbc-jtds (1.3.1)
  * jdbc-postgres (9.3.1102)
  * jquery-rails (3.1.2)
  * jquery-ui-rails (5.0.0)
  * json (1.8.1)
  * kaminari (0.16.1)
  * mail (2.5.4)
  * method_source (0.8.2)
  * mime-types (1.25.1)
  * minitest (5.4.1)
  * multi_json (1.10.1)
  * multipart-post (2.0.0)
  * nokogiri (1.6.3.1)
  * orm_adapter (0.5.0)
  * parslet (1.4.0)
  * polyamorous (1.1.0)
  * polyglot (0.3.5)
  * pry (0.10.1)
  * pry-rails (0.3.2)
  * quiet_assets (1.0.3)
  * rack (1.5.2)
  * rack-test (0.6.2)
  * rails (4.1.4)
  * railties (4.1.4)
  * rake (10.1.1)
  * ransack (1.3.0)
  * rdoc (4.1.1)
  * responders (1.0.0)
  * rubyzip (1.0.0)
  * sass (3.2.19)
  * sass-rails (4.0.3)
  * sdoc (0.4.1)
  * slop (3.6.0)
  * spoon (0.0.4)
  * sprockets (2.11.0)
  * sprockets-rails (2.1.4)
  * therubyrhino (2.0.4)
  * therubyrhino_jar (1.7.4)
  * thor (0.19.1)
  * thread_safe (0.3.4)
  * tilt (1.4.1)
  * torquebox (3.1.1)
  * torquebox-cache (3.1.1)
  * torquebox-configure (3.1.1)
  * torquebox-core (3.1.1)
  * torquebox-messaging (3.1.1)
  * torquebox-naming (3.1.1)
  * torquebox-rake-support (3.1.1)
  * torquebox-security (3.1.1)
  * torquebox-server (3.1.1)
  * torquebox-stomp (3.1.1)
  * torquebox-transactions (3.1.1)
  * torquebox-web (3.1.1)
  * treetop (1.4.15)
  * turbolinks (2.3.0)
  * twitter-typeahead-rails (0.10.5)
  * tzinfo (1.2.2)
  * uglifier (2.5.3)
  * warden (1.2.3)

And here is my full log

torquebox run
Booting AS7 from configuration /Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/torquebox-server-3.1.1-java/jboss/standalone/configuration/standalone.xml
/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/torquebox-server-3.1.1-java/jboss/bin/standalone.sh -Djruby.home=/Users/nperry/.rvm/rubies/jruby-1.7.15 --server-config=standalone.xml
JAVA_OPTS already set in environment; overriding default settings with values: -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true
=========================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: /Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/torquebox-server-3.1.1-java/jboss

  JAVA: java

  JAVA_OPTS:  -server -XX:+UseCompressedOops -Xms64m -Xmx512m -XX:MaxPermSize=256m -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman -Djava.awt.headless=true

=========================================================================

13:45:25,501 INFO  [org.jboss.modules] (main) JBoss Modules version 1.2.0.CR1
13:45:25,628 INFO  [org.jboss.msc] (main) JBoss MSC version 1.0.4.GA
13:45:25,928 INFO  [org.torquebox.bootstrap] (ServerService Thread Pool -- 14) Bootstrapping TorqueBox
13:45:25,930 INFO  [org.torquebox.bootstrap] (ServerService Thread Pool -- 14) Bootstrapping TorqueBox with a JRuby home of /Users/nperry/.rvm/rubies/jruby-1.7.15
13:45:26,087 INFO  [org.torquebox.core.as] (ServerService Thread Pool -- 9) Initializing TorqueBox Core Subsystem
13:45:26,088 INFO  [org.torquebox.security.as] (ServerService Thread Pool -- 22) Initializing TorqueBox Auth Subsystem
13:45:26,089 INFO  [org.torquebox.jobs.as] (ServerService Thread Pool -- 6) Initializing TorqueBox Jobs Subsystem
13:45:26,088 INFO  [org.torquebox.services.as] (ServerService Thread Pool -- 21) Initializing TorqueBox Services Subsystem
13:45:26,089 INFO  [org.torquebox.web.as] (ServerService Thread Pool -- 3) Initializing TorqueBox Web Subsystem
13:45:26,089 INFO  [org.torquebox.messaging.as] (ServerService Thread Pool -- 8) Initializing TorqueBox Messaging Subsystem
13:45:26,089 INFO  [org.torquebox.stomp.as] (ServerService Thread Pool -- 4) Initializing TorqueBox STOMP Subsystem
13:45:26,114 INFO  [org.torquebox.core.as] (ServerService Thread Pool -- 9) Welcome to TorqueBox AS - http://torquebox.org/
13:45:26,114 INFO  [org.torquebox.core.as] (ServerService Thread Pool -- 9)   version........... 3.1.1
13:45:26,115 INFO  [org.torquebox.core.as] (ServerService Thread Pool -- 9)   build............. 86
13:45:26,115 INFO  [org.torquebox.core.as] (ServerService Thread Pool -- 9)   revision.......... 781fa0586c4f3159fff35a6f7bcb8ea0f5783fb8 +modifications
13:45:26,115 INFO  [org.torquebox.core.as] (ServerService Thread Pool -- 9)   built with:
13:45:26,115 INFO  [org.torquebox.core.as] (ServerService Thread Pool -- 9)     HornetQ......... 2.3.1.Final (Wild Hornet, 123)
13:45:26,116 INFO  [org.torquebox.core.as] (ServerService Thread Pool -- 9)     JBossAS......... 7.2.x.slim.incremental.16
13:45:26,116 INFO  [org.torquebox.core.as] (ServerService Thread Pool -- 9)     Infinispan...... 6.0.0.Final
13:45:26,116 INFO  [org.torquebox.core.as] (ServerService Thread Pool -- 9)     Quartz.......... 2.1.5
13:45:26,116 INFO  [org.torquebox.core.as] (ServerService Thread Pool -- 9)     JRuby........... 1.7.13
13:45:26,119 WARN  [org.torquebox.core.as] (ServerService Thread Pool -- 9) WARNING: TorqueBox was built and tested with JRuby 1.7.13 and you are running JRuby 1.7.15. You may experience unexpected results. Side effects may include: itching, sleeplessness, and irritability.
13:45:26,232 WARN  [org.jboss.as.server] (Controller Boot Thread) JBAS015883: No security realm defined for native management service; all access will be unrestricted.
13:45:26,236 INFO  [org.xnio] (MSC service thread 1-15) XNIO Version 3.0.7.GA
13:45:26,237 INFO  [org.jboss.as.server] (Controller Boot Thread) JBAS015888: Creating http management service using socket-binding (management-http)
13:45:26,238 WARN  [org.jboss.as.server] (Controller Boot Thread) JBAS015884: No security realm defined for http management service; all access will be unrestricted.
13:45:26,241 INFO  [org.xnio.nio] (MSC service thread 1-15) XNIO NIO Implementation Version 3.0.7.GA
13:45:26,247 INFO  [org.jboss.remoting] (MSC service thread 1-15) JBoss Remoting version 3.2.14.GA
13:45:26,270 INFO  [org.jboss.as.security] (ServerService Thread Pool -- 33) JBAS013171: Activating Security Subsystem
13:45:26,274 INFO  [org.jboss.as.naming] (ServerService Thread Pool -- 30) JBAS011800: Activating Naming Subsystem
13:45:26,279 INFO  [org.jboss.as.security] (MSC service thread 1-4) JBAS013170: Current PicketBox version=4.0.15.Final
13:45:26,329 INFO  [org.jboss.as.remoting] (MSC service thread 1-13) JBAS017100: Listening on 127.0.0.1:9999
13:45:26,331 INFO  [org.jboss.as.connector.logging] (MSC service thread 1-15) JBAS010408: Starting JCA Subsystem (JBoss IronJacamar 1.0.15.Final)
13:45:26,333 INFO  [org.jboss.as.naming] (MSC service thread 1-6) JBAS011802: Starting Naming Service
13:45:26,431 INFO  [org.torquebox.core.runtime] (pool-1-thread-1) Creating ruby runtime (ruby_version: RUBY1_9, compile_mode: JIT, context: global)
13:45:26,450 INFO  [org.apache.coyote.http11] (MSC service thread 1-9) JBWEB003001: Coyote HTTP/1.1 initializing on : http-/127.0.0.1:8080
13:45:26,453 INFO  [org.apache.coyote.http11] (MSC service thread 1-9) JBWEB003000: Coyote HTTP/1.1 starting on: http-/127.0.0.1:8080
13:45:26,519 WARN  [org.jboss.as.messaging] (MSC service thread 1-2) JBAS011600: AIO wasn't located on this platform, it will fall back to using pure Java NIO. If your platform is Linux, install LibAIO to enable the AIO journal
13:45:26,525 INFO  [org.jboss.as.remoting] (MSC service thread 1-9) JBAS017100: Listening on 127.0.0.1:4447
13:45:26,531 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-6) JBAS015012: Started FileSystemDeploymentService for directory /Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/torquebox-server-3.1.1-java/jboss/standalone/deployments
13:45:26,536 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-8) JBAS015876: Starting deployment of "project-knob.yml" (runtime-name: "project-knob.yml")
13:45:26,536 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-1) JBAS015876: Starting deployment of "project.knob-knob.yml" (runtime-name: "project.knob-knob.yml")
13:45:26,561 INFO  [org.hornetq.core.server] (MSC service thread 1-8) HQ221000: live server is starting with configuration HornetQ Configuration (clustered=false,backup=false,sharedStore=true,journalDirectory=/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/torquebox-server-3.1.1-java/jboss/standalone/data/messagingjournal,bindingsDirectory=/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/torquebox-server-3.1.1-java/jboss/standalone/data/messagingbindings,largeMessagesDirectory=/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/torquebox-server-3.1.1-java/jboss/standalone/data/messaginglargemessages,pagingDirectory=/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/torquebox-server-3.1.1-java/jboss/standalone/data/messagingpaging)
13:45:26,562 INFO  [org.hornetq.core.server] (MSC service thread 1-8) HQ221006: Waiting to obtain live lock
13:45:26,584 INFO  [org.hornetq.core.server] (MSC service thread 1-8) HQ221013: Using NIO Journal
13:45:26,600 INFO  [org.infinispan.factories.GlobalComponentRegistry] (ServerService Thread Pool -- 46) ISPN000128: Infinispan version: Infinispan 'Infinium' 6.0.0.Final
13:45:26,651 INFO  [org.hornetq.core.server] (MSC service thread 1-8) HQ221034: Waiting to obtain live lock
13:45:26,651 INFO  [org.hornetq.core.server] (MSC service thread 1-8) HQ221035: Live Server Obtained live lock
13:45:26,786 INFO  [org.infinispan.jmx.CacheJmxRegistration] (ServerService Thread Pool -- 46) ISPN000031: MBeans were successfully registered to the platform MBean server.
13:45:26,788 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 46) JBAS010281: Started __recoveryInfoCacheName__ cache from polyglot container
13:45:26,800 INFO  [org.infinispan.jmx.CacheJmxRegistration] (ServerService Thread Pool -- 46) ISPN000031: MBeans were successfully registered to the platform MBean server.
13:45:26,800 INFO  [org.jboss.as.clustering.infinispan] (ServerService Thread Pool -- 46) JBAS010281: Started sessions cache from polyglot container
13:45:27,074 INFO  [org.hornetq.core.server] (MSC service thread 1-8) HQ221020: Started Netty Acceptor version 3.6.2.Final-c0d783c 127.0.0.1:5455 for CORE protocol
13:45:27,075 INFO  [org.hornetq.core.server] (MSC service thread 1-8) HQ221020: Started Netty Acceptor version 3.6.2.Final-c0d783c 127.0.0.1:5445 for CORE protocol
13:45:27,076 INFO  [org.hornetq.core.server] (MSC service thread 1-8) HQ221007: Server is now live
13:45:27,076 INFO  [org.hornetq.core.server] (MSC service thread 1-8) HQ221001: HornetQ Server version 2.3.1.Final (Wild Hornet, 123) [22192e07-3906-11e4-922f-9321f0acc2b3]
13:45:27,089 INFO  [org.jboss.as.messaging] (ServerService Thread Pool -- 46) JBAS011601: Bound messaging object to jndi name java:jboss/exported/jms/RemoteConnectionFactory
13:45:27,091 INFO  [org.jboss.as.messaging] (ServerService Thread Pool -- 47) JBAS011601: Bound messaging object to jndi name java:/ConnectionFactory
13:45:27,130 INFO  [org.jboss.as.connector.deployment] (MSC service thread 1-15) JBAS010406: Registered connection factory java:/JmsXA
13:45:27,152 INFO  [org.hornetq.ra] (MSC service thread 1-15) HornetQ resource adaptor started
13:45:27,153 INFO  [org.jboss.as.connector.services.resourceadapters.ResourceAdapterActivatorService$ResourceAdapterActivator] (MSC service thread 1-15) IJ020002: Deployed: file://RaActivatorhornetq-ra
13:45:27,155 INFO  [org.jboss.as.connector.deployment] (MSC service thread 1-9) JBAS010401: Bound JCA ConnectionFactory [java:/JmsXA]
13:45:28,635 INFO  [org.torquebox.core.runtime] (pool-1-thread-1) Created ruby runtime (ruby_version: RUBY1_9, compile_mode: JIT, context: global) in 2.2s
13:45:28,675 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-1) MSC00001: Failed to start service jboss.deployment.unit."project.knob-knob.yml".STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit."project.knob-knob.yml".STRUCTURE: JBAS018733: Failed to process phase STRUCTURE of deployment "project.knob-knob.yml"
  at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:127) [jboss-as-server-7.2.x.slim.incremental.16.jar:7.2.x.slim.incremental.16]
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
  at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-1.0.4.GA.jar:1.0.4.GA]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
  at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: org.jboss.as.server.deployment.DeploymentUnitProcessingException: Application root does not exist: vfs:/Users/nperry/projects/project/project.knob
  at org.torquebox.core.app.processors.AppKnobYamlParsingProcessor.deploy(AppKnobYamlParsingProcessor.java:100)
  at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:120) [jboss-as-server-7.2.x.slim.incremental.16.jar:7.2.x.slim.incremental.16]
  ... 5 more
Caused by: org.jboss.as.server.deployment.DeploymentUnitProcessingException: Application root does not exist: vfs:/Users/nperry/projects/project/project.knob
  at org.torquebox.core.app.processors.AppKnobYamlParsingProcessor.deploy(AppKnobYamlParsingProcessor.java:76)
  ... 6 more

13:45:28,687 INFO  [org.torquebox.core] (MSC service thread 1-16) evaling: /Users/nperry/projects/project/torquebox.rb
13:45:29,382 INFO  [org.hornetq.core.server] (pool-6-thread-1) HQ221003: trying to deploy queue jms.queue./queues/torquebox/project/tasks/torquebox_backgroundable
13:45:29,392 INFO  [org.jboss.as.messaging] (pool-6-thread-1) JBAS011601: Bound messaging object to jndi name java:/queues/torquebox/project/tasks/torquebox_backgroundable
13:45:29,405 INFO  [org.jboss.as.connector.deployers.jdbc] (MSC service thread 1-11) JBAS010403: Deploying JDBC-compliant driver class com.microsoft.sqlserver.jdbc.SQLServerDriver (version 4.0)
13:45:29,434 INFO  [org.torquebox.core.runtime.DefaultRubyRuntimePool] (pool-1-thread-2) Deferring start for jobs runtime pool.
13:45:29,434 INFO  [org.torquebox.core.runtime.DefaultRubyRuntimePool] (pool-1-thread-3) Deferring start for messaging runtime pool.
13:45:29,436 INFO  [org.torquebox.core.runtime] (pool-1-thread-1) Creating ruby runtime (ruby_version: RUBY1_9, compile_mode: JIT, app: project, context: web)
13:45:29,466 INFO  [org.quartz.impl.StdSchedulerFactory] (MSC service thread 1-4) Using default implementation for ThreadExecutor
13:45:29,480 INFO  [org.quartz.core.SchedulerSignalerImpl] (MSC service thread 1-4) Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
13:45:29,480 INFO  [org.quartz.core.QuartzScheduler] (MSC service thread 1-4) Quartz Scheduler v.2.1.5 created.
13:45:29,481 INFO  [org.quartz.simpl.RAMJobStore] (MSC service thread 1-4) RAMJobStore initialized.
13:45:29,481 INFO  [org.quartz.core.QuartzScheduler] (MSC service thread 1-4) Scheduler meta-data: Quartz Scheduler (v2.1.5) 'jboss.deployment.unit."project-knob.yml".job_scheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 3 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.

13:45:29,481 INFO  [org.quartz.impl.StdSchedulerFactory] (MSC service thread 1-4) Quartz scheduler 'jboss.deployment.unit."project-knob.yml".job_scheduler' initialized from an externally provided properties instance.
13:45:29,482 INFO  [org.quartz.impl.StdSchedulerFactory] (MSC service thread 1-4) Quartz scheduler version: 2.1.5
13:45:29,482 INFO  [org.quartz.core.QuartzScheduler] (MSC service thread 1-4) JobFactory set to: org.torquebox.jobs.JobScheduler@65d19f04
13:45:29,482 INFO  [org.quartz.core.QuartzScheduler] (MSC service thread 1-4) Scheduler jboss.deployment.unit."project-knob.yml".job_scheduler_$_NON_CLUSTERED started.
13:45:29,880 INFO  [org.torquebox.core.runtime] (pool-1-thread-1) Setting up Bundler
13:45:34,868 ERROR [org.torquebox.core.runtime] (pool-1-thread-1) Error during execution: ENV['RAILS_ROOT']=RACK_ROOT
ENV['RAILS_ENV']=RACK_ENV
require %q(org/torquebox/web/rails/boot)
: org.jruby.exceptions.RaiseException: (LoadError) load error: nokogiri/nokogiri -- java.lang.NoClassDefFoundError: com/sun/org/apache/xpath/internal/VariableStack
  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/nokogiri-1.6.3.1-java/lib/nokogiri.rb:29)  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/axlsx-2.0.1/lib/axlsx.rb:1)  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/axlsx-2.0.1/lib/axlsx.rb:25) at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:1) at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613) [jruby.jar:]
  at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:76) at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:72) at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:61) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler.rb:133)  at org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:1081) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/projects/project/config/application.rb:7) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/projects/project/config/environment.rb:1)
13:45:34,869 ERROR [org.torquebox.core.runtime] (pool-1-thread-1) Failed to initialize runtime: : org.jruby.exceptions.RaiseException: (LoadError) load error: nokogiri/nokogiri -- java.lang.NoClassDefFoundError: com/sun/org/apache/xpath/internal/VariableStack
  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/nokogiri-1.6.3.1-java/lib/nokogiri.rb:29)  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/axlsx-2.0.1/lib/axlsx.rb:1)  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/axlsx-2.0.1/lib/axlsx.rb:25) at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:1) at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613) [jruby.jar:]
  at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:76) at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:72) at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:61) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler.rb:133)  at org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:1081) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/projects/project/config/application.rb:7) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/projects/project/config/environment.rb:1)
13:45:34,870 INFO  [org.torquebox.core.runtime] (pool-1-thread-1) Created ruby runtime (ruby_version: RUBY1_9, compile_mode: JIT, app: project, context: web) in 5.43s
13:45:34,878 INFO  [org.jboss.web] (ServerService Thread Pool -- 47) JBAS018210: Register web context:
13:45:34,935 ERROR [stderr] (ServerService Thread Pool -- 47) /Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247 warning: already initialized constant XERCES_VERSION
13:45:34,936 ERROR [stderr] (ServerService Thread Pool -- 47) /Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247 warning: already initialized constant NEKO_VERSION
13:45:34,945 ERROR [stderr] (ServerService Thread Pool -- 47) /Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247 warning: already initialized constant INTERNAL_GENERAL
13:45:34,946 ERROR [stderr] (ServerService Thread Pool -- 47) /Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247 warning: already initialized constant EXTERNAL_GENERAL_PARSED
13:45:34,947 ERROR [stderr] (ServerService Thread Pool -- 47) /Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247 warning: already initialized constant EXTERNAL_GENERAL_UNPARSED
13:45:34,947 ERROR [stderr] (ServerService Thread Pool -- 47) /Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247 warning: already initialized constant INTERNAL_PARAMETER
13:45:34,948 ERROR [stderr] (ServerService Thread Pool -- 47) /Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247 warning: already initialized constant EXTERNAL_PARAMETER
13:45:34,949 ERROR [stderr] (ServerService Thread Pool -- 47) /Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247 warning: already initialized constant INTERNAL_PREDEFINED
13:45:34,955 ERROR [org.torquebox.core.runtime] (ServerService Thread Pool -- 47) Error during execution: require %q(rack)
rackUpScript = File.read(%q(/Users/nperry/projects/project/config.ru))
eval(%Q(Rack::Builder.new{
#{rackUpScript}
}.to_app), TOPLEVEL_BINDING, %q(/Users/nperry/projects/project/config.ru), 0): org.jruby.exceptions.RaiseException: (LoadError) load error: nokogiri/nokogiri -- java.lang.NoClassDefFoundError: com/sun/org/apache/xpath/internal/VariableStack
  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/nokogiri-1.6.3.1-java/lib/nokogiri.rb:29)  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/axlsx-2.0.1/lib/axlsx.rb:1)  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/axlsx-2.0.1/lib/axlsx.rb:25) at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:1) at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613) [jruby.jar:]
  at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:76) at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:72) at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:61) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler.rb:133)  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.(root)(/Users/nperry/projects/project/config/application.rb:7) at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/projects/project/config/environment.rb:1) at RUBY.(root)(/Users/nperry/projects/project/config/environment.rb:2) at org.jruby.RubyKernel.eval(org/jruby/RubyKernel.java:1101) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/projects/project/config.ru:1)
13:45:34,956 ERROR [org.torquebox.web.servlet.RackFilter] (ServerService Thread Pool -- 47) Error loading rackup file: org.jruby.exceptions.RaiseException: (LoadError) load error: nokogiri/nokogiri -- java.lang.NoClassDefFoundError: com/sun/org/apache/xpath/internal/VariableStack
  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/nokogiri-1.6.3.1-java/lib/nokogiri.rb:29)  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/axlsx-2.0.1/lib/axlsx.rb:1)  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/axlsx-2.0.1/lib/axlsx.rb:25) at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:1) at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613) [jruby.jar:]
  at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:76) at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:72) at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:61) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler.rb:133)  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.(root)(/Users/nperry/projects/project/config/application.rb:7) at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/projects/project/config/environment.rb:1) at RUBY.(root)(/Users/nperry/projects/project/config/environment.rb:2) at org.jruby.RubyKernel.eval(org/jruby/RubyKernel.java:1101) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/projects/project/config.ru:1)
13:45:34,957 ERROR [org.torquebox.web.servlet.RackFilter] (ServerService Thread Pool -- 47) Underlying Ruby exception
13:45:34,964 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/]] (ServerService Thread Pool -- 47) JBWEB000284: Exception starting filter torquebox.rack: javax.servlet.ServletException: org.jruby.exceptions.RaiseException: (LoadError) load error: nokogiri/nokogiri -- java.lang.NoClassDefFoundError: com/sun/org/apache/xpath/internal/VariableStack
  at org.torquebox.web.servlet.RackFilter.preloadRackup(RackFilter.java:80) [torquebox-web.jar:3.1.1]
  at org.torquebox.web.servlet.RackFilter.init(RackFilter.java:65) [torquebox-web.jar:3.1.1]
  at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:416) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
  at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:3225) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
  at org.apache.catalina.core.StandardContext.start(StandardContext.java:3791) [jbossweb-7.2.0.Final.jar:7.2.0.Final]
  at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:156) [jboss-as-web-7.2.x.slim.incremental.16.jar:7.2.x.slim.incremental.16]
  at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60) [jboss-as-web-7.2.x.slim.incremental.16.jar:7.2.x.slim.incremental.16]
  at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93) [jboss-as-web-7.2.x.slim.incremental.16.jar:7.2.x.slim.incremental.16]
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_51]
  at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_51]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
  at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
  at org.jboss.threads.JBossThread.run(JBossThread.java:122)
Caused by: org.jruby.exceptions.RaiseException: (LoadError) load error: nokogiri/nokogiri -- java.lang.NoClassDefFoundError: com/sun/org/apache/xpath/internal/VariableStack
  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/nokogiri-1.6.3.1-java/lib/nokogiri.rb:29)  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/axlsx-2.0.1/lib/axlsx.rb:1)  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/axlsx-2.0.1/lib/axlsx.rb:25) at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:1) at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1613) [jruby.jar:]
  at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:76) at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:72) at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler/runtime.rb:61) at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.require(/Users/nperry/.rvm/gems/jruby-1.7.15@global/gems/bundler-1.7.2/lib/bundler.rb:133)  at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:1065) [jruby.jar:]
  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at ActiveSupport::Dependencies::Loadable.load_dependency(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:232)  at ActiveSupport::Dependencies::Loadable.require(/Users/nperry/.rvm/gems/jruby-1.7.15@gemset_torquebox/gems/activesupport-4.1.4/lib/active_support/dependencies.rb:247)  at RUBY.(root)(/Users/nperry/projects/project/config/application.rb:7) at org.jruby.RubyBasicObject.instance_eval(org/jruby/RubyBasicObject.java:1533) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/projects/project/config/environment.rb:1) at RUBY.(root)(/Users/nperry/projects/project/config/environment.rb:2) at org.jruby.RubyKernel.eval(org/jruby/RubyKernel.java:1101) [jruby.jar:]
  at RUBY.(root)(/Users/nperry/projects/project/config.ru:1)
13:45:34,966 ERROR [org.apache.catalina.core] (ServerService Thread Pool -- 47) JBWEB001103: Error detected during context  start, will stop it
13:45:34,970 ERROR [org.jboss.msc.service.fail] (ServerService Thread Pool -- 47) MSC00001: Failed to start service jboss.web.deployment.default-host./: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./: org.jboss.msc.service.StartException in anonymous service: JBAS018040: Failed to start context
  at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:96)
  at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) [rt.jar:1.7.0_51]
  at java.util.concurrent.FutureTask.run(FutureTask.java:262) [rt.jar:1.7.0_51]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
  at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
  at org.jboss.threads.JBossThread.run(JBossThread.java:122) [jboss-threads-2.1.0.Final.jar:2.1.0.Final]
Caused by: org.jboss.msc.service.StartException in anonymous service: JBAS018040: Failed to start context
  at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:161)
  at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:60)
  at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:93)
  ... 6 more

13:45:35,196 INFO  [org.jboss.as.server.deployment] (ServerService Thread Pool -- 24) JBAS018559: Deployed "project.knob-knob.yml" (runtime-name : "project.knob-knob.yml")
13:45:35,197 INFO  [org.jboss.as.server.deployment] (ServerService Thread Pool -- 24) JBAS018559: Deployed "project-knob.yml" (runtime-name : "project-knob.yml")
13:45:35,198 INFO  [org.jboss.as.controller] (Controller Boot Thread) JBAS014774: Service status report
JBAS014777:   Services which failed to start:      service jboss.web.deployment.default-host./: org.jboss.msc.service.StartException in service jboss.web.deployment.default-host./: org.jboss.msc.service.StartException in anonymous service: JBAS018040: Failed to start context
      service jboss.deployment.unit."project.knob-knob.yml".STRUCTURE: org.jboss.msc.service.StartException in service jboss.deployment.unit."project.knob-knob.yml".STRUCTURE: JBAS018733: Failed to process phase STRUCTURE of deployment "project.knob-knob.yml"

13:45:35,201 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
13:45:35,201 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015954: Admin console is not enabled
13:45:35,201 ERROR [org.jboss.as] (Controller Boot Thread) JBAS015875: JBoss AS 7.2.x.slim.incremental.16 "Janus" started (with errors) in 9919ms - Started 146 of 217 services (3 services failed or missing dependencies, 67 services are passive or on-demand)
14:56:03,383 WARN  [org.hornetq.core.client] (hornetq-failure-check-thread) HQ212037: Connection failure has been detected: HQ119014: Did not receive data from invm:0. It is likely the client has exited or crashed without closing its connection, or the network between the server and client has failed. You also might have configured connection-ttl and client-failure-check-period incorrectly. Please check user manual for more information. The connection will now be closed. [code=CONNECTION_TIMEDOUT]
14:56:03,386 WARN  [org.hornetq.core.client] (hornetq-failure-check-thread) HQ212037: Connection failure has been detected: HQ119014: Did not receive data from invm:0. It is likely the client has exited or crashed without closing its connection, or the network between the server and client has failed. You also might have configured connection-ttl and client-failure-check-period incorrectly. Please check user manual for more information. The connection will now be closed. [code=CONNECTION_TIMEDOUT]
14:56:03,387 WARN  [org.hornetq.core.server] (hornetq-failure-check-thread) HQ222061: Client connection failed, clearing up resources for session 6ba257f1-39db-11e4-b476-29e388c8765c
14:56:03,387 WARN  [org.hornetq.jms.server] (Thread-2 (HornetQ-client-global-threads-1148503845)) Notified of connection failure in xa discovery, we will retry on the next recovery: HornetQException[errorType=NOT_CONNECTED message=HQ119006: Channel disconnected]
  at org.hornetq.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:418) [hornetq-core-client-2.3.1.Final.jar:]
  at org.hornetq.core.remoting.impl.invm.InVMConnector$Listener$1.run(InVMConnector.java:214) [hornetq-server-2.3.1.Final.jar:]
  at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:106) [hornetq-core-client-2.3.1.Final.jar:]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
  at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]

14:56:03,388 WARN  [org.hornetq.core.server] (hornetq-failure-check-thread) HQ222107: Cleared up resources for session 6ba257f1-39db-11e4-b476-29e388c8765c
14:56:03,388 WARN  [org.hornetq.core.server] (hornetq-failure-check-thread) HQ222061: Client connection failed, clearing up resources for session 6ba51712-39db-11e4-b476-29e388c8765c
14:56:03,389 WARN  [org.hornetq.core.server] (hornetq-failure-check-thread) HQ222107: Cleared up resources for session 6ba51712-39db-11e4-b476-29e388c8765c
14:56:03,390 WARN  [org.hornetq.core.client] (hornetq-failure-check-thread) HQ212037: Connection failure has been detected: HQ119014: Did not receive data from invm:0. It is likely the client has exited or crashed without closing its connection, or the network between the server and client has failed. You also might have configured connection-ttl and client-failure-check-period incorrectly. Please check user manual for more information. The connection will now be closed. [code=CONNECTION_TIMEDOUT]
14:56:03,390 WARN  [org.hornetq.core.server] (hornetq-failure-check-thread) HQ222061: Client connection failed, clearing up resources for session 6fd3cca6-39db-11e4-b476-29e388c8765c
14:56:03,390 WARN  [org.hornetq.core.server] (hornetq-failure-check-thread) HQ222107: Cleared up resources for session 6fd3cca6-39db-11e4-b476-29e388c8765c
14:56:03,391 WARN  [org.hornetq.jms.server] (Thread-2 (HornetQ-client-global-threads-1148503845)) HQ122014: Notified of connection failure in xa recovery connectionFactory for provider ClientSessionFactoryImpl [serverLocator=ServerLocatorImpl [initialConnectors=[TransportConfiguration(name=6a455ffd-39db-11e4-b476-29e388c8765c, factory=org-hornetq-core-remoting-impl-invm-InVMConnectorFactory) ?server-id=0], discoveryGroupConfiguration=null], connectorConfig=TransportConfiguration(name=6a455ffd-39db-11e4-b476-29e388c8765c, factory=org-hornetq-core-remoting-impl-invm-InVMConnectorFactory) ?server-id=0, backupConfig=null] will attempt reconnect on next pass: HornetQException[errorType=NOT_CONNECTED message=HQ119006: Channel disconnected]
  at org.hornetq.core.client.impl.ClientSessionFactoryImpl.connectionDestroyed(ClientSessionFactoryImpl.java:418) [hornetq-core-client-2.3.1.Final.jar:]
  at org.hornetq.core.remoting.impl.invm.InVMConnector$Listener$1.run(InVMConnector.java:214) [hornetq-server-2.3.1.Final.jar:]
  at org.hornetq.utils.OrderedExecutorFactory$OrderedExecutor$1.run(OrderedExecutorFactory.java:106) [hornetq-core-client-2.3.1.Final.jar:]
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_51]
  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_51]
  at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
servel333 commented 10 years ago

This appeared to solve it for me, implying that the latest version of Nokogiri is not compatible with Torquebox.

Gemfile.lock

gem 'nokogiri', '1.6.1'
avilyn commented 10 years ago

I think there is something else at work here. I have two Torquebox applications, both being deployed to the same Torquebox instance. Both have the following in Gemfile.lock:

nokogiri (1.6.3.1-java)

One of these applications works correctly. The other one has the error. I'll do more debugging this afternoon.

avilyn commented 10 years ago

If you are using Nokogiri only as a dependency for the gems used to test your application (Capybara for example), you can work around this problem by restricting those gems to the test environment in your Gemfile:

group :test do
  gem 'capybara'
end
toshe commented 9 years ago

We're experiencing the same problem both on Windows and on Mac OS X on version 1.6.2 and 1.6.3.1

java version "1.7.0_55" Java(TM) SE Runtime Environment (build 1.7.0_55-b13) Java HotSpot(TM) 64-Bit Server VM (build 24.55-b03, mixed mode)

jruby 1.7.15 (1.9.3p392) 2014-09-03 82b5cc3 on Java HotSpot(TM) 64-Bit Server VM 1.7.0_55-b13 +jit [Windows 7-amd64]

Torquebox 3.0.2

lpar commented 9 years ago

Same problem here with Nokogiri, no Torquebox involved.

CentOS 6. jruby 1.7.16.1 (1.9.3p392) 2014-10-28 4e93f31 on IBM J9 VM pxa6470_27sr1fp1-20140708_01 (SR1 FP1) +jit [linux-amd64]

So I think it's a nokogiri bug.

bbrowning commented 9 years ago

From what I can gather, Nokogiri is depending on some internal JDK classes that it shouldn't. Particularly, ones in the com.sun.org.apache.xpath.internal and com.sun.org.apache.xml.internal packages.

This fails on IBM JVMs because it appears the IBM JVMs don't contain those classes. It appears these are classes meant for internal-use-only in Oracle and OpenJDK variants.

This fails on TorqueBox because by default the underlying JBoss application server uses something called JBoss Modules to provide class isolation and limit what classes are and aren't visible from the system JDK to user code. It appears these internal classes aren't visible by default, but that can be worked around.

I'm working around this in TorqueBox 4 right now, and then will figure out a workaround for TorqueBox 3. Sadly, I don't think there's any workaround possible for IBM JDK users except to stay on an older Nokogiri.

The right fix is to remove Nokogiri's dependency on these internal classes and modify it to either depend on an external library or rewrite the code to use a different standard API.

flavorjones commented 9 years ago

@bbrowning Thanks for the additional information and research. We'll look into it.

fpauser commented 9 years ago

Any news on that?

flavorjones commented 9 years ago

@fpauser Unfortunately, to my knowledge, nobody on nokogiri-core has reproduced this issue. Though we don't need to reproduce it to follow @bbrowning's advice to remove the dependency on the internal classes, it's hard to know we're doing the right thing if we can't reproduce it.

Can anyone provide instructions on how to build an environment on which I can reproduce? Or, for extra hugs, provide a docker image? If we can get unblocked on repro we'll fix it.

flavorjones commented 9 years ago

Should I be able to reproduce this if I start from https://hub.docker.com/_/websphere-liberty/ ?

atambo commented 9 years ago

I think you can reproduce it by using the IBM JDK: http://www.ibm.com/developerworks/java/jdk/ instead of the Oracle JDK but you'd have to be using linux.

karlhe commented 9 years ago

Or Windows. IBM JDK doesn't support mac environment though.

altmind commented 8 years ago

Hit the same issue.

Fresh server, no leftover rubies, gems of custom java libs. Debian 6.0(oldstable) Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode) - official package from http://ppa.launchpad.net/webupd8team/java/ubuntu torquebox-dist-3.1.2 Fresh rails app 4.2.4(basically only 1 scaffolded model)

Running torquebox with app deployed gives loooong stacktrace with "org.jruby.exceptions.RaiseException: (LoadError) load error: nokogiri/nokogiri -- java.lang.NoClassDefFoundError: com/sun/org/apache/xpath/internal/jaxp/JAXPExtensionsProvider"

Full torquebox error: https://gist.github.com/altmind/e4452843a16c58ad6d06

Fixing nokogiri to 1.6.1 alleviates the problem

ianderse commented 8 years ago

Any updates on this issue? Running into this with torquebox 3.1.2 and Redhat enterprise linux 5.11

jvshahid commented 8 years ago

I'll discuss with @flavorjones and hopefully we can get something out the doors soon. Sorry for the inconvenience everyone. I'm afraid, this could mean reverting back a few commits that would cause performance degradation.

ianderse commented 8 years ago

Thanks for the quick reply @jvshahid, looks like this pull request potentially addresses it? #1212

jvshahid commented 8 years ago

I just merged in #1212. Can someone verify that master work and that the problem is fixed.

ianderse commented 8 years ago

Trying to test it. When I attempt to bundle using the master branch with jruby I get: "Could not find gem 'nokogiri (>= 0) java' in git://github.com/sparklemotion/nokogiri.git (at master). Source does not contain any versions of 'nokogiri (>= 0) java'"

larskanis commented 8 years ago

@ianderse You must use this procedure:

git clone https://github.com/sparklemotion/nokogiri
cd nokogiri
bundle
rake gem
gem inst pkg/nokogiri-1.6.7.rc4-java.gem
ianderse commented 8 years ago

@larskanis @jvshahid using nokogiri-1.6.7.rc4 I get the following error: "LoadError: no such file to load -- serializer require at org/jruby/RubyKernel.java:1071 (root) at /Users/-/.rvm/gems/jruby-1.7.19@-/gems/nokogiri-1.6.7.rc4-java/lib/nokogiri.rb:22"

jvshahid commented 8 years ago

@ianderse can you describe the full environment where you got this error, e.g. output of java -version, name of distro you are using, a docker image that we can use to repro the issue.

ianderse commented 8 years ago

@jvshahid I can provide basic information right now, I can work on getting more later.

Mac OS X 10.10.5 java version "1.8.0_40" Java(TM) SE Runtime Environment (build 1.8.0_40-b27) Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode) jruby 1.7.19

I can confirm that I do not get this error when using Nokogiri 1.6.6.4.

The full backtrace: LoadError: no such file to load -- serializer require at org/jruby/RubyKernel.java:1071 (root) at /Users/ianderse/.rvm/gems/jruby-1.7.19@_/gems/nokogiri-1.6.7.rc4-java/lib/nokogiri.rb:22 require at org/jruby/RubyKernel.java:1071 (root) at /Users/ianderse/.rvm/gems/jruby-1.7.19@_l/gems/ruby-saml-0.9.2/lib/onelogin/ruby-saml/samlmessage.rb:1 require at org/jruby/RubyKernel.java:1071 (root) at /Users/ianderse/.rvm/gems/jruby-1.7.19@/gems/ruby-saml-0.9.2/lib/onelogin/ruby-saml/saml_message.rb:4

saml_message.rb:4 is require 'nokogiri' saml_message.rb:1 is require 'cgi'

jvshahid commented 8 years ago

I was able to reproduce the error. Thanks @ianderse

jvshahid commented 8 years ago

The new jars were missing from the gem, master should be fixed now.

ianderse commented 8 years ago

@jvshahid when I build the gem I get the following error:

rake gem install -c tmp/java/nokogiri/nokogiri.jar lib/nokogiri/nokogiri.jar cd pkg/nokogiri-1.6.7.rc4-java WARNING: See http://guides.rubygems.org/specification-reference/ for help rake aborted! Gem::InvalidSpecificationException: ["lib/serializer.jar", "lib/xalan.jar", "lib/xml-apis.jar"] are not files /Users/ianderse/.rvm/gems/jruby-1.7.19@_/bin/jruby_executable_hooks:15:in `(root)' Tasks: TOP => gem => pkg/nokogiri-1.6.7.rc4-java.gem

jvshahid commented 8 years ago

@ianderse try to run rake clean, this should fix the issue.

ianderse commented 8 years ago

@jvshahid that successfully allowed me to build the gem on my local environment, in one of my cloud environments I get the following error when trying to build the gem: "11. ERROR in ext/java/nokogiri/HtmlSaxPushParser.java (at line 181) public Thread newThread(Runnable r) { ^^^^^^^^^^^^^^^^^^^^^ The method newThread(Runnable) of type new ThreadFactory(){} must override a superclass method

  1. ERROR in ext/java/nokogiri/HtmlSaxPushParser.java (at line 223) public HtmlSaxParserContext call() throws Exception { ^^^^^^^^^^^^^^^^^^^^^^^ The method call() of type HtmlSaxPushParser.ParserTask must override a superclass method

12 problems (2 errors, 10 warnings)rake aborted! Command failed with status (255): [javac -extdirs "/usr/java/jdk1.7.0_60/jre/...]"

Environment: JRuby 1.7.19 Redhat enterprise linux 5.11 java version "1.7.0_60" Java(TM) SE Runtime Environment (build 1.7.0_60-b19) Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)

I will try building it locally and testing it that way, but thought you should know about this error as well.

ianderse commented 8 years ago

@jvshahid based on my initial tests, I can confirm that after your recent fix I am able to deploy and no longer seeing the original issues in this thread. Thanks for the hard work!

Environment: JRuby 1.7.19 Redhat enterprise linux 5.11 java version "1.7.0_60" Java(TM) SE Runtime Environment (build 1.7.0_60-b19) Java HotSpot(TM) 64-Bit Server VM (build 24.60-b09, mixed mode)

jvshahid commented 8 years ago

Great. Should I be concerned about the 2 errors you reported earlier ?

ianderse commented 8 years ago

I'm not sure to be honest, I think as long as people are ok with not being able to build the gem themselves in some environments, it's not a big deal. It's also possible that issue was present in previous versions as well as this was the first time I tried building it in that environment.

jvshahid commented 8 years ago

I'm downloading the jdk 7u60 from oracle and will try to build the gem using it instead of openjdk. I checked the java docs and everything seems right, not sure why you are seeing this error. Could it be multiple jdk versions on your server ?

Do you mind opening a new issue with the error you got and the details you posted in the previous comment. That way we can keep track of it and I can ping you if I need more details later.

I'll go ahead and close this issue since you think master resolved the issue.

jvshahid commented 8 years ago

Fixed by #1212, #1380 and https://github.com/sparklemotion/nokogiri/commit/d811ea4636741e8785eee9244de60c4522d68573