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

gem install fails on Solaris 10 #4192

Open
mulvaney opened this issue Sep 29, 2016 · 3 comments
Open

gem install fails on Solaris 10 #4192

mulvaney opened this issue Sep 29, 2016 · 3 comments

Comments

@mulvaney
Copy link

Running 'gem install bundler' (or any other gem) always fails:

$ gem install bundler
io/console on JRuby shells out to stty for most operations
ERROR: While executing gem ... (Errno::EINVAL)
Invalid argument - /home/mm5830/.gem/specs/api.rubygems.org%80/quick/Marshal.4.8/bundler-1.13.1.gemspec

Environment

$ jruby -v
jruby 9.1.5.0 (2.3.1) 2016-09-07 036ce39 Java HotSpot(TM) 64-Bit Server VM 25.40-b25 on 1.8.0_40-b26 +jit [solaris-sparcv9]

$ uname -a
SunOS pubdevx-dev601 5.10 Generic_150400-40 sun4v sparc sun4v

$ gem env
io/console on JRuby shells out to stty for most operations
RubyGems Environment:

  • RUBYGEMS VERSION: 2.6.6
  • RUBY VERSION: 2.3.1 (2016-09-07 patchlevel 0) [java]
  • INSTALLATION DIRECTORY: /home/mm5830/.gem/jruby/2.3.1
  • USER INSTALLATION DIRECTORY: /home/mm5830/.gem/jruby/2.3.0
  • RUBY EXECUTABLE: /home/mm5830/.rubies/jruby-9.1.5.0/bin/jruby
  • EXECUTABLE DIRECTORY: /home/mm5830/.gem/jruby/2.3.1/bin
  • SPEC CACHE DIRECTORY: /home/mm5830/.gem/specs
  • SYSTEM CONFIGURATION DIRECTORY: /home/mm5830/.rubies/jruby-9.1.5.0/etc
  • RUBYGEMS PLATFORMS:
    • ruby
    • universal-java-1.8
  • GEM PATHS:
    • /home/mm5830/.gem/jruby/2.3.1
    • /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/gems/shared
  • GEM CONFIGURATION:
    • :update_sources => true
    • :verbose => true
    • :backtrace => false
    • :bulk_threshold => 1000
    • "install" => "--no-rdoc --no-ri --env-shebang"
    • "update" => "--no-rdoc --no-ri --env-shebang"
    • :gem => "--no-ri --no-rdoc"
    • :sources => ["http://rubygems.org/"]
    • :benchmark => false
  • REMOTE SOURCES:
  • SHELL PATH:
    • /home/mm5830/.gem/jruby/2.3.1/bin
    • /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/gems/shared/bin
    • /home/mm5830/.rubies/jruby-9.1.5.0/bin
    • /opt/bpub/java/java1.8/bin
    • /home/mm5830/bin
    • /opt/bpub/bin
    • /usr/sfw/bin
    • /opt/csw/bin
    • /usr/bin
    • /bin

$ java -version
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b26)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)

Expected Behavior

  • I expect the gem to install. This works ok on same system using 1.7.22

Actual Behavior

$ gem install bundler
io/console on JRuby shells out to stty for most operations
ERROR: While executing gem ... (Errno::EINVAL)
Invalid argument - /home/mm5830/.gem/specs/api.rubygems.org%80/quick/Marshal.4.8/bundler-1.13.1.gemspec

@mulvaney
Copy link
Author

I get the same error on 9.1.4.0, by the way. On 9.0.5.0 I get a completely different error. I can show that error if it would help, but I thought it was probably best to focus on 9.1.

@headius
Copy link
Member

headius commented Sep 30, 2016

Well the path doesn't seem too long. Can you get gem to spit out a full backtrace, with and without -Xbacktrace.style=full please?

@mulvaney
Copy link
Author

mulvaney commented Oct 20, 2016

Looks like the problem is with flock. The files are on NFS, if that makes a difference.

$ jruby  -S gem install bundler --backtrace
io/console on JRuby shells out to stty for most operations
ERROR:  While executing gem ... (Errno::EINVAL)
    Invalid argument - /home/mm5830/.gem/specs/api.rubygems.org%80/quick/Marshal.4.8/bundler-1.13.5.gemspec
        org/jruby/RubyFile.java:337:in `flock'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems.rb:849:in `block in read_binary'
        org/jruby/RubyIO.java:1141:in `open'
        org/jruby/RubyKernel.java:306:in `open'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems.rb:848:in `read_binary'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/source.rb:146:in `fetch_spec'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/resolver/api_specification.rb:77:in `spec'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/resolver/installer_set.rb:78:in `add_always_install'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/dependency_installer.rb:474:in `resolve_dependencies'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/commands/install_command.rb:194:in `install_gem'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/commands/install_command.rb:255:in `block in install_gems'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/commands/install_command.rb:251:in `install_gems'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/commands/install_command.rb:158:in `execute'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/command.rb:310:in `invoke_with_build_args'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/command_manager.rb:169:in `process_args'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/command_manager.rb:139:in `run'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/gem_runner.rb:55:in `run'
        /home/mm5830/.rubies/jruby-9.1.5.0/bin/jgem:21:in `<main>'
        org/jruby/RubyKernel.java:974:in `load'
        /home/mm5830/.rubies/jruby-9.1.5.0/bin/gem:4:in `<main>'

Here is the full backtrace:

$ jruby -Xbacktrace.style=full -S gem install bundler --backtrace
io/console on JRuby shells out to stty for most operations
ERROR:  While executing gem ... (Errno::EINVAL)
    Invalid argument - /home/mm5830/.gem/specs/api.rubygems.org%80/quick/Marshal.4.8/bundler-1.13.5.gemspec
        java/lang/Thread.java:1552:in `getStackTrace'
        org/jruby/runtime/backtrace/TraceType.java:246:in `getBacktraceData'
        org/jruby/runtime/backtrace/TraceType.java:47:in `getBacktrace'
        org/jruby/RubyException.java:235:in `prepareBacktrace'
        org/jruby/exceptions/RaiseException.java:214:in `preRaise'
        org/jruby/exceptions/RaiseException.java:181:in `preRaise'
        org/jruby/exceptions/RaiseException.java:111:in `<init>'
        org/jruby/Ruby.java:4192:in `newRaiseException'
        org/jruby/Ruby.java:3816:in `newErrnoFromInt'
        org/jruby/Ruby.java:3826:in `newErrnoFromErrno'
        org/jruby/RubyFile.java:337:in `flock'
        org/jruby/RubyFile$INVOKER$i$1$0$flock.gen:-1:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:338:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:163:in `call'
        org/jruby/ir/interpreter/InterpreterEngine.java:315:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/Interpreter.java:132:in `INTERPRET_BLOCK'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems.rb:849:in `block in read_binary'
        org/jruby/runtime/MixedModeIRBlockBody.java:148:in `commonYieldPath'
        org/jruby/runtime/IRBlockBody.java:179:in `doYield'
        org/jruby/runtime/BlockBody.java:110:in `yield'
        org/jruby/runtime/Block.java:167:in `yield'
        org/jruby/RubyIO.java:1148:in `ensureYieldClose'
        org/jruby/RubyIO.java:1141:in `open'
        org/jruby/RubyKernel.java:306:in `open19'
        org/jruby/RubyKernel$INVOKER$s$0$3$open19.gen:-1:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:298:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:79:in `callBlock'
        org/jruby/runtime/callsite/CachingCallSite.java:83:in `call'
        org/jruby/ir/instructions/CallBase.java:428:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:356:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:84:in `interpret'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:179:in `INTERPRET_METHOD'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems.rb:848:in `read_binary'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:165:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:197:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:338:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:163:in `call'
        org/jruby/ir/interpreter/InterpreterEngine.java:315:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:84:in `interpret'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:179:in `INTERPRET_METHOD'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/source.rb:146:in `fetch_spec'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:165:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:197:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:338:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:163:in `call'
        org/jruby/ir/interpreter/InterpreterEngine.java:315:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:78:in `interpret'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:144:in `INTERPRET_METHOD'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/resolver/api_specification.rb:77:in `spec'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:130:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:189:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:318:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:131:in `call'
        org/jruby/ir/interpreter/InterpreterEngine.java:340:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:84:in `interpret'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:179:in `INTERPRET_METHOD'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/resolver/installer_set.rb:78:in `add_always_install'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:165:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:197:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:338:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:163:in `call'
        org/jruby/ir/interpreter/InterpreterEngine.java:315:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:90:in `interpret'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:214:in `INTERPRET_METHOD'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/dependency_installer.rb:474:in `resolve_dependencies'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:200:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:205:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:358:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:195:in `call'
        org/jruby/ir/interpreter/InterpreterEngine.java:324:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:90:in `interpret'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:214:in `INTERPRET_METHOD'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/commands/install_command.rb:194:in `install_gem'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:200:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:205:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:358:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:195:in `call'
        org/jruby/ir/interpreter/InterpreterEngine.java:324:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/Interpreter.java:132:in `INTERPRET_BLOCK'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/commands/install_command.rb:255:in `block in install_gems'
        org/jruby/runtime/MixedModeIRBlockBody.java:148:in `commonYieldPath'
        org/jruby/runtime/IRBlockBody.java:179:in `doYield'
        org/jruby/runtime/BlockBody.java:110:in `yield'
        org/jruby/runtime/Block.java:167:in `yield'
        org/jruby/specialized/RubyArrayOneObject.java:128:in `each'
        org/jruby/RubyArray$INVOKER$i$0$0$each.gen:-1:in `call'
        org/jruby/internal/runtime/methods/JavaMethod.java:497:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:298:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:79:in `callBlock'
        org/jruby/runtime/callsite/CachingCallSite.java:83:in `call'
        org/jruby/ir/instructions/CallBase.java:428:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:356:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:78:in `interpret'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:144:in `INTERPRET_METHOD'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/commands/install_command.rb:251:in `install_gems'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:130:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:189:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:318:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:131:in `call'
        org/jruby/ir/interpreter/InterpreterEngine.java:340:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:78:in `interpret'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:144:in `INTERPRET_METHOD'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/commands/install_command.rb:158:in `execute'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:130:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:189:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:318:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:131:in `call'
        org/jruby/ir/interpreter/InterpreterEngine.java:340:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:90:in `interpret'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:214:in `INTERPRET_METHOD'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/command.rb:310:in `invoke_with_build_args'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:200:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:205:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:358:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:195:in `call'
        org/jruby/ir/interpreter/InterpreterEngine.java:324:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:90:in `interpret'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:214:in `INTERPRET_METHOD'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/command_manager.rb:169:in `process_args'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:200:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:205:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:358:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:195:in `call'
        org/jruby/ir/interpreter/InterpreterEngine.java:324:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:90:in `interpret'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:214:in `INTERPRET_METHOD'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/command_manager.rb:139:in `run'

        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:200:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:205:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:358:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:195:in `call'
        org/jruby/ir/interpreter/InterpreterEngine.java:324:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/InterpreterEngine.java:84:in `interpret'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:179:in `INTERPRET_METHOD'
        /home/mm5830/.rubies/jruby-9.1.5.0/lib/ruby/stdlib/rubygems/gem_runner.rb:55:in `run'
        org/jruby/internal/runtime/methods/MixedModeIRMethod.java:165:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:197:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:338:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:163:in `call'
        org/jruby/ir/interpreter/InterpreterEngine.java:315:in `processCall'
        org/jruby/ir/interpreter/StartupInterpreterEngine.java:73:in `interpret'
        org/jruby/ir/interpreter/Interpreter.java:112:in `INTERPRET_ROOT'
        /home/mm5830/.rubies/jruby-9.1.5.0/bin/jgem:21:in `<main>'
        org/jruby/ir/interpreter/Interpreter.java:99:in `execute'
        org/jruby/ir/interpreter/Interpreter.java:35:in `execute'
        org/jruby/ir/IRTranslator.java:42:in `execute'
        org/jruby/Ruby.java:850:in `runInterpreter'
        org/jruby/Ruby.java:2976:in `loadFile'
        org/jruby/runtime/load/LibrarySearcher.java:243:in `load'
        org/jruby/runtime/load/LibrarySearcher.java:34:in `load'
        org/jruby/runtime/load/LoadService.java:340:in `load'
        org/jruby/RubyKernel.java:982:in `loadCommon'
        org/jruby/RubyKernel.java:974:in `load19'
        org/jruby/RubyKernel$INVOKER$s$0$1$load19.gen:-1:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:201:in `call'
        org/jruby/internal/runtime/methods/DynamicMethod.java:197:in `call'
        org/jruby/runtime/callsite/CachingCallSite.java:338:in `cacheAndCall'
        org/jruby/runtime/callsite/CachingCallSite.java:163:in `call'
        home/mm5830/$_dot_rubies/jruby_minus_9_dot_1_dot_5_dot_0/bin//home/mm5830/.rubies/jruby-9.1.5.0/bin/gem:4:in `invokeOther3:load'
        /home/mm5830/.rubies/jruby-9.1.5.0/bin/gem:4:in `<main>'
        java/lang/invoke/MethodHandle.java:625:in `invokeWithArguments'
        org/jruby/ir/Compiler.java:111:in `load'
        org/jruby/Ruby.java:834:in `runScript'
        org/jruby/Ruby.java:749:in `runNormally'
        org/jruby/Ruby.java:767:in `runNormally'
        org/jruby/Ruby.java:580:in `runFromMain'
        org/jruby/Main.java:425:in `doRunFromMain'
        org/jruby/Main.java:313:in `internalRun'
        org/jruby/Main.java:242:in `run'
        org/jruby/Main.java:204:in `main'


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

2 participants