text:
High CPU usage in logstash 2.0

Hi, we are using logstash 2.0 to collect logs. But we found it consumed too much CPU resource, over 300% (8 cores).
Here is the config:
input {
    kafka {
        group_id => "logstash"
        topic_id => "logstash"
        zk_connect => "192.168.1.101:2181,192.168.1.102:2181,192.168.1.103:2181/kafkalog"
    }
}

output {
    elasticsearch {
	    hosts => [ "192.168.1.201:9200","192.168.1.202:9200","192.168.1.203:9200"]
        index => "logstash-%{type}-%{+YYYY.MM.dd}"
        index_type => "%{type}"
        workers => 24
        template_overwrite => true
    }
}

Here is the top for logstash process:
45520 admin     20   0 5145m 770m  13m R 95.4  1.2   3919:16 <kafka
16493 admin     20   0 5145m 770m  13m S  9.9  1.2  10:00.87 <kafka
16494 admin     20   0 5145m 770m  13m R  8.0  1.2  10:22.48 <kafka
45611 admin     20   0 5145m 770m  13m S  6.0  1.2 219:50.52 <kafka
45536 admin     20   0 5145m 770m  13m R  4.0  1.2 295:32.40 >output
45548 admin     20   0 5145m 770m  13m S  4.0  1.2 105:37.91 >elasticsearch.
45608 admin     20   0 5145m 770m  13m S  4.0  1.2  47:13.84 >elasticsearch.
45635 admin     20   0 5145m 770m  13m S  4.0  1.2  47:29.15 >elasticsearch.
45638 admin     20   0 5145m 770m  13m S  4.0  1.2  47:09.60 >elasticsearch.
45363 admin     20   0 5145m 770m  13m S  2.0  1.2  88:07.72 java
45364 admin     20   0 5145m 770m  13m S  2.0  1.2  88:04.00 java
45365 admin     20   0 5145m 770m  13m S  2.0  1.2  88:13.39 java
45366 admin     20   0 5145m 770m  13m S  2.0  1.2  88:14.11 java
45367 admin     20   0 5145m 770m  13m S  2.0  1.2  88:12.28 java
45368 admin     20   0 5145m 770m  13m S  2.0  1.2  88:05.51 java
45372 admin     20   0 5145m 770m  13m S  2.0  1.2  39:54.07 java
45373 admin     20   0 5145m 770m  13m S  2.0  1.2  41:29.71 java
45543 admin     20   0 5145m 770m  13m S  2.0  1.2 107:13.18 >elasticsearch.
45544 admin     20   0 5145m 770m  13m S  2.0  1.2 106:05.68 >elasticsearch.
45545 admin     20   0 5145m 770m  13m S  2.0  1.2 105:52.78 >elasticsearch.
45546 admin     20   0 5145m 770m  13m S  2.0  1.2 105:43.77 >elasticsearch.
45549 admin     20   0 5145m 770m  13m S  2.0  1.2 106:16.93 >elasticsearch.
45550 admin     20   0 5145m 770m  13m S  2.0  1.2 105:44.84 >elasticsearch.
45552 admin     20   0 5145m 770m  13m S  2.0  1.2 106:15.47 >elasticsearch.
45554 admin     20   0 5145m 770m  13m S  2.0  1.2 106:38.47 >elasticsearch.
45555 admin     20   0 5145m 770m  13m S  2.0  1.2 106:31.77 >elasticsearch.
45557 admin     20   0 5145m 770m  13m S  2.0  1.2 105:34.25 >elasticsearch.
45558 admin     20   0 5145m 770m  13m R  2.0  1.2 105:55.13 >elasticsearch.
45561 admin     20   0 5145m 770m  13m S  2.0  1.2 106:28.72 >elasticsearch.
45562 admin     20   0 5145m 770m  13m S  2.0  1.2 106:50.73 >elasticsearch.

Here is the jstack of thread-id 45520:
"<kafka" daemon prio=10 tid=0x00007ff37435b800 nid=0xb1d0 runnable [0x00007ff37bbe6000]
   java.lang.Thread.State: RUNNABLE
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:134)
        at rubyjit.LogStash::Inputs::Base$$stop?_5ecc17de0faba55421c72ac5c66b2d232a0c2171273061103.__file__(/home/admin/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.0.0-java/lib/logstash/inputs/base.rb:89)
        at rubyjit.LogStash::Inputs::Base$$stop?_5ecc17de0faba55421c72ac5c66b2d232a0c2171273061103.__file__(/home/admin/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.0.0-java/lib/logstash/inputs/base.rb)
        at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:141)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:134)
        at org.jruby.ast.FCallNoArgNode.interpret(FCallNoArgNode.java:31)
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60)
        at org.jruby.ast.WhileNode.interpret(WhileNode.java:127)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:221)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:116)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:182)
        at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:203)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)
        at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
        at org.jruby.ast.RescueNode.executeBody(RescueNode.java:221)
        at org.jruby.ast.RescueNode.interpret(RescueNode.java:116)
        at org.jruby.ast.EnsureNode.interpret(EnsureNode.java:96)
        at org.jruby.ast.BeginNode.interpret(BeginNode.java:83)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)
        at org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:182)
        at org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:203)
        at org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(CachingCallSite.java:326)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:170)
        at org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
        at org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)
        at org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:206)
        at org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:194)
        at org.jruby.runtime.Interpreted19Block.call(Interpreted19Block.java:125)
        at org.jruby.runtime.Block.call(Block.java:101)
        at org.jruby.RubyProc.call(RubyProc.java:290)
        at org.jruby.RubyProc.call(RubyProc.java:228)
        at org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:99)
        at java.lang.Thread.run(Thread.java:745)

@caipeichao are there any warning messages on your logs?

I am seeing this too
Threads: 159 total,  11 running, 148 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.4 us,  0.9 sy, 95.3 ni,  2.7 id,  0.0 wa,  0.0 hi,  0.6 si,  0.0 st
KiB Mem:   3801036 total,  1215884 used,  2585152 free,   107080 buffers
KiB Swap:        0 total,        0 used,        0 free.   613808 cached Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
 4028 logstash  39  19 4465452 319472  19056 R 13.1  8.4   1:41.32 <kafka
 4029 logstash  39  19 4465452 319472  19056 R 13.1  8.4   1:41.28 <kafka
 4030 logstash  39  19 4465452 319472  19056 R 13.1  8.4   1:47.25 <kafka
 4031 logstash  39  19 4465452 319472  19056 R 13.1  8.4   1:41.28 <kafka
 4032 logstash  39  19 4465452 319472  19056 R 13.1  8.4   1:41.18 <kafka
 4033 logstash  39  19 4465452 319472  19056 R 13.1  8.4   1:41.29 <kafka
 4034 logstash  39  19 4465452 319472  19056 R 13.1  8.4   1:41.20 <kafka
 4663 logstash  39  19 4465452 319472  19056 S  6.6  8.4   0:00.37 <kafka
 4670 logstash  39  19 4465452 319472  19056 S  6.6  8.4   0:00.38 <kafka
 3992 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:00.00 java
 4006 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:04.60 LogStash::Runne
 4007 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:00.00 java
 4008 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:02.11 java
 4009 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:07.26 java
 4010 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:00.05 java
 4011 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:00.01 java
 4012 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:00.00 java
 4013 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:00.00 java
 4014 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:32.82 java
 4015 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:07.53 java
 4016 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:00.00 java
 4017 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:00.65 java
 4024 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:00.00 java
 4025 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:02.38 LogStash::Runne
 4027 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:00.00 LogStash::Runne
 4038 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:00.12 <kafka
 4039 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:00.10 <kafka
 4040 logstash  39  19 4465452 319472  19056 S  0.0  8.4   0:01.89 |filterworker.

