Bug or not?

Hi All,

I am getting the below error on my dissect filter. Is this a bug and should I file a report for this? I do not seem to be able the find the logline that this is causing it.

full stacktrace Here (github.com)

 Exception in thread "[main]>worker15" java.lang.ArrayIndexOutOfBoundsException: 0
    	at org.logstash.dissect.DissectorErrorUtils.backtrace(DissectorErrorUtils.java:16)
    	at org.logstash.dissect.JavaDissectorLibrary$RubyDissect.logException(JavaDissectorLibrary.java:209)
    	at org.logstash.dissect.JavaDissectorLibrary$RubyDissect.dissect(JavaDissectorLibrary.java:122)
    	at org.logstash.dissect.JavaDissectorLibrary$RubyDissect.dissect_multi(JavaDissectorLibrary.java:132)
    	at org.logstash.dissect.JavaDissectorLibrary$RubyDissect$INVOKER$i$2$0$dissect_multi.call(JavaDissectorLibrary$RubyDissect$INVOKER$i$2$0$dissect_multi.gen)
    	at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:202)
    	at rubyjit.LogStash::Filters::Dissect$$multi_filter_1131382988356ee038e0c1769e4d4113e6c62a5c1442407170.__file__(/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-dissect-1.0.8/lib/logstash/filters/dissect.rb:184)
    	at rubyjit.LogStash::Filters::Dissect$$multi_filter_1131382988356ee038e0c1769e4d4113e6c62a5c1442407170.__file__(/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-filter-dissect-1.0.8/lib/logstash/filters/dissect.rb)
    	at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:181)
    	at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:168)
    	at rubyjit.LogStash::FilterDelegator$$multi_filter_9185c86df6161fe7ec4d7ab39bf5c16f36fd54611442407170.__file__(/usr/share/logstash/logstash-core/lib/logstash/filter_delegator.rb:42)
    	at rubyjit.LogStash::FilterDelegator$$multi_filter_9185c86df6161fe7ec4d7ab39bf5c16f36fd54611442407170.__file__(/usr/share/logstash/logstash-core/lib/logstash/filter_delegator.rb)
    	at org.jruby.internal.runtime.methods.JittedMethod.call(JittedMethod.java:181)
    	at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:168)
    	at org.jruby.ast.CallOneArgNode.interpret(CallOneArgNode.java:57)
    	at org.jruby.ast.DAsgnNode.interpret(DAsgnNode.java:110)
    	at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
    	at org.jruby.ast.IfNode.interpret(IfNode.java:116)
    	at org.jruby.ast.IfNode.interpret(IfNode.java:118)
    	at org.jruby.ast.NewlineNode.interpret(NewlineNode.java:105)
    	at org.jruby.ast.BlockNode.interpret(BlockNode.java:71)
    	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:157)
    	at org.jruby.runtime.Block.yield(Block.java:142)
    	at org.jruby.RubyArray.eachCommon(RubyArray.java:1606)
    	at org.jruby.RubyArray.each(RubyArray.java:1613)
at org.jruby.RubyArray$INVOKER$i$0$0$each.call(RubyArray$INVOKER$i$0$0$each.gen)

We definitely shouldn't be throwing an exception that dumps stack traces into your logs; definitely a bug.

Interestingly enough, the backtrace may indicate that the exception occurs while reporting an error.

When filing the bug on logstash-filter-dissect, any information you can share about your configuration (e.g., your dissect pattern) would be helpful.