Logstash input exception stops pipeline

I'm running 2.4.1, but in the process of upgrading the whole stack to 5.x.

I see an java.lang.ArrayIndexOutOfBoundsException in my logs, and then one of the inputs shuts down without taking down the whole logstash process. This is brutal, because the input with this problem is UDP, so I don't get any notice from elsewhere about this problem.

Full exception details:

{:timestamp=>"2017-09-13T22:25:35.397000-0500", :message=>"Exception in inputworker", "exception"=>java.lang.ArrayIndexOutOfBoundsException: 5, "backtrace"=>["com.fasterxml.jackson.core.io.UTF32Reader.read(UTF32Reader.java:141)", "com.fasterxml.jackson.core.json.ReaderBasedJsonParser.loadMore(ReaderBasedJsonParser.java:180)", "com.fasterxml.jackson.core.json.ReaderBasedJsonParser._skipWSOrEnd(ReaderBasedJsonParser.java:2264)", "com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:601)", "com.fasterxml.jackson.core.base.ParserMinimalBase.nextValue(ParserMinimalBase.java:127)", "com.jrjackson.JrParse.deserialize(JrParse.java:30)", "com.jrjackson.JrJacksonRuby.__parse(JrJacksonRuby.java:85)", "com.jrjackson.JrJacksonRuby.parse(JrJacksonRuby.java:63)", "com.jrjackson.JrJacksonRuby$INVOKER$s$2$0$parse.call(JrJacksonRuby$INVOKER$s$2$0$parse.gen)", "org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:202)", "rubyjit.LogStash::Json$$jruby_load_d1327f24790a049fc38cd186bbd8240006a83e981028566121.chained_0_rescue_1$RUBY$SYNTHETIC__file__(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-java/lib/logstash/json.rb:38)", "rubyjit.LogStash::Json$$jruby_load_d1327f24790a049fc38cd186bbd8240006a83e981028566121.__file__(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-java/lib/logstash/json.rb)", "rubyjit.LogStash::Json$$jruby_load_d1327f24790a049fc38cd186bbd8240006a83e981028566121.__file__(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-core-2.4.1-java/lib/logstash/json.rb)", "org.jruby.ast.executable.AbstractScript.__file__(AbstractScript.java:42)", "org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:181)", "org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:206)", "org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:61)", "org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:168)", "rubyjit.LogStash::Codecs::JSONLines$$legacy_parse_5dc056ca35e018b163ac6313325d62310d30318a1028566121.chained_0_rescue_1$RUBY$SYNTHETIC__file__(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-codec-json_lines-2.1.3/lib/logstash/codecs/json_lines.rb:63)", "rubyjit.LogStash::Codecs::JSONLines$$legacy_parse_5dc056ca35e018b163ac6313325d62310d30318a1028566121.__file__(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-codec-json_lines-2.1.3/lib/logstash/codecs/json_lines.rb)", "rubyjit.LogStash::Codecs::JSONLines$$legacy_parse_5dc056ca35e018b163ac6313325d62310d30318a1028566121.__file__(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-codec-json_lines-2.1.3/lib/logstash/codecs/json_lines.rb)", "org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:201)", "org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:214)", "org.jruby.internal.runtime.methods.AliasMethod.call(AliasMethod.java:86)", "org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:177)", "org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:183)", "rubyjit.LogStash::Codecs::JSONLines$$decode_81687124a327616ff65cfcf8a9d175f49b0f6ba01028566121.block_0$RUBY$__file__(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-codec-json_lines-2.1.3/lib/logstash/codecs/json_lines.rb:41)", "rubyjit$LogStash::Codecs::JSONLines$$decode_81687124a327616ff65cfcf8a9d175f49b0f6ba01028566121$block_0$RUBY$__file__.call(rubyjit$LogStash::Codecs::JSONLines$$decode_81687124a327616ff65cfcf8a9d175f49b0f6ba01028566121$block_0$RUBY$__file__)", "org.jruby.runtime.CompiledBlock19.yield(CompiledBlock19.java:135)", "org.jruby.runtime.Block.yield(Block.java:142)", "org.jruby.RubyArray.eachCommon(RubyArray.java:1606)", "org.jruby.RubyArray.each(RubyArray.java:1613)", "org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)", "org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:143)", "org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:154)", "rubyjit.LogStash::Codecs::JSONLines$$decode_81687124a327616ff65cfcf8a9d175f49b0f6ba01028566121.__file__(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-codec-json_lines-2.1.3/lib/logstash/codecs/json_lines.rb:40)", "rubyjit.LogStash::Codecs::JSONLines$$decode_81687124a327616ff65cfcf8a9d175f49b0f6ba01028566121.__file__(/opt/logstash/vendor/bundle/jruby/1.9/gems/logstash-codec-json_lines-2.1.3/lib/logstash/codecs/json_lines.rb)", "org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:201)", "org.jruby.runtime.callsite.CachingCallSite.callBlock(CachingCallSite.java:177)", "org.jruby.runtime.callsite.CachingCallSite.callIter(CachingCallSite.java:188)", "org.jruby.ast.CallOneArgBlockNode.interpret(CallOneArgBlockNode.java:60)", "org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)", "org.jruby.ast.BlockNode.interpret(BlockNode.java:71)", "org.jruby.ast.WhileNode.interpret(WhileNode.java:131)", "org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)", "org.jruby.ast.RescueNode.executeBody(RescueNode.java:221)", "org.jruby.ast.RescueNode.interpret(RescueNode.java:116)", "org.jruby.ast.BeginNode.interpret(BeginNode.java:83)", "org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)", "org.jruby.ast.BlockNode.interpret(BlockNode.java:71)", "org.jruby.evaluator.ASTInterpreter.INTERPRET_METHOD(ASTInterpreter.java:74)", "org.jruby.internal.runtime.methods.InterpretedMethod.call(InterpretedMethod.java:182)", "org.jruby.internal.runtime.methods.DefaultMethod.call(DefaultMethod.java:203)", "org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:168)", "org.jruby.ast.FCallOneArgNode.interpret(FCallOneArgNode.java:36)", "org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)", "org.jruby.evaluator.ASTInterpreter.INTERPRET_BLOCK(ASTInterpreter.java:112)", "org.jruby.runtime.Interpreted19Block.evalBlockBody(Interpreted19Block.java:206)", "org.jruby.runtime.Interpreted19Block.yield(Interpreted19Block.java:194)", "org.jruby.runtime.Interpreted19Block.call(Interpreted19Block.java:125)", "org.jruby.runtime.Block.call(Block.java:101)", "org.jruby.RubyProc.call(RubyProc.java:300)", "org.jruby.RubyProc.call(RubyProc.java:230)", "org.jruby.internal.runtime.RubyRunnable.run(RubyRunnable.java:99)", "java.lang.Thread.run(Thread.java:748)"], :level=>:error}

Input definition

  udp {
    host => "0.0.0.0"
    port => 5228
    codec => json_lines
    buffer_size => 32768
    add_field => { "[@metadata][input]" => "udp" }
  }

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.