You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Trying to observe JVM/JRUBY with big Heap, I meet a strange behavior when Join big data.
The Script :
p"100MB data.... with 100KB string"s='*'*100_1000p((0..100).map{|ii|piiifii%100==0;s}.join('')).sizep((0..500).map{|ii|piiifii%100==0;s}.join('')).sizep((0..700).map{|ii|piiifii%100==0;s}.join('')).sizep((0..900).map{|ii|piiifii%100==0;s}.join('')).sizep"1GB data.... with 1MB string"s='*'*1000_1000p((0..100).map{|ii|piiifii%100==0;s}.join('')).sizep((0..500).map{|ii|piiifii%100==0;s}.join('')).sizep((0..700).map{|ii|piiifii%100==0;s}.join('')).sizep((0..900).map{|ii|piiifii%100==0;s}.join('')).size
Execution;
Fri Sep 08 18:01:46 CEST 2017 : jvm ready, load ScriptingContainer...
Fri Sep 08 18:01:46 CEST 2017 : start... Fri Sep 08 18:01:46 CEST 2017
"100MB data.... with 100KB string"
0
100
101101000
0
100
200
300
400
500
501501000
0
100
200
300
400
500
600
700
701701000
0
100
200
300
400
500
600
700
800
900
901901000
"1GB data.... with 1MB string"
0
100
1010101000
0
100
200
300
400
500
Exception in thread "main" org.jruby.embed.EvalFailedException: java.lang.NegativeArraySizeException
at org.jruby.embed.internal.EmbedEvalUnitImpl.run(EmbedEvalUnitImpl.java:137)
at org.jruby.embed.ScriptingContainer.runUnit(ScriptingContainer.java:1307)
at org.jruby.embed.ScriptingContainer.runScriptlet(ScriptingContainer.java:1300)
at vanilla.TestRedBridge.main1(TestRedBridge.java:44)
at vanilla.TestRedBridge.main(TestRedBridge.java:49)
Caused by: java.lang.NegativeArraySizeException
at org.jruby.util.ByteList.ensure(ByteList.java:341)
at org.jruby.util.io.EncodingUtils.strBufCat(EncodingUtils.java:1702)
at org.jruby.util.io.EncodingUtils.strBufCat(EncodingUtils.java:1687)
at org.jruby.util.io.EncodingUtils.encCrStrBufCat(EncodingUtils.java:1815)
at org.jruby.util.io.EncodingUtils.encCrStrBufCat(EncodingUtils.java:1737)
at org.jruby.RubyString.cat19(RubyString.java:1336)
at org.jruby.RubyString.cat19(RubyString.java:1325)
at org.jruby.RubyString.append19(RubyString.java:2236)
at org.jruby.RubyArray.joinStrings(RubyArray.java:1857)
at org.jruby.RubyArray.join19(RubyArray.java:1949)
at org.jruby.RubyArray$INVOKER$i$join19.call(RubyArray$INVOKER$i$join19.gen)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:338)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:163)
at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315)
at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
at org.jruby.ir.interpreter.Interpreter.INTERPRET_ROOT(Interpreter.java:112)
at org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:99)
at org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:35)
at org.jruby.ir.IRTranslator.execute(IRTranslator.java:42)
at org.jruby.Ruby.runInterpreter(Ruby.java:835)
at org.jruby.Ruby.loadFile(Ruby.java:2872)
at org.jruby.runtime.load.LibrarySearcher$ResourceLibrary.load(LibrarySearcher.java:243)
at org.jruby.runtime.load.LibrarySearcher$FoundLibrary.load(LibrarySearcher.java:34)
at org.jruby.runtime.load.LoadService.load(LoadService.java:342)
at org.jruby.RubyKernel.loadCommon(RubyKernel.java:987)
at org.jruby.RubyKernel.load19(RubyKernel.java:979)
at org.jruby.RubyKernel$INVOKER$s$0$1$load19.call(RubyKernel$INVOKER$s$0$1$load19.gen)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:204)
at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:200)
at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:338)
at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:163)
at org.jruby.ir.interpreter.InterpreterEngine.processCall(InterpreterEngine.java:315)
at org.jruby.ir.interpreter.StartupInterpreterEngine.interpret(StartupInterpreterEngine.java:73)
at org.jruby.ir.interpreter.Interpreter.INTERPRET_ROOT(Interpreter.java:112)
at org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:99)
at org.jruby.ir.interpreter.Interpreter.execute(Interpreter.java:35)
at org.jruby.ir.IRTranslator.execute(IRTranslator.java:42)
at org.jruby.Ruby.runInterpreter(Ruby.java:840)
at org.jruby.Ruby.runInterpreter(Ruby.java:844)
at org.jruby.embed.internal.EmbedEvalUnitImpl.run(EmbedEvalUnitImpl.java:118)
... 4 more
Environment
[actemium@simulateur lib]$ uname -a
Linux simulateur 3.10.0-514.26.2.el7.x86_64 #1 SMP Tue Jul 4 15:04:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
(CENTOS 7 , 64GB RAM...)
[actemium@simulateur lib]$ free
total used free shared buff/cache available
Mem: 65670064 3295072 51641496 272600 10733496 61340148
Swap: 29294588 0 29294588
[actemium@simulateur lib]$ jruby -v
jruby 9.1.7.0 (2.3.1) 2017-01-11 68056ae Java HotSpot(TM) 64-Bit Server VM 25.144-b01 on 1.8.0_144-b01 +jit [linux-x86_64]
[actemium@simulateur lib]$
Hello,
Trying to observe JVM/JRUBY with big Heap, I meet a strange behavior when Join big data.
The Script :
Execution;
Environment
(CENTOS 7 , 64GB RAM...)
Java Code (RedBridge) for call JRuby;
The text was updated successfully, but these errors were encountered: