Skip to content

Singleton on non-persistent Java type Java::JavaLang::NullPointerException #4304

@tobymurray-nanometrics

Description

@tobymurray-nanometrics

We just upgraded from 9.1.2.0 to 9.1.6.0, and we saw a CI build failure with the exception below. It's only failed once so far, but we like to stay on top of these things. Look familiar at all? Anything we can do to provide more helpful logs/details? I don't have a reproducible case, so I'm just looking for some guidance as to whether you think this is an us problem or a JRuby 9.1.6.0 problem.

Environment

JRuby 1.9.6.0
Rails 4.2.7.1

openjdk version "1.8.0_111"
OpenJDK Runtime Environment (build 1.8.0_111-8u111-b14-2~bpo8+1-b14)
OpenJDK 64-Bit Server VM (build 25.111-b14, mixed mode)
Linux 468c25bf6746 4.4.0-47-generic #68-Ubuntu SMP Wed Oct 26 19:39:52 UTC 2016 x86_64 GNU/Linux

Command executed

[INFO] Running precompile assets with command java -Xms2g -Xmx2g -jar /root/.m2/repository/org/jruby/jruby-complete/9.1.6.0/jruby-complete-9.1.6.0.jar -S /opt/atlassian/pipelines/agent/build/athena/.gems/bin/rake assets:precompile

Stacktrace

I, [2016-11-16T16:48:29.889000 #387]  INFO -- : Writing /opt/atlassian/pipelines/agent/build/athena/public/assets/pages/threshold_statuses/seismicity_plot-06f1df67a58d8f1dcfeddae2bab4912e0248623dce7f1b2b7927dffb0d1e13ce.js.gz
/opt/atlassian/pipelines/agent/build/athena/.gems/gems/rake-11.3.0/lib/rake/task.rb:197: warning: singleton on non-persistent Java type Java::JavaLang::NullPointerException (http://wiki.jruby.org/Persistence)
rake aborted!
Java::JavaLang::NullPointerException: 
org.jruby.ir.dataflow.DataFlowProblem.compute_MOP_Solution(DataFlowProblem.java:56)
org.jruby.ir.passes.LiveVariableAnalysis.execute(LiveVariableAnalysis.java:77)
org.jruby.ir.passes.CompilerPass.run(CompilerPass.java:111)
org.jruby.ir.passes.CompilerPass.makeSureDependencyHasRunOnce(CompilerPass.java:133)
org.jruby.ir.passes.CompilerPass.run(CompilerPass.java:101)
org.jruby.ir.passes.CompilerPass.run(CompilerPass.java:125)
org.jruby.ir.IRScope.runCompilerPasses(IRScope.java:502)
org.jruby.ir.IRScope.prepareForCompilation(IRScope.java:586)
org.jruby.runtime.MixedModeIRBlockBody.promoteToFullBuild(MixedModeIRBlockBody.java:169)
org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:126)
org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:182)
org.jruby.runtime.BlockBody.yield(BlockBody.java:110)
org.jruby.runtime.Block.yield(Block.java:167)
org.jruby.RubyArray.collectBang(RubyArray.java:2505)
org.jruby.RubyArray.map_bang(RubyArray.java:2524)
org.jruby.RubyArray$INVOKER$i$0$0$map_bang.call(RubyArray$INVOKER$i$0$0$map_bang.gen)
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:497)
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:77)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:174)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:67)
opt.atlassian.pipelines.agent.build.athena.$_dot_gems.gems.sass_minus_3_dot_4_dot_22.lib.sass.selector.sequence.invokeOther2:do_extend(/opt/atlassian/pipelines/agent/build/athena/.gems/gems/sass-3.4.22/lib/sass/selector/sequence.rb:112)
opt.atlassian.pipelines.agent.build.athena.$_dot_gems.gems.sass_minus_3_dot_4_dot_22.lib.sass.selector.sequence.RUBY$block$do_extend$0(/opt/atlassian/pipelines/agent/build/athena/.gems/gems/sass-3.4.22/lib/sass/selector/sequence.rb:112)
org.jruby.runtime.CompiledIRBlockBody.yieldDirect(CompiledIRBlockBody.java:156)
org.jruby.runtime.MixedModeIRBlockBody.yieldDirect(MixedModeIRBlockBody.java:122)
org.jruby.runtime.BlockBody.yield(BlockBody.java:108)
org.jruby.runtime.Block.yield(Block.java:167)
org.jruby.RubyArray.collect(RubyArray.java:2478)
org.jruby.RubyArray.map19(RubyArray.java:2492)
org.jruby.RubyArray$INVOKER$i$0$0$map19.call(RubyArray$INVOKER$i$0$0$map19.gen)
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:497)
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:77)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:109)
org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:95)
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:77)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
org.jruby.ir.interpreter.Interpreter.INTERPRET_BLOCK(Interpreter.java:132)
org.jruby.runtime.MixedModeIRBlockBody.commonYieldPath(MixedModeIRBlockBody.java:148)
org.jruby.runtime.IRBlockBody.doYield(IRBlockBody.java:182)
org.jruby.runtime.BlockBody.yield(BlockBody.java:110)
org.jruby.runtime.Block.yield(Block.java:167)
org.jruby.specialized.RubyArrayOneObject.collect(RubyArrayOneObject.java:90)
org.jruby.RubyArray.map19(RubyArray.java:2492)
org.jruby.RubyArray$INVOKER$i$0$0$map19.call(RubyArray$INVOKER$i$0$0$map19.gen)
org.jruby.internal.runtime.methods.JavaMethod$JavaMethodZeroBlock.call(JavaMethod.java:497)
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:77)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:83)
org.jruby.ir.instructions.CallBase.interpret(CallBase.java:428)
org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:356)
org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:90)
org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:214)
org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:200)
org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:208)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:193)
org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:324)
org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
org.jruby.ir.interpreter.InterpreterEngine.interpret(InterpreterEngine.java:84)
org.jruby.internal.runtime.methods.MixedModeIRMethod.INTERPRET_METHOD(MixedModeIRMethod.java:179)
org.jruby.internal.runtime.methods.MixedModeIRMethod.call(MixedModeIRMethod.java:165)
org.jruby.RubyClass.finvoke(RubyClass.java:531)
org.jruby.RubyBasicObject.send19(RubyBasicObject.java:1668)
org.jruby.RubyKernel.send19(RubyKernel.java:1991)
org.jruby.RubyKernel$INVOKER$s$send19.call(RubyKernel$INVOKER$s$send19.gen)
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:203)
org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:209)
opt.atlassian.pipelines.agent.build.athena.$_dot_gems.gems.sass_minus_3_dot_4_dot_22.lib.sass.tree.visitors.base.invokeOther7:send(/opt/atlassian/pipelines/agent/build/athena/.gems/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:36)
opt.atlassian.pipelines.agent.build.athena.$_dot_gems.gems.sass_minus_3_dot_4_dot_22.lib.sass.tree.visitors.base.RUBY$method$visit$0(/opt/atlassian/pipelines/agent/build/athena/.gems/gems/sass-3.4.22/lib/sass/tree/visitors/base.rb:36)
...

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions