Skip to content

Instantly share code, notes, and snippets.

nirvdrum@balthasar:~/dev/workspaces/mogotest$ JRUBY_OPTS="-Xcompile.invokedynamic=true -X+C -Xjit.threshold=0" ruby jruby_9k_indy_issue.rb
LoadError: load error: jruby/java/core_ext/module -- java.lang.NullPointerException: null
require at org/jruby/RubyKernel.java:926
__script__ at file:/home/nirvdrum/.rbenv/versions/jruby-9000.dev-SNAPSHOT/lib/jruby.jar!/jruby/java/core_ext.rb:3
require at org/jruby/RubyKernel.java:926
__script__ at file:/home/nirvdrum/.rbenv/versions/jruby-9000.dev-SNAPSHOT/lib/jruby.jar!/jruby/java.rb:40
X = true
1000.times do
raise 'undefined' unless defined?(::X)
end
#
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0x00007f8115a0c65c, pid=28768, tid=140192757708544
#
# JRE version: Java(TM) SE Runtime Environment (8.0_25-b17) (build 1.8.0_25-b17)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.25-b02 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# J 5023 C1 org.jruby.ir.interpreter.Interpreter.extractToMethodToAvoidC2Crash(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/ir/instructions/Instr;Ljava/lang/Throwable;)V (157 bytes) @ 0x00007f8115a0c65c [0x00007f8115a0c620+0x3c]
#
There was a Java::JavaLang::NullPointerException while loading analytics-ruby.gemspec:
org.jruby.ir.interpreter.Interpreter.getEvalContainerScope(Interpreter.java:73)
org.jruby.ir.interpreter.Interpreter.interpretCommonEval(Interpreter.java:85)
org.jruby.ir.interpreter.Interpreter.interpretBindingEval(Interpreter.java:123)
org.jruby.ir.interpreter.Interpreter.evalWithBinding(Interpreter.java:791)
org.jruby.RubyKernel.evalCommon(RubyKernel.java:998)
org.jruby.RubyKernel.eval19(RubyKernel.java:962)
org.jruby.RubyKernel$INVOKER$s$0$3$eval19.call(RubyKernel$INVOKER$s$0$3$eval19.gen)
org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:255)
org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:79)
nirvdrum@balthasar:~/dev/workspaces/mogotest$ bundle exec rake
file:/home/nirvdrum/.rbenv/versions/jruby-9000.dev-SNAPSHOT/lib/jruby.jar!/jruby/kernel/kernel.rb:28 warning: unsupported exec option: close_others
org.jruby.ir.interpreter.Interpreter.getEvalContainerScope(Interpreter.java:74)
org.jruby.ir.interpreter.Interpreter.interpretCommonEval(Interpreter.java:81)
org.jruby.ir.interpreter.Interpreter.interpretBindingEval(Interpreter.java:117)
org.jruby.ir.interpreter.Interpreter.evalWithBinding(Interpreter.java:758)
org.jruby.RubyKernel.evalCommon(RubyKernel.java:998)
org.jruby.RubyKernel.eval19(RubyKernel.java:962)
org.jruby.RubyKernel$INVOKER$s$0$3$eval19.call(RubyKernel$INVOKER$s$0$3$eval19.gen)
nirvdrum@balthasar:~$ JRUBY_OPTS="$JRUBY_OPTS -X+T" ruby -e 'puts 8 * 3'
no current frame found
RubyCallStack.java:136:in `getCallStack': org.jruby.truffle.runtime.control.TruffleFatalException: Exception while trying to build Ruby call stack
from RubyCallStack.java:216:in `getCallStackAsRubyArray'
from TranslatorDriver.java:107:in `parse'
from TruffleBridgeImpl.java:91:in `execute'
from Ruby.java:876:in `runInterpreter'
from Ruby.java:887:in `runInterpreter'
from Ruby.java:743:in `runNormally'
from Ruby.java:563:in `runFromMain'
namespace :deploy do
desc "precompile and deploy the assets to the server"
task :precompile_assets, :roles => :app do
if ENV['SKIP_ASSETS']
run "cp -a #{previous_release}/public/assets #{release_path}/public"
else
run_locally "#{rake} RAILS_ENV=#{rails_env} RAILS_GROUPS=assets assets:precompile"
run "mkdir -p #{release_path}/public/assets"
transfer(:up, "public/assets", "#{release_path}/public/assets", chunk_size: 16_384) { print "." }
@nirvdrum
nirvdrum / deploy-graphite.rb
Last active August 29, 2015 14:03
rubber graphite installation fix (ubuntu 12.04)
namespace :rubber do
namespace :graphite do
rubber.allow_optional_tasks(self)
after "rubber:install_packages", "rubber:graphite:install_collectd_graphite_plugin"
task :install_collectd_graphite_plugin, :roles => :collectd do
@nirvdrum
nirvdrum / gist:11301540
Created April 25, 2014 20:08
elasticsearch.yml
<%
@path = "#{rubber_env.elasticsearch_dir}/config/elasticsearch.yml"
@post = <<-POST
mkdir -p #{rubber_env.elasticsearch_work_dir}
mkdir -p #{rubber_env.elasticsearch_data_dir}
mkdir -p #{rubber_env.elasticsearch_log_dir}
POST
es_servers = rubber_instances.for_role('elasticsearch').collect { |i| "\"#{i.internal_ip}:9300\"" }.join(', ')
-%>
@nirvdrum
nirvdrum / require_speedup.patch
Created April 1, 2014 15:10
WIP implementation of a 'require' speedup for JRuby.
diff --git a/core/src/main/java/org/jruby/runtime/load/LoadService.java b/core/src/main/java/org/jruby/runtime/load/LoadService.java
index a7d5a2c..8462a03 100644
--- a/core/src/main/java/org/jruby/runtime/load/LoadService.java
+++ b/core/src/main/java/org/jruby/runtime/load/LoadService.java
@@ -42,12 +42,7 @@ import java.net.MalformedURLException;
import java.net.URISyntaxException;
import java.net.URI;
import java.net.URL;
-import java.util.ArrayList;
-import java.util.Collections;