Thread 4034: (state = BLOCKED)
 - org.jruby.RubyString.newUTF8String(org.jruby.Ruby, java.lang.String) @bci=16, line=544 (Compiled frame)
 - org.jruby.RubyString.newUnicodeString(org.jruby.Ruby, java.lang.String) @bci=20, line=538 (Compiled frame)
 - com.jrjackson.RubyUtils.rubyString(org.jruby.Ruby, java.lang.String) @bci=2, line=41 (Compiled frame)
 - com.jrjackson.RubyStringNameConverter.convert(org.jruby.Ruby, java.lang.String) @bci=2, line=10 (Compiled frame)
 - com.jrjackson.RubyHandler.hashKey(java.lang.String) @bci=9, line=56 (Compiled frame)
 - com.jrjackson.JrParse.callHashKey(com.fasterxml.jackson.core.JsonStreamContext) @bci=22, line=83 (Compiled frame)
 - com.jrjackson.JrParse.callAddValue(com.fasterxml.jackson.core.JsonStreamContext, org.jruby.runtime.builtin.IRubyObject) @bci=57, line=71 (Compiled frame)
 - com.jrjackson.RubyHandler.treatString(com.fasterxml.jackson.core.JsonParser) @bci=9, line=96 (Compiled frame)
 - com.jrjackson.JrParse.handleCurrentToken(com.fasterxml.jackson.core.JsonParser) @bci=156, line=111 (Compiled frame)
 - com.jrjackson.JrParse.deserialize(com.fasterxml.jackson.core.JsonParser) @bci=9, line=31 (Compiled frame)
 - com.jrjackson.JrJacksonRuby.__parse(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, com.jrjackson.RubyNameConverter, com.jrjackson.RubyConverter, com.jrjackson.RubyConverter) @bci=68, line=113 (Compiled frame)
 - com.jrjackson.JrJacksonRuby.parse(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=138, line=63 (Compiled frame)
 - com.jrjackson.JrJacksonRuby$INVOKER$s$2$0$parse.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=6 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=40, line=202 (Compiled frame)
 - rubyjit.LogStash::Json$$jruby_load_d1327f24790a049fc38cd186bbd8240006a83e981028566121.chained_0_rescue_1$RUBY$SYNTHETIC__file__(rubyjit.LogStash::Json$$jruby_load_d1327f24790a049fc38cd186bbd8240006a83e981028566121, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block) @bci=58, line=38 (Compiled frame)
 - rubyjit.LogStash::Json$$jruby_load_d1327f24790a049fc38cd186bbd8240006a83e981028566121.__file__(rubyjit.LogStash::Json$$jruby_load_d1327f24790a049fc38cd186bbd8240006a83e981028566121, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block) @bci=72 (Compiled frame)
 - rubyjit.LogStash::Json$$jruby_load_d1327f24790a049fc38cd186bbd8240006a83e981028566121.__file__(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block) @bci=6 (Compiled frame)
 - org.jruby.ast.executable.AbstractScript.__file__(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=13, line=42 (Compiled frame)
 - org.jruby.internal.runtime.methods.JittedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=35, line=181 (Compiled frame)
 - org.jruby.internal.runtime.methods.DefaultMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=40, line=206 (Compiled frame)
 - org.jruby.internal.runtime.methods.AliasMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=13, line=61 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=38, line=168 (Compiled frame)
 - rubyjit.LogStash::Codecs::JSON$$decode_0583bafe20dcf5e4ae48ab2622babfda5eaaf8bf1028566121.chained_0_rescue_1$RUBY$SYNTHETIC__file__(rubyjit.LogStash::Codecs::JSON$$decode_0583bafe20dcf5e4ae48ab2622babfda5eaaf8bf1028566121, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=51, line=42 (Compiled frame)
 - rubyjit.LogStash::Codecs::JSON$$decode_0583bafe20dcf5e4ae48ab2622babfda5eaaf8bf1028566121.__file__(rubyjit.LogStash::Codecs::JSON$$decode_0583bafe20dcf5e4ae48ab2622babfda5eaaf8bf1028566121, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=52, line=41 (Compiled frame)
 - rubyjit.LogStash::Codecs::JSON$$decode_0583bafe20dcf5e4ae48ab2622babfda5eaaf8bf1028566121.__file__(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=6 (Compiled frame)
 - org.jruby.internal.runtime.methods.JittedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=201 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.callBlock(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=40, line=177 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.callIter(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=8, line=188 (Compiled frame)
 - rubyjit.LogStash::Inputs::Kafka$$queue_event_5c3938086d9dc3a9a8fcf149a74f4eb21b3ade7c1028566121.chained_0_rescue_1$RUBY$SYNTHETIC__file__(rubyjit.LogStash::Inputs::Kafka$$queue_event_5c3938086d9dc3a9a8fcf149a74f4eb21b3ade7c1028566121, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=83, line=171 (Compiled frame)
 - rubyjit.LogStash::Inputs::Kafka$$queue_event_5c3938086d9dc3a9a8fcf149a74f4eb21b3ade7c1028566121.__file__(rubyjit.LogStash::Inputs::Kafka$$queue_event_5c3938086d9dc3a9a8fcf149a74f4eb21b3ade7c1028566121, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=31, line=170 (Compiled frame)
 - rubyjit.LogStash::Inputs::Kafka$$queue_event_5c3938086d9dc3a9a8fcf149a74f4eb21b3ade7c1028566121.__file__(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=8 (Compiled frame)
 - org.jruby.internal.runtime.methods.JittedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=37, line=221 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=40, line=202 (Compiled frame)
 - org.jruby.ast.FCallTwoArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=31, line=38 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.ast.IfNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=71, line=116 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.WhileNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=46, line=131 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.ast.RescueNode.executeBody(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=21, line=221 (Compiled frame)
 - org.jruby.ast.RescueNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=26, line=116 (Compiled frame)
 - org.jruby.ast.BeginNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=9, line=83 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.RubyModule, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean) @bci=30, line=74 (Compiled frame)
 - org.jruby.internal.runtime.methods.InterpretedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=82, line=182 (Compiled frame)
 - org.jruby.internal.runtime.methods.DefaultMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=22, line=203 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=38, line=168 (Compiled frame)
 - org.jruby.ast.CallOneArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=30, line=57 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.RescueNode.executeBody(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=21, line=221 (Compiled frame)
 - org.jruby.ast.RescueNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=26, line=116 (Compiled frame)
 - org.jruby.ast.EnsureNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=16, line=96 (Interpreted frame)
 - org.jruby.ast.BeginNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=9, line=83 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.RubyModule, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean) @bci=30, line=74 (Compiled frame)
 - org.jruby.internal.runtime.methods.InterpretedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=82, line=182 (Compiled frame)
 - org.jruby.internal.runtime.methods.DefaultMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=22, line=203 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=38, line=168 (Compiled frame)
 - org.jruby.ast.FCallOneArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=19, line=36 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=30, line=112 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.evalBlockBody(org.jruby.runtime.ThreadContext, org.jruby.runtime.Binding, org.jruby.runtime.builtin.IRubyObject) @bci=25, line=206 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.yield(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, boolean, org.jruby.runtime.Binding, org.jruby.runtime.Block$Type, org.jruby.runtime.Block) @bci=51, line=194 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Binding, org.jruby.runtime.Block$Type, org.jruby.runtime.Block) @bci=16, line=125 (Compiled frame)
 - org.jruby.runtime.Block.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block) @bci=15, line=101 (Compiled frame)
 - org.jruby.RubyProc.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=68, line=300 (Compiled frame)
 - org.jruby.RubyProc.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]) @bci=7, line=230 (Interpreted frame)
 - org.jruby.internal.runtime.RubyRunnable.run() @bci=146, line=99 (Interpreted frame)
 - java.lang.Thread.run() @bci=11, line=745 (Interpreted frame)

Locked ownable synchronizers:
    - None

Thread 4033: (state = IN_JAVA)
 - org.jruby.ast.CallNoArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=15, line=60 (Compiled frame; information may be imprecise)
 - org.jruby.ast.CallNoArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=15, line=60 (Compiled frame)
 - org.jruby.ast.IfNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=110 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.WhileNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=46, line=131 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.ast.RescueNode.executeBody(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=21, line=221 (Compiled frame)
 - org.jruby.ast.RescueNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=26, line=116 (Compiled frame)
 - org.jruby.ast.BeginNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=9, line=83 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.RubyModule, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean) @bci=30, line=74 (Compiled frame)
 - org.jruby.internal.runtime.methods.InterpretedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=82, line=182 (Compiled frame)
 - org.jruby.internal.runtime.methods.DefaultMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=22, line=203 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=38, line=168 (Compiled frame)
 - org.jruby.ast.CallOneArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=30, line=57 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.RescueNode.executeBody(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=21, line=221 (Compiled frame)
 - org.jruby.ast.RescueNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=26, line=116 (Compiled frame)
 - org.jruby.ast.EnsureNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=16, line=96 (Interpreted frame)
 - org.jruby.ast.BeginNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=9, line=83 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.RubyModule, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean) @bci=30, line=74 (Compiled frame)
 - org.jruby.internal.runtime.methods.InterpretedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=82, line=182 (Compiled frame)
 - org.jruby.internal.runtime.methods.DefaultMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=22, line=203 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=38, line=168 (Compiled frame)
 - org.jruby.ast.FCallOneArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=19, line=36 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=30, line=112 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.evalBlockBody(org.jruby.runtime.ThreadContext, org.jruby.runtime.Binding, org.jruby.runtime.builtin.IRubyObject) @bci=25, line=206 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.yield(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, boolean, org.jruby.runtime.Binding, org.jruby.runtime.Block$Type, org.jruby.runtime.Block) @bci=51, line=194 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Binding, org.jruby.runtime.Block$Type, org.jruby.runtime.Block) @bci=16, line=125 (Compiled frame)
 - org.jruby.runtime.Block.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block) @bci=15, line=101 (Compiled frame)
 - org.jruby.RubyProc.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=68, line=300 (Compiled frame)
 - org.jruby.RubyProc.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]) @bci=7, line=230 (Interpreted frame)
 - org.jruby.internal.runtime.RubyRunnable.run() @bci=146, line=99 (Interpreted frame)
 - java.lang.Thread.run() @bci=11, line=745 (Interpreted frame)

Locked ownable synchronizers:
    - None

Thread 4032: (state = IN_JAVA)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame; information may be imprecise)
 - org.jruby.ast.WhileNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=46, line=131 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.ast.RescueNode.executeBody(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=21, line=221 (Compiled frame)
 - org.jruby.ast.RescueNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=26, line=116 (Compiled frame)
 - org.jruby.ast.BeginNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=9, line=83 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.RubyModule, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean) @bci=30, line=74 (Compiled frame)
 - org.jruby.internal.runtime.methods.InterpretedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=82, line=182 (Compiled frame)
 - org.jruby.internal.runtime.methods.DefaultMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=22, line=203 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyClass, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=57, line=326 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=50, line=170 (Compiled frame)
 - org.jruby.ast.CallOneArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=30, line=57 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.RescueNode.executeBody(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=21, line=221 (Compiled frame)
 - org.jruby.ast.RescueNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=26, line=116 (Compiled frame)
 - org.jruby.ast.EnsureNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=16, line=96 (Interpreted frame)
 - org.jruby.ast.BeginNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=9, line=83 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.RubyModule, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean) @bci=30, line=74 (Compiled frame)
 - org.jruby.internal.runtime.methods.InterpretedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=82, line=182 (Compiled frame)
 - org.jruby.internal.runtime.methods.DefaultMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=22, line=203 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyClass, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=57, line=326 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=50, line=170 (Compiled frame)
 - org.jruby.ast.FCallOneArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=19, line=36 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=30, line=112 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.evalBlockBody(org.jruby.runtime.ThreadContext, org.jruby.runtime.Binding, org.jruby.runtime.builtin.IRubyObject) @bci=25, line=206 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.yield(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, boolean, org.jruby.runtime.Binding, org.jruby.runtime.Block$Type, org.jruby.runtime.Block) @bci=51, line=194 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Binding, org.jruby.runtime.Block$Type, org.jruby.runtime.Block) @bci=16, line=125 (Compiled frame)
 - org.jruby.runtime.Block.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block) @bci=15, line=101 (Compiled frame)
 - org.jruby.RubyProc.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=68, line=300 (Compiled frame)
 - org.jruby.RubyProc.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]) @bci=7, line=230 (Interpreted frame)
 - org.jruby.internal.runtime.RubyRunnable.run() @bci=146, line=99 (Interpreted frame)
 - java.lang.Thread.run() @bci=11, line=745 (Interpreted frame)

Locked ownable synchronizers:
    - None

Thread 4031: (state = IN_JAVA)
 - org.jruby.ast.executable.RuntimeCache.getVariable(org.jruby.runtime.ThreadContext, int, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=6, line=186 (Compiled frame; information may be imprecise)
 - org.jruby.ast.executable.AbstractScript.getVariable0(org.jruby.runtime.ThreadContext, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=8, line=262 (Compiled frame)
 - rubyjit.LogStash::Inputs::Base$$stop?_5ecc17de0faba55421c72ac5c66b2d232a0c21711028566121.__file__(rubyjit.LogStash::Inputs::Base$$stop?_5ecc17de0faba55421c72ac5c66b2d232a0c21711028566121, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=11, line=89 (Compiled frame)
 - rubyjit.LogStash::Inputs::Base$$stop?_5ecc17de0faba55421c72ac5c66b2d232a0c21711028566121.__file__(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=4 (Compiled frame)
 - org.jruby.internal.runtime.methods.JittedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String) @bci=33, line=141 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=36, line=134 (Compiled frame)
 - org.jruby.ast.FCallNoArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=7, line=31 (Compiled frame)
 - org.jruby.ast.CallNoArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=15, line=60 (Compiled frame)
 - org.jruby.ast.WhileNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=23, line=127 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.ast.RescueNode.executeBody(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=21, line=221 (Compiled frame)
 - org.jruby.ast.RescueNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=26, line=116 (Compiled frame)
 - org.jruby.ast.BeginNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=9, line=83 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.RubyModule, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean) @bci=30, line=74 (Compiled frame)
 - org.jruby.internal.runtime.methods.InterpretedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=82, line=182 (Compiled frame)
 - org.jruby.internal.runtime.methods.DefaultMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=22, line=203 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=38, line=168 (Compiled frame)
 - org.jruby.ast.CallOneArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=30, line=57 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.RescueNode.executeBody(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=21, line=221 (Compiled frame)
 - org.jruby.ast.RescueNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=26, line=116 (Compiled frame)
 - org.jruby.ast.EnsureNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=16, line=96 (Interpreted frame)
 - org.jruby.ast.BeginNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=9, line=83 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.RubyModule, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean) @bci=30, line=74 (Compiled frame)
 - org.jruby.internal.runtime.methods.InterpretedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=82, line=182 (Compiled frame)
 - org.jruby.internal.runtime.methods.DefaultMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=22, line=203 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=38, line=168 (Compiled frame)
 - org.jruby.ast.FCallOneArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=19, line=36 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=30, line=112 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.evalBlockBody(org.jruby.runtime.ThreadContext, org.jruby.runtime.Binding, org.jruby.runtime.builtin.IRubyObject) @bci=25, line=206 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.yield(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, boolean, org.jruby.runtime.Binding, org.jruby.runtime.Block$Type, org.jruby.runtime.Block) @bci=51, line=194 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Binding, org.jruby.runtime.Block$Type, org.jruby.runtime.Block) @bci=16, line=125 (Compiled frame)
 - org.jruby.runtime.Block.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block) @bci=15, line=101 (Compiled frame)
 - org.jruby.RubyProc.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=68, line=300 (Compiled frame)
 - org.jruby.RubyProc.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]) @bci=7, line=230 (Interpreted frame)
 - org.jruby.internal.runtime.RubyRunnable.run() @bci=146, line=99 (Interpreted frame)
 - java.lang.Thread.run() @bci=11, line=745 (Interpreted frame)

Locked ownable synchronizers:
    - None

Thread 4030: (state = IN_JAVA)
Error occurred during stack walking:
java.lang.NullPointerException
	at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:88)
	at sun.jvm.hotspot.tools.StackTrace.run(StackTrace.java:45)
	at sun.jvm.hotspot.tools.JStack.run(JStack.java:66)
	at sun.jvm.hotspot.tools.Tool.startInternal(Tool.java:260)
	at sun.jvm.hotspot.tools.Tool.start(Tool.java:223)
	at sun.jvm.hotspot.tools.Tool.execute(Tool.java:118)
	at sun.jvm.hotspot.tools.JStack.main(JStack.java:92)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:497)
	at sun.tools.jstack.JStack.runJStackTool(JStack.java:140)
	at sun.tools.jstack.JStack.main(JStack.java:106)

Locked ownable synchronizers:
    - None

Thread 4029: (state = IN_JAVA)
 - org.jruby.internal.runtime.methods.JittedMethod.post(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String) @bci=5, line=300 (Compiled frame; information may be imprecise)
 - org.jruby.internal.runtime.methods.JittedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String) @bci=46, line=149 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=36, line=134 (Compiled frame)
 - org.jruby.ast.FCallNoArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=7, line=31 (Compiled frame)
 - org.jruby.ast.CallNoArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=15, line=60 (Compiled frame)
 - org.jruby.ast.WhileNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=23, line=127 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.ast.RescueNode.executeBody(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=21, line=221 (Compiled frame)
 - org.jruby.ast.RescueNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=26, line=116 (Compiled frame)
 - org.jruby.ast.BeginNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=9, line=83 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.RubyModule, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean) @bci=30, line=74 (Compiled frame)
 - org.jruby.internal.runtime.methods.InterpretedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=82, line=182 (Compiled frame)
 - org.jruby.internal.runtime.methods.DefaultMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=22, line=203 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=38, line=168 (Compiled frame)
 - org.jruby.ast.CallOneArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=30, line=57 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.RescueNode.executeBody(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=21, line=221 (Compiled frame)
 - org.jruby.ast.RescueNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=26, line=116 (Compiled frame)
 - org.jruby.ast.EnsureNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=16, line=96 (Interpreted frame)
 - org.jruby.ast.BeginNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=9, line=83 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.RubyModule, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean) @bci=30, line=74 (Compiled frame)
 - org.jruby.internal.runtime.methods.InterpretedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=82, line=182 (Compiled frame)
 - org.jruby.internal.runtime.methods.DefaultMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=22, line=203 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=38, line=168 (Compiled frame)
 - org.jruby.ast.FCallOneArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=19, line=36 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=30, line=112 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.evalBlockBody(org.jruby.runtime.ThreadContext, org.jruby.runtime.Binding, org.jruby.runtime.builtin.IRubyObject) @bci=25, line=206 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.yield(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, boolean, org.jruby.runtime.Binding, org.jruby.runtime.Block$Type, org.jruby.runtime.Block) @bci=51, line=194 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Binding, org.jruby.runtime.Block$Type, org.jruby.runtime.Block) @bci=16, line=125 (Compiled frame)
 - org.jruby.runtime.Block.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block) @bci=15, line=101 (Compiled frame)
 - org.jruby.RubyProc.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=68, line=300 (Compiled frame)
 - org.jruby.RubyProc.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]) @bci=7, line=230 (Interpreted frame)
 - org.jruby.internal.runtime.RubyRunnable.run() @bci=146, line=99 (Interpreted frame)
 - java.lang.Thread.run() @bci=11, line=745 (Interpreted frame)

Locked ownable synchronizers:
    - None

Thread 4028: (state = IN_JAVA)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=36, line=134 (Compiled frame; information may be imprecise)
 - org.jruby.ast.CallNoArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=18, line=60 (Compiled frame)
 - org.jruby.ast.WhileNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=23, line=127 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.ast.RescueNode.executeBody(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=21, line=221 (Compiled frame)
 - org.jruby.ast.RescueNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=26, line=116 (Compiled frame)
 - org.jruby.ast.BeginNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=9, line=83 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.RubyModule, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean) @bci=30, line=74 (Compiled frame)
 - org.jruby.internal.runtime.methods.InterpretedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=82, line=182 (Compiled frame)
 - org.jruby.internal.runtime.methods.DefaultMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=22, line=203 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyClass, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=57, line=326 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=50, line=170 (Compiled frame)
 - org.jruby.ast.CallOneArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=30, line=57 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.RescueNode.executeBody(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=21, line=221 (Compiled frame)
 - org.jruby.ast.RescueNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=26, line=116 (Compiled frame)
 - org.jruby.ast.EnsureNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=16, line=96 (Interpreted frame)
 - org.jruby.ast.BeginNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=9, line=83 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.ast.BlockNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=33, line=71 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.RubyModule, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block, boolean) @bci=30, line=74 (Compiled frame)
 - org.jruby.internal.runtime.methods.InterpretedMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=82, line=182 (Compiled frame)
 - org.jruby.internal.runtime.methods.DefaultMethod.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, java.lang.String, org.jruby.runtime.builtin.IRubyObject) @bci=22, line=203 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.cacheAndCall(org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyClass, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=57, line=326 (Compiled frame)
 - org.jruby.runtime.callsite.CachingCallSite.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject) @bci=50, line=170 (Compiled frame)
 - org.jruby.ast.FCallOneArgNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=19, line=36 (Compiled frame)
 - org.jruby.ast.NewlineNode.interpret(org.jruby.Ruby, org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=41, line=105 (Compiled frame)
 - org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(org.jruby.Ruby, org.jruby.runtime.ThreadContext, java.lang.String, int, org.jruby.ast.Node, java.lang.String, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=30, line=112 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.evalBlockBody(org.jruby.runtime.ThreadContext, org.jruby.runtime.Binding, org.jruby.runtime.builtin.IRubyObject) @bci=25, line=206 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.yield(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject, org.jruby.RubyModule, boolean, org.jruby.runtime.Binding, org.jruby.runtime.Block$Type, org.jruby.runtime.Block) @bci=51, line=194 (Compiled frame)
 - org.jruby.runtime.Interpreted19Block.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Binding, org.jruby.runtime.Block$Type, org.jruby.runtime.Block) @bci=16, line=125 (Compiled frame)
 - org.jruby.runtime.Block.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.Block) @bci=15, line=101 (Compiled frame)
 - org.jruby.RubyProc.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[], org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.Block) @bci=68, line=300 (Compiled frame)
 - org.jruby.RubyProc.call(org.jruby.runtime.ThreadContext, org.jruby.runtime.builtin.IRubyObject[]) @bci=7, line=230 (Interpreted frame)
 - org.jruby.internal.runtime.RubyRunnable.run() @bci=146, line=99 (Interpreted frame)
 - java.lang.Thread.run() @bci=11, line=745 (Interpreted frame)

Logs have no warning in them. However it warns when trying to restart logstash
{:timestamp=>"2015-12-14T18:42:06.192000+0000", :level=>:warn, "INFLIGHT_EVENT_COUNT"=>{"total"=>0}, "STALLING_THREADS"=>{["LogStash::Inputs::Kafka", {"zk_connect"=>"zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181", "topic_id"=>"prod_logs", "consumer_threads"=>1, "consumer_restart_on_error"=>"true", "consumer_restart_sleep_ms"=>100, "decorate_events"=>"true", "type"=>"prod_logs"}]=>[{"thread_id"=>20, "name"=>"<kafka", "current_call"=>"[...]/vendor/bundle/jruby/1.9/gems/logstash-core-2.1.1-java/lib/logstash/inputs/base.rb:89:in `stop?'"}], ["LogStash::Inputs::Kafka", {"zk_connect"=>"zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181", "topic_id"=>"prod_exchange_logs", "consumer_threads"=>1, "consumer_restart_on_error"=>"true", "consumer_restart_sleep_ms"=>100, "decorate_events"=>"true", "type"=>"prod_ex_logs"}]=>[{"thread_id"=>21, "name"=>"<kafka", "current_call"=>"[...]/vendor/bundle/jruby/1.9/gems/logstash-input-kafka-2.0.2/lib/logstash/inputs/kafka.rb:139:in `run'"}], ["LogStash::Inputs::Kafka", {"zk_connect"=>"zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181", "topic_id"=>"staging_logs", "consumer_threads"=>1, "consumer_restart_on_error"=>"true", "consumer_restart_sleep_ms"=>100, "decorate_events"=>"true", "type"=>"staging_logs"}]=>[{"thread_id"=>22, "name"=>"<kafka", "current_call"=>"[...]/vendor/bundle/jruby/1.9/gems/logstash-input-kafka-2.0.2/lib/logstash/inputs/kafka.rb:139:in `run'"}], ["LogStash::Inputs::Kafka", {"zk_connect"=>"zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181", "topic_id"=>"staging_exchange_logs", "consumer_threads"=>1, "consumer_restart_on_error"=>"true", "consumer_restart_sleep_ms"=>100, "decorate_events"=>"true", "type"=>"staging_ex_logs"}]=>[{"thread_id"=>23, "name"=>"<kafka", "current_call"=>"[...]/vendor/bundle/jruby/1.9/gems/logstash-core-2.1.1-java/lib/logstash/inputs/base.rb:89:in `stop?'"}]}}
{:timestamp=>"2015-12-14T18:42:11.079000+0000", :level=>:warn, "INFLIGHT_EVENT_COUNT"=>{"total"=>0}, "STALLING_THREADS"=>{["LogStash::Inputs::Kafka", {"zk_connect"=>"zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181", "topic_id"=>"staging_exchange_logs", "consumer_threads"=>1, "consumer_restart_on_error"=>"true", "consumer_restart_sleep_ms"=>100, "decorate_events"=>"true", "type"=>"staging_ex_logs"}]=>[{"thread_id"=>23, "name"=>"<kafka", "current_call"=>"[...]/vendor/bundle/jruby/1.9/gems/logstash-input-kafka-2.0.2/lib/logstash/inputs/kafka.rb:139:in `run'"}]}}
{:timestamp=>"2015-12-14T18:42:16.085000+0000", :level=>:warn, "INFLIGHT_EVENT_COUNT"=>{"total"=>0}, "STALLING_THREADS"=>{["LogStash::Inputs::Kafka", {"zk_connect"=>"zookeeper-1:2181,zookeeper-2:2181,zookeeper-3:2181", "topic_id"=>"staging_exchange_logs", "consumer_threads"=>1, "consumer_restart_on_error"=>"true", "consumer_restart_sleep_ms"=>100, "decorate_events"=>"true", "type"=>"staging_ex_logs"}]=>[{"thread_id"=>23, "name"=>"<kafka", "current_call"=>"[...]/vendor/bundle/jruby/1.9/gems/logstash-input-kafka-2.0.2/lib/logstash/inputs/kafka.rb:139:in `run'"}]}}
{:timestamp=>"2015-12-14T18:42:16.108000+0000", :message=>"The shutdown process appears to be stalled due to busy or blocked plugins. Check the logs for more information.", :level=>:error}

Still verifying... but this may resolve the issue: https://github.com/logstash-plugins/logstash-input-kafka/pull/54. From the stacktraces, it looks like the topic has no new messages to read, and is calling stop? in a loop.

downgrading to 1.5 brought it back to normal.

Folks, we just fixed the issue. Can you upgrade to 2.0.3 of this plugin?
bin/plugin install --version 2.0.3 logstash-input-kafka

We'll do a LS release soon as soon as we verify this fixes it. Thanks!

@r-tock @caipeichao please let us know if this new version fixes CPU usage

CPU issue seems to have been solved. But I am seeing continually increasing lag in the kafka consumer. We have 20 partitions per topic. Some of the partitions are not being read since the update

I restarted logstash again, now the consumer has caught up. And lag is near 0 most of the time. I will keep an eye for this lag

And one more note, the average cpu usage on the node is 13% for my setup with 2.1. With 1.5 the average cpu usage was 6%. There is more that could be done to tune this further

@r-tock in 2.1, we defaulted the number of filter workers to be based on CPU cores on the machine. So half the number of cores go to filters - this could be another reason why you are seeing a CPU spike.
Did you set -w flag previously?

This is a single cpu node.

Thanks a lot.
I have upgraded to 2.0.3. Now it got much better.
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
18139 admin     20   0 4931m 616m  14m R 39.2  1.0  25:14.06 <kafka
18191 admin     20   0 4931m 616m  14m S 13.3  1.0   6:49.61 <kafka
18192 admin     20   0 4931m 616m  14m S 12.3  1.0   6:20.63 <kafka
18142 admin     20   0 4931m 616m  14m S  9.3  1.0   5:53.85 |worker
18143 admin     20   0 4931m 616m  14m S  9.3  1.0   5:50.60 |worker
18140 admin     20   0 4931m 616m  14m S  9.0  1.0   5:52.71 |worker
18141 admin     20   0 4931m 616m  14m S  9.0  1.0   5:50.15 |worker
18154 admin     20   0 4931m 616m  14m S  9.0  1.0   5:47.12 >output
18190 admin     20   0 4931m 616m  14m S  7.3  1.0   4:40.52 <kafka
17924 admin     20   0 4931m 616m  14m S  2.0  1.0   0:54.70 java

jstack shows the thread 18139 is waiting on object monitor:
"<kafka" daemon prio=10 tid=0x00007fa9804b0800 nid=0x46db in Object.wait() [0x00007fa9b526f000]
   java.lang.Thread.State: WAITING (on object monitor)
        at java.lang.Object.wait(Native Method)
        at java.lang.Object.wait(Object.java:461)
        at org.jruby.RubyThread$SleepTask.run(RubyThread.java:1050)
        - locked <0x00000000eb78a558> (a org.jruby.ext.thread.SizedQueue)
        at org.jruby.RubyThread.executeBlockingTask(RubyThread.java:1066)
        at org.jruby.RubyThread.wait_timeout(RubyThread.java:1414)
        at org.jruby.ext.thread.Queue.pop(Queue.java:152)
        - locked <0x00000000eb78a558> (a org.jruby.ext.thread.SizedQueue)
        at org.jruby.ext.thread.Queue.pop(Queue.java:127)
        - eliminated <0x00000000eb78a558> (a org.jruby.ext.thread.SizedQueue)
        at org.jruby.ext.thread.SizedQueue.pop(SizedQueue.java:111)
        - locked <0x00000000eb78a558> (a org.jruby.ext.thread.SizedQueue)
        at org.jruby.ext.thread.SizedQueue$INVOKER$i$pop.call(SizedQueue$INVOKER$i$pop.gen)
        at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:134)
        at org.jruby.ast.CallNoArgNode.interpret(CallNoArgNode.java:60)
        at org.jruby.ast.LocalAsgnNode.interpret(LocalAsgnNode.java:123)
        at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
        at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)

2.0.3 has helped fix high CPU issue. However, the process it not responding to kill command. Not even kill -3. Had to do kill -9. Memory consumption looks quite high as well.
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
7674 root      18   0 2679m 356m  15m S  0.7  9.0 540:36.68 java

@oazabir thanks for the feedback.  Keep an eye on #62 for the other problem.

authors: caipeichao joekiller jsvd oazabir r-tock suyograo talevy

repo: logstash-plugins/logstash-input-kafka


text:
Add --log-level flag and use boost trivial logger

Allows to specify --log-level trace/debug/info/warning/error/fatal optionally (default: info)
Ran clang-format so there are some noisy styling changes, sorry.
Please review the log level used for each message and if I could add more messages.

Resolves #22

source: gharchive/pull-request

repo: loki-project/loki-storage-server

license: MIT

license_type: permissive

license_source: github-api


text:
not able to login anymore

I noticed today that I'm not able to login anymore. I get the error "You are not supposed to be here".
I tried login in on the website manually with the same login/password, working without a problem.
Is this something on my side or did DeGiro change something in the API?

Yeah, I guess 4 issues opened on that wasn't enough. We need more.
See #56

OMG, I feel stupid!
I'm new to GitHub and it searched only the 'open'  issues.  Thx for this quick heads up

source: gharchive/issue

authors: Jakub-CZ brogel

repo: lolokraus/DegiroAPI


text:
Read CORS settings from configuration file

Use the same pattern as in akka.http.impl.settings.ServerSettingsImpl to load the settings from a .conf file.
Provide a reference.conf with default values.

Have you been work on this? I think I could try to implement it. :)

@jiminhsieh I already started working on this, but got caught on something else.
I will clean the code a bit and push it to a feature branch this way we can discuss how to finish it.

I just thought if you have not been working on this, I could try to help it. :)

Release version 0.3.0 with this improvement.

authors: jiminhsieh lomigmegard

repo: lomigmegard/akka-http-cors

license_source: bigquery


text:
Destinations beta opt-out banner

Adds a banner to top of page that allows Destinations Next beta users to opt out and return to the original experience. Also has a 'close' button that will hide the banner and set a cookie to prevent showing the banner again.

authors: JoeShep edubkendo

repo: lonelyplanet/rizzo-next

license: mit


text:
🛑 小程序 - 个股详情页面 (via longbridgeapp.com) is down

In 5932816, 小程序 - 个股详情页面 (via longbridgeapp.com) (https://longbridgeapp.com/quote/00700.HK?source_app=longbridge) was down:

HTTP code: 500
Response time: 2942 ms

Resolved: 小程序 - 个股详情页面 (via longbridgeapp.com) is back up in 6cc1c90.

repo: longbridgeapp/uptime


text:
🛑 KeepCup is down

In 527dd2d, KeepCup (https://keepcup.eco.jau.co.jp) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KeepCup is back up in d3804bb.

repo: longforme/longforme-uptime-monitor


text:
🛑 KeepCup is down

In 619a76a, KeepCup (https://keepcup.eco.jau.co.jp) was down:

HTTP code: 0
Response time: 0 ms

Resolved: KeepCup is back up in 2f0ad5f.


text:
🛑 Posie is down

In 9bd4640, Posie (https://posie.jau.co.jp) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Posie is back up in ac5d94c.


text:
2818 further socket usage optimizations

Lazily initialize the replica clients for replica/sync service
This is to optimize the connection count for the longhorn-manager engine
monitor loop, in a single loop the monitor executes the engine binary 8
times this leads to a total connection count of f() = 8e + 6 * 2r = 20
for a volume with 1 replica.
Since all the calls the monitor makes only require either the replica or
the sync client, we can reduce this further with this optimization to
g() = 8e + 6r = 14 per monitor loop.
The monitor loop executes 60/5 = 12 times per minute, so our total
connections per minute are reduced from 240 to 168. For volume with 3
replicas we end up with 312 connection per minute.
No further optimization on this end is possible, the next required task
is removal of the direct engine binary invocations by the longhorn-manager.
This will reduce the connection counts to h() = 1e + 2*r which as one
can see would lead to the desired behavior for each volume of 1 engine connection
and 2 connections per replica (replica / sync).
longhorn/longhorn#2818
Signed-off-by: Joshua Moody joshua.moody@suse.com

Good to review, let me merge afterwards.

repo: longhorn/longhorn-engine


text:
chore(robot): test pvc expand more than storage maximum size

Which issue(s) this PR fixes:

Issue longhorn/longhorn#6633
What this PR does / why we need it:
Add a robot test case to verify that a PVC cannot be expanded beyond the storage maximum size.
Special notes for your reviewer:
None
Additional documentation or context
None

Summary by CodeRabbit
Release Notes

New Features

Enhanced persistent volume claim creation with flexible configuration options.
New keyword for verifying persistent volume claim requested size over time.
New methods for volume size retrieval and maximum disk storage checks.
Added functionality for expanding workloads and persistent volume claims with improved size management.

Bug Fixes

Improved error handling and logging in backup and AWS operations.

Tests

Introduced a new test suite for validating persistent volume claim behavior, including checks for expansion limits.

@coderabbitai review

https://github.com/coderabbitai review

repo: longhorn/longhorn-tests


text:
test: Add test case for multiple paths on the same filesystem in the node default disk config annotation

This test case is for if there are two or more disk paths in the default disk config annotation cat not in the same filesystem in the node.
Test steps:

Make a clean condition: no disk, no tag, no default disk related annotation.
Create default disk annotation with two disks different paths, but in the same filesystem.
Enable "Setting/General/Create Default Disk on Labeled Nodes".
Wait for node update, and check there should be no disk and no tag created.
Cleanup test environment: remove default disk related annotation

Verified the test case, the got the expected error message:
[longhorn-manager-t87z5] time="2020-05-05T01:56:25Z" level=warning msg=" [{"path":"/root","allowScheduling":false,"storageReserved":1024,"name":"root-name"},{"path":"/var/lib/longhorn/","allowScheduling":false,"storageReserved": 1024,"name":"default-name"}]"
[longhorn-manager-t87z5] time="2020-05-05T01:56:25Z" level=warning msg="Kubernetes node: invalid annotation node.longhorn.io/default-disks-config: config: the disk /var/lib/longhorn/ is the samefile system with /root, fsid 58fe937c58377e45"

Verified with local build longhorn-manager:
[longhorn-manager-t87z5] time="2020-05-05T16:56:21Z" level=warning msg="[{"path":"/root","allowScheduling":false,"storageReserved":1024,"name":"root-name"},{"path":"/var/lib/longhorn/","allowScheduling":false,"storageReserved": 1024,"name":"default-name"}]"
[longhorn-manager-t87z5] time="2020-05-05T16:56:21Z" level=warning msg="Kubernetes node: invalid annotation node.longhorn.io/default-disks-config: config: the disk /var/lib/longhorn/ is the samefile system with /root, fsid 58fe937c58377e45"

test_node_config_annotation_invalid passed for two consecutive runs. longhorn-tests/421 & longhorn-tests/422

authors: boknowswiki meldafrawi

repo: longhorn/longhorn


text:
Update the CSI driver list

https://kubernetes-csi.github.io/docs/drivers.html

Docs PR at https://github.com/kubernetes-csi/docs/pull/228

PR merged. Done.


text:
报警通知功能中，未能正常推送到企业微信

目前在验证Hippo4J过程中，配置报警通知遇到一点小问题，请教一下：
我是使用docker搭建的hippo4j-server，dockerfile如下：
FROM openjdk:8u322-jdk

WORKDIR /app
ADD hippo4j-server /app/hippo4j-server
ENV TZ=Asia/Shanghai
EXPOSE 6691
CMD java -Djava.ext.dirs=/usr/local/openjdk-8/jre/lib/ext:/usr/local/openjdk-8/lib/ext -Xloggc:/app/hippo4j-server/logs/hippo4j_gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Xms1024m -Xmx1024m -Xmn512m -Dhippo4j.standalone=true -XX:-OmitStackTraceInFastThrow -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/hippo4j-server/logs/java_heapdump.hprof -Dhippo4j.home=/app/hippo4j-server -jar /app/hippo4j-server/target/hippo4j-server.jar  --spring.config.location=/app/hippo4j-server/conf/application.properties --logging.config=/app/hippo4j-server/conf/hippo4j-logback.xml --server.max-http-header-size=524288 --server.tomcat.basedir=/app/hippo4j-server/bin

启动后观察docker日志无异常，并在客户端使用1.2.0-RC4版本的SpringBoot pom接入了服务端，yml文件配置如下：
spring:
  application:
    name: lbx-ai-biz-staff
  dynamic:
    thread-pool:
      server-addr: http://10.8.46.203:6691
      username: admin
      password: 123456
      namespace: lbx-ai
      item-id: ${spring.application.name}

以上功能，都可通过server动态修改和配置线程池：

但在预警推送功能中发现问题：
我通过报警通知新增了通知类型为CONFIG的配置（如下图）

配置完成后，在线程池管理功能修改对应线程池ID的配置后，未收到企业微信的通知推送，另外耶配置了一个ALARM类型的预警，也没收到推送，麻烦大佬帮忙看一下~万分感谢

@chenruiyingry 客户端项目只有在启动时，才会去 server 拉取报警通知配置。如果先启动客户端，server 再添加报警通知，是不生效的，需要重启客户端

那请问大佬，推送是基于客户端发出的还是服务端呢？

@chenruiyingry 配置推送是客户端发出的。为什么要这么做？因为如果放到服务端，极端情况线程池配置没有修改成功，但是通知发出去了

@chenruiyingry 配置推送是客户端发出的。为什么要这么做？因为如果放到服务端，极端情况线程池配置没有修改成功，但是通知发出去了

在客户端发出的话，如果我们部署的客户端是在存内网环境（不能访问外网接口），那么就无法正常发送通知了。如果是少数的客户端还好，可以将该部分调整到少数有外网权限的服务端。如果是大量的客户端，那就会遇到问题了。

@chenruiyingry 我加一个控制吧，支持客户端推送，以及客户端线程池确定后，向 server 端发出确认，由 server 端统一发送。

好的，Nice！

authors: chenruiyingry longtai-cn


text:
feat(app): Implement the trust level restrictions on starting a new discussion

Added policy for creating a discussion
check the policy around the Start a Discussion button

Pull Request Test Coverage Report for Build 8462524096
Details

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.09%) to 79.15%

Totals

Change from base Build 8259902318:
0.09%

Covered Lines:
2532

Relevant Lines:
3199

💛  - Coveralls

authors: coveralls lonnieezell

repo: lonnieezell/forum-example


text:
Delete paper_wallet when removing DB

Backup the paper_wallet + remove the file if it exists.

@all-contributors please add @neuhausj for code

authors: neuhausj titulebolide

repo: lorcalhost/BTB-manager-telegram


text:
Fix #85

The issues here are related to those discussed in the previous meeting. If deletion is triggered before synchronization with the index occurs, the deletion will be lost. Would it be better to directly add a deletion record without checking if the index exists in this case?

Yes, I think you are right. There are mainly the following two points:

The main problem is that when the data need to be deleted is stored in memTable before flush, neither in batch.pendingWrites nor db.index, the deletion will be lost, so  add a deletion record without checking directly can guarantee deletion will be lost；
We are not need to read bptree before deleting each entry.

repo: lotusdblabs/lotusdb


text:
Erreur lorsque j'essaie de créer un compte en dev

MongoDB roule et le Serveur back-end écoute sur le port 4400 (je crois que mes .env sont corrects). Pourtant, l'histoire de compte Gmail pour créer un compte n'est pas documentée.

Dois-je utiliser un compte Gmail bidon dont je spécifie le mot de passe (texte clair) dans le fichier .env ? (Ça me semble vraiment faible comme façon de faire pour la sécurité). J'imagine que l'intention serait d'utiliser un vrai service de courriel pour transmettre les messages, etc.
En dev, peut-on juste sauter l'étape de l'envoie de courriel pour créer le compte?

J'ai réglé ce problème (le .env était mal configuré).

repo: louis-antoine-etsmtl/EvalueTonSavoir


text:
Bugreport

Hi
I have encountered a problem with nedb creating duplicate records using the same _id, this is a gist I have created to show bug.
https://gist.github.com/simon-p-r/f043d8885115549a90d327a34c87cf1a
OS is Windows 8.1
Node version is 5.10.1
Thanks
Simon

Works fine on my machine, and I don't see any problem with the code ... What does your script output? Thanks for the nice bug report format in any case!

I too am seeing duplicate entries in the database when doing update/patch calls.  Though my setup is quite a bit more complex (using FeathersJS), my results are nearly identical to Simon's.

OSX v10.10.5
Node v4.4.3
NeDB v1.8.0

As per the readme and numerous issues priori to that, this is the expected behavior as nedb persistence uses an append only file for performance purposes. Thanks for the nice bug report format though!

Thanks for the quick response. I see now that it is intentional behavior.  Setting db.persistence.setAutocompactionInterval(interval) did the trick for me.
Cheers,
Chris

normally there is no need to setAutocompactionInterval
Duplicates are intentionally ignored and autocompacted at next start.

authors: crstffr louischatriot simon-p-r zevero

repo: louischatriot/nedb


text:
sort monitor before DOWN then alphabetical order

⚠ Please verify that this feature request has NOT been suggested before.

[X] I checked and didn't find similar feature request

🏷 Feature Request Type
UI Feature
🔖 Feature description
for me is more a clean interface is if a monitor is down is displayed first.
i have some monitor, and sometimes a monitor still down for days and is more clean if displayed first
✔ Solution
create a change of sorting...
❓ Alternatives
alternatives is show only monitor DOWN on list ....
📝 Additional Context
thank you

This issue is likely resolved in 1.23.0-beta.1 as https://github.com/louislam/uptime-kuma/pull/3312 and https://github.com/louislam/uptime-kuma/pull/3469 were merged.
Please refer to the beta at https://github.com/louislam/uptime-kuma/releases/tag/1.23.0-beta.1.
⇒ Could you close this issue as it is resolved or comment on why it is not? ^^
PS:
For the future, please do run a duplication search, as otherwise managing this number of issues is quite bad, see https://github.com/louislam/uptime-kuma/issues?q=is%3Aissue+sort+down ⇒ https://github.com/louislam/uptime-kuma/issues/1585 or other issues

sorry, i searched but probably not that deep...
thank you

@ale82x I think you forgot to close this issue, right?

Could you close this issue as it is resolved or comment on why it is not? ^^

repo: louislam/uptime-kuma


text:
monitoring giving socket hang up

⚠ Please verify that this question has NOT been raised before.

[X] I checked and didn't find similar issue

🛡 Security Policy

[X] I agree to have read this project Security Policy

📝 Describe your problem
Hello dear ones!
I have a problem with my kuma uptime, and I can't find a solution.
Just from yesterday, monitoring started to give this socket hang up error, in a very large and frequent way, in all monitoring.
This error had been occurring for some time, but very sporadically and very little, almost imperceptibly, but yesterday it started to notify much more frequently and in all monitoring, in an interspersed way, it gives the warning, then it stays up, and then notify again.
I've done everything, changed the version, cleaned the base, stopped the container and uploaded it again, but nothing resolved it, remembering that there was no type of change on the environment side.
Please thank anyone who can help me.
📝 Error Message(s) or Log

🐻 Uptime-Kuma Version
1.23.11
💻 Operating System and Arch
Container uptime/kuma
🌐 Browser
Google Chrome
🖥 Deployment Environment

Runtime: K8S, EKS 1.27
Database: sqllite
Filesystem used to store the database on: EBS GP2
number of monitors: 120

what is your database size and retention set to (just as a precaution, not likely related)
Could you have a look at https://github.com/louislam/uptime-kuma/wiki/Troubleshooting and see if you can reproduce this in a shell to give more context?

I managed to solve the problem, it really was something within our network, which we ended up discovering.

authors: CommanderStorm Vanieltk


text:
Callbacks: accessing subcharts and setting switcher option

Hello,
i'm trying to implement show_async to have a more flexible chart. I am using the Callbacks example.
I'm wondering about two things.
1.) Accessing subcharts
When using the Callbacks example I want to create a chart including subcharts. I am struggling to access the subcharts (including their lines) after creating them in the main function. What is the best way to access them?
2.) Setting the switcher widget current option programmatically
In the example the topbar text is set
self.chart.topbar['symbol'].set(searched_string)
I am wondering if I can do the same for a switcher widget? I couldn't find any similiar way to change the current option programmatically
BR

Hey
In your API callback class, the attribute chart will be dynamically updated to the chart or subchart that was responsible for emitting the callback.
There is no way to programatically change a switcher after the chart has been loaded, however you can set the inital value of the switcher when defining it.

Thank you @louisnw01 for the reply. It makes sense to have it like that.
In my case I am using the switcher widget to move my "chart area" one day further. It's not working as intended because it can only be triggered once.

Ah I see. So I think you want to be able to click a switcher more than once?
Perhaps a seperate 'button' widget may be of benefit.

Yes, basicly I want to use it as a button. Another widget of that kind would be perfect.


text:
Problem to use sharp / libvips on Docker / Dokku

Hello,
I'm trying to use the sharp module within a nodejs application and it works fine locally on Ubuntu. Now I want to deploy this application on our server as a dokku application. This application relies on a Dockerfile that initializes elements:
FROM node:8.9.0

# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# Install app dependencies
COPY package.json /usr/src/app/
RUN npm install

# Bundle app source
COPY . /usr/src/app

EXPOSE 5000

CMD [ "npm", "start" ]

During the execution of the npm install task, I can see traces regarding sharp and things seem successful:
> sharp@0.23.3 install /usr/src/app/node_modules/sharp
> (node install/libvips && node install/dll-copy && prebuild-install) || (node-gyp rebuild && node install/dll-copy)

info sharp Downloading https://github.com/lovell/sharp-libvips/releases/download/v8.8.1/libvips-8.8.1-linux-x64.tar.gz

However, when I'm trying to use the endpoint relying on sharp, the application crashes.
I guess that some required libraries are missing because it's a minimal distribution within the docker image but can't find what to add.
Thanks for your help!
Thierry

Is /usr/src/app/node_modules being overwritten by the COPY . /usr/src/app command?

Thanks very much for your answer!
For testing, I changed the Dockerfil with this:
FROM node:8.9.0

# Create app directory
RUN mkdir -p /usr/src/app
WORKDIR /usr/src/app

# Install app dependencies
COPY . /usr/src/app/
RUN npm install

EXPOSE 5000

CMD [ "npm", "start" ]

and I have the same problem!
I can see that the file libvips-8.8.1-linux-x64.tar.gz is still downloaded...

Does upgrading the version of Node.js help (v8.9.0 is over 2 years old)? What is the output of RUN npm install --verbose within the container?

This works with Node 10!
Thanks very much for your help!

authors: lovell templth

repo: lovell/sharp-libvips


text:
optimal way to omit alpha channel in output, SVG to PNG

What are you trying to achieve?

I want to convert SVG to PNG without an alpha channel in the result, as well as get an optimized rendering of the text.
I am successfully converting SVG to PNG files with code shown below. The problem is the result contains 4 channels, RGBA, rather than what I expect, which is 3 channels RGB.
The SVG will always be 2 tones, white text on black background.
What is the best way to omit the alpha channel in the output?
Can I describe the SVG input in a way that avoids the transparency?
Is .resize() the best way to render desired sizes? What is the impact on the text aliasing?

Have you searched for similar questions?

Yes, it seems I can use operations like .removeAlpha() to prevent the output. Can this be optimized more?
Why is alpha added? Is the text causing the transparency?
Could I create a blank canvas of desired size and channels, and then composite the SVG onto it?

Are you able to provide a minimal, standalone code sample that demonstrates this question?

const fs = require('fs')
const sharp = require('sharp')

const metadata = {
  format: 'png',
  width: 1920,
  height: 1080,
}

const source = "<svg id=\"preview\" version=\"1.1\" baseProfile=\"full\" viewBox=\"0 0 1920 1080\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"> <style type=\"text/css\"> text { font-family: \"Roboto\", sans-serif } </style> <rect width=\"100%\" height=\"100%\" fill=\"black\" /> <text x=\"930\" y=\"370\" font-size=\"20\" text-anchor=\"end\" fill=\"white\">HELLO</text> <text x=\"990\" y=\"370\" font-size=\"20\" text-anchor=\"start\" fill=\"white\">WORLD</text> </svg>"

const bufferPromise = sharp(Buffer.from(source))
    //.removeAlpha()
  .resize(metadata.width, metadata.height)
  .toFormat(metadata.format)
  .toBuffer()

bufferPromise.then(buffer => {
    fs.writeFileSync(`./out.${metadata.format}`, buffer)
})

Are you able to provide a sample image that helps explain the question?

See attached.
I check the channels using magick identify -verbose out.png

SVG rendering is via librsvg, is always 4-channel RGBA and you are correct to use removeAlpha to reduce this to RGB output.
(32bpp RGBA is usually considered more optimal than 24bpp RGB for image processing as it can allow for the use of memory-aligned SIMD instructions.)
In terms of the use of resize vs density / viewBox, it depends on the image so you'll probably need to experiment for a given set of inputs.

I hope this information helped. Please feel free to re-open with more details if further assistance is required.

authors: cyrfer lovell

repo: lovell/sharp


text:
After resizing animation, broken image returns

Are you using the latest version? Is the version currently in use as reported by npm ls sharp the same as the latest version as reported by npm view sharp dist-tags.latest?
yes
What is the expected behaviour?
correct output
Are you able to provide a minimal, standalone code sample, without other dependencies, that demonstrates this problem?
https://codesandbox.io/s/2-drk7e?file=/src/server.js
Are you able to provide a sample image that helps explain the problem?
any animated image (gif, webp, apng)
What is the output of running npx envinfo --binaries --system?
System:
    OS: Linux 5.4 Debian GNU/Linux 10 (buster) 10 (buster)
    CPU: (16) x64 Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
    Memory: 7.61 GB / 62.73 GB
    Container: Yes
    Shell: 5.0.3 - /bin/bash
  Binaries:
    Node: 14.16.1 - ~/.nvm/versions/node/v14.16.1/bin/node
    Yarn: 1.22.10 - ~/.nvm/versions/node/v14.16.1/bin/yarn
    npm: 6.14.12 - ~/.nvm/versions/node/v14.16.1/bin/npm

As you've seen, you'll need to update the output with the new page height when resizing a multi-page image.
.webp({ pageHeight: ... })

https://sharp.pixelplumbing.com/api-output#webp
Please see #2275 for a future possible enhancement that relates to this.

@lovell, Thank you for your reply.  I added this parameter, but it doesn't work in all cases.  There are 2 examples in the sandbox where everything works and 2 examples where the image breaks.  I am unable to establish the reason for this.  The only thing I noticed is that the size of the output buffer is very different from the working example.

The output looks as-expected to me. Example 1 is using fit=fill, which ignores aspect ratio, and is reducing the width but keeping the height the same.
https://sharp.pixelplumbing.com/api-resize

@lovell, I have simplified the example for clarity. https://codesandbox.io/s/2-drk7e?file=/src/sharp/examples.js
You can see that at values of height from 47 pixels to 56 pixels, the image breaks, but before and after all the images are normal.

I used one code for all pictures.
const width = 100
const s = sharp(imageBuf, { animated: true });
const metadata = await s.metadata();
const height = pageHeight * metadata.pages; // calculate the sum of heights

const result = await s
    .resize({ width, height, fit: "fill" })
    .webp({ pageHeight })
    .toBuffer();

This is as it should be, is it my mistake or a mistake in the library?
How can I resize the animated picture to {height: 56, width: 100}, to keep the original aspect ratio?

Please can you try setting the fastShrinkOnLoad option to false
.resize({ width, height, fit: "fill", fastShrinkOnLoad: false })

https://sharp.pixelplumbing.com/api-resize

@lovell, It works, thanks

Thanks for confirming. Commit https://github.com/lovell/sharp/commit/5bd5e5052ad53c67c89c930c4eacd1e5fa916280 makes this the default behaviour for animated WebP images. I'll re-open this issue until it's released.

v0.28.3 now available.

authors: MaxMls lovell