Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(SystemCallError) Unknown error - uri:classloader:/ in racc-1.4.14-java.gemspec #4538

Closed
agabrys opened this issue Mar 20, 2017 · 3 comments
Closed

Comments

@agabrys
Copy link

agabrys commented Mar 20, 2017

I use sass-maven-plugin:2.23 (pom.xml) which depends on:

  • org.jruby:jruby-complete:9.1.7.0
  • rubygems:compass:1.0.3
  • rubygems:sass:3.4.23

It sometimes throws exception:

18:37:02 Caused by: org.jruby.exceptions.RaiseException: (SystemCallError) Unknown error - uri:classloader:/META-INF/jruby.home/lib/ruby/gems/shared/specifications/default/racc-1.4.14-java.gemspec
18:37:02 	at org.jruby.RubyIO.read(org/jruby/RubyIO.java:2993)
18:37:02 	at org.jruby.RubyIO.read(org/jruby/RubyIO.java:2977)
18:37:02 	at org.jruby.RubyIO.read(org/jruby/RubyIO.java:3592)
18:37:02 	at RUBY.load(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:1156)
18:37:02 	at RUBY.block in each_spec(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:820)
18:37:02 	at RUBY.block in each_gemspec(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:743)
18:37:02 	at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1733)
18:37:02 	at RUBY.block in each_gemspec(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:742)
18:37:02 	at org.jruby.RubyArray.each(org/jruby/RubyArray.java:1733)
18:37:02 	at RUBY.each_gemspec(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:741)
18:37:02 	at RUBY.each_spec(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:819)
18:37:02 	at RUBY.load_defaults(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:871)
18:37:02 	at RUBY.<main>(uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems.rb:1362)
18:37:02 	at org.jruby.RubyKernel.require(org/jruby/RubyKernel.java:961)
18:37:02 	at RUBY.<main>(uri:classloader:/jruby/kernel/gem_prelude.rb:1)
18:37:02 	at org.jruby.RubyKernel.load(org/jruby/RubyKernel.java:979)
18:37:02 	at RUBY.<main>(uri:classloader:/jruby/kernel/gem_prelude.rb:3)
18:37:02 [ERROR] 
18:37:02 [ERROR] Re-run Maven using the -X switch to enable full debug logging.
18:37:02 [ERROR] 
18:37:02 [ERROR] For more information about the errors and possible solutions, please read the following articles:
18:37:02 [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
18:37:02 [ERROR] 
18:37:02 [ERROR] After correcting the problems, you can resume the build with the command
18:37:02 [ERROR]   mvn <goals> -rf :abc-widgets

The sass-maven-plugin team redirected me to this project (see GeoDienstenCentrum/sass-maven-plugin#149).

This is a rarely error - once per 30-40 builds.

Environment and configuration

$ java -version
java version "1.8.0_77"
Java(TM) SE Runtime Environment (build 1.8.0_77-b03)
Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)
$ uname -a
Linux host-d-8668 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u3 (2016-01-17) x86_64 GNU/Linux
@camlow325
Copy link
Contributor

We appear to be running into the same issue pretty frequently when running our unit tests which exercise JRuby 9.1.8.0. It happens sporadically on our local machines but very frequently when run in Travis CI. Here's a snippet of the backtrace:

org.jruby.exceptions.RaiseException: (SystemCallError) Unknown error (SystemCallError) - uri:classloader:/META-INF/jruby.home/lib/ruby/gems/shared/specifications/default/jar-dependencies-0.3.10.gemspec
 at org.jruby.RubyIO.read (org/jruby/RubyIO.java:2992)
    org.jruby.RubyIO.read (org/jruby/RubyIO.java:2976)
    org.jruby.RubyIO.read (org/jruby/RubyIO.java:3590)
    RUBY.load (uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:1156)
    RUBY.block in each_spec (uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:820)
    RUBY.block in each_gemspec (uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:743)
    org.jruby.RubyArray.each (org/jruby/RubyArray.java:1734)
    RUBY.block in each_gemspec (uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:742)
    org.jruby.RubyArray.each (org/jruby/RubyArray.java:1734)
    RUBY.each_gemspec (uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:741)
    RUBY.each_spec (uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:819)
    RUBY.load_defaults (uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems/specification.rb:871)
    RUBY.<main> (uri:classloader:/META-INF/jruby.home/lib/ruby/stdlib/rubygems.rb:1362)
    org.jruby.RubyKernel.require (org/jruby/RubyKernel.java:961)
    RUBY.<main> (uri:classloader:/jruby/kernel/gem_prelude.rb:1)
    org.jruby.RubyKernel.load (org/jruby/RubyKernel.java:979)
    RUBY.<main> (uri:classloader:/jruby/kernel/gem_prelude.rb:3)

We've seen the problem both on JDK 1.7.0_75 and 1.8.0_31.

Is there any specific data that would be helpful to collect when these occur that would shed light on the problem?

@mkristian
Copy link
Member

this errors is when jruby starts to look through the gems and find a file for a require. so IO fails loading a file from the jruby jar. adding the system properties jruby.debug.loadService=true will give more inside what gets actually loaded.

and maybe the system properties jruby.backtrace.style=full or jruby.backtrace.style=raw as I miss the actual trace from jruby classes.

@camlow325
Copy link
Contributor

Thanks, @mkristian, for the follow-up. After further investigation, I believe the errors that we have been seeing are just related to memory exhaustion. With a combination of bumping up the maximum heap size for the Java process and reworking our test suite to ensure that for every ScriptingContainer which is allocated that an explicit call to .terminate() is made, we no longer have been able to recreate any of these failures. These tests were passing without any of these errors in JRuby 1.7. I suspect that the increase in memory utilization that JRuby 9k ScriptingContainers have vs. JRuby 1.7 ones is the primary reason we had started seeing this problem so much more frequently. The cleanup/terminate logic for the ScriptingContainer objects obviously seems good to have in any event.

@kares kares closed this as completed Apr 25, 2017
@kares kares added this to the Invalid or Duplicate milestone Apr 25, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants