logstash-plugins/logstash-filter-xml

Logstash 1.5.1 XML filter crashing

jordijansen opened this issue · 1 comments

Hi Guys,

I've been migrating our Logstash configuration to be compatible with Logstash 1.5.1 (from logstash 1.4.1). In our configuration we have a XML filter.

When I start logstash in the terminal (so it prints the stdout to the terminal window) and a new event comes through I get the follwoing exception:

NokogiriDomParser.java:77:in `initialize': java.lang.NoSuchMethodError: nokogiri.internals.NokogiriDomParser.getXMLParserConfiguration()Lorg/apache/xerces/xni/parser/XMLParserConfiguration;
        from NokogiriDomParser.java:69:in `<init>'
        from XmlDomParserContext.java:114:in `initParser'
        from XmlDomParserContext.java:97:in `<init>'
        from XmlDocument.java:327:in `newFromData'
        from XmlDocument.java:344:in `read_memory'
        from XmlDocument$INVOKER$s$0$0$read_memory.gen:-1:in `call'
        from CachingCallSite.java:296:in `cacheAndCall'
        from CachingCallSite.java:72:in `call'
        from FCallManyArgsNode.java:60:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from IfNode.java:118:in `interpret'
        from LocalAsgnNode.java:123:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from BlockNode.java:71:in `interpret'
        from ASTInterpreter.java:74:in `INTERPRET_METHOD'
        from InterpretedMethod.java:112:in `call'
        from DefaultMethod.java:169:in `call'
        from CachingCallSite.java:286:in `cacheAndCall'
        from CachingCallSite.java:81:in `callBlock'
        from CachingCallSite.java:85:in `call'
        from CallManyArgsBlockPassNode.java:57:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from ASTInterpreter.java:74:in `INTERPRET_METHOD'
        from InterpretedMethod.java:268:in `call'
        from DefaultMethod.java:235:in `call'
        from CachingCallSite.java:366:in `cacheAndCall'
        from CachingCallSite.java:238:in `call'
        from CallThreeArgNode.java:61:in `interpret'
        from LocalAsgnNode.java:123:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from RescueNode.java:221:in `executeBody'
        from RescueNode.java:116:in `interpret'
        from BeginNode.java:83:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from BlockNode.java:71:in `interpret'
        from IfNode.java:116:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from BlockNode.java:71:in `interpret'
        from ASTInterpreter.java:74:in `INTERPRET_METHOD'
        from InterpretedMethod.java:204:in `call'
        from DefaultMethod.java:211:in `call'
        from CachingCallSite.java:336:in `cacheAndCall'
        from CachingCallSite.java:179:in `callBlock'
        from CachingCallSite.java:188:in `callIter'
        from /data/operations/logstash/logstash-1.5.1/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.1-java/lib/logstash/filters/base.rb:162:in `block_0$RUBY$__file__'
        from rubyjit$LogStash::Filters::Base$$multi_filter_23dd53ffcf01f316bd396c1ca6264acc7395c01f$block_0$RUBY$__file__:-1:in `call'
        from CompiledBlock19.java:135:in `yield'
        from Block.java:142:in `yield'
        from RubyArray.java:1606:in `eachCommon'
        from RubyArray.java:1613:in `each'
        from RubyArray$INVOKER$i$0$0$each.gen:-1:in `call'
        from CachingCallSite.java:143:in `callBlock'
        from CachingCallSite.java:154:in `callIter'
        from /data/operations/logstash/logstash-1.5.1/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.1-java/lib/logstash/filters/base.rb:159:in `__file__'
        from /data/operations/logstash/logstash-1.5.1/vendor/bundle/jruby/1.9/gems/logstash-core-1.5.1-java/lib/logstash/filters/base.rb:-1:in `__file__'
        from JittedMethod.java:181:in `call'
        from CachingCallSite.java:168:in `call'
        from CallOneArgNode.java:57:in `interpret'
        from DAsgnNode.java:110:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from BlockNode.java:71:in `interpret'
        from IfNode.java:116:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from BlockNode.java:71:in `interpret'
        from ASTInterpreter.java:112:in `INTERPRET_BLOCK'
        from Interpreted19Block.java:206:in `evalBlockBody'
        from Interpreted19Block.java:157:in `yield'
        from Block.java:142:in `yield'
        from RubyArray.java:1606:in `eachCommon'
        from RubyArray.java:1613:in `each'
        from RubyArray$INVOKER$i$0$0$each.gen:-1:in `call'
        from CachingCallSite.java:143:in `callBlock'
        from CachingCallSite.java:154:in `callIter'
        from CallNoArgBlockNode.java:64:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from BlockNode.java:71:in `interpret'
        from ASTInterpreter.java:74:in `INTERPRET_METHOD'
        from InterpretedMethod.java:182:in `call'
        from DefaultMethod.java:203:in `call'
        from CachingCallSite.java:168:in `call'
        from FCallOneArgNode.java:36:in `interpret'
        from LocalAsgnNode.java:123:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from BlockNode.java:71:in `interpret'
        from ASTInterpreter.java:74:in `INTERPRET_METHOD'
        from InterpretedMethod.java:182:in `call'
        from DefaultMethod.java:203:in `call'
        from CachingCallSite.java:168:in `call'
        from FCallOneArgNode.java:36:in `interpret'
        from CallNoArgBlockNode.java:60:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from WhenOneArgNode.java:36:in `whenSlowTest'
        from WhenOneArgNode.java:46:in `when'
        from CaseNode.java:133:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from BlockNode.java:71:in `interpret'
        from WhileNode.java:131:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from RescueNode.java:221:in `executeBody'
        from RescueNode.java:116:in `interpret'
        from BeginNode.java:83:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from BlockNode.java:71:in `interpret'
        from ASTInterpreter.java:74:in `INTERPRET_METHOD'
        from InterpretedMethod.java:139:in `call'
        from DefaultMethod.java:187:in `call'
        from CachingCallSite.java:306:in `cacheAndCall'
        from CachingCallSite.java:136:in `call'
        from VCallNode.java:88:in `interpret'
        from NewlineNode.java:105:in `interpret'
        from ASTInterpreter.java:112:in `INTERPRET_BLOCK'
        from Interpreted19Block.java:206:in `evalBlockBody'
        from Interpreted19Block.java:194:in `yield'
        from Interpreted19Block.java:125:in `call'
        from Block.java:101:in `call'
        from RubyProc.java:290:in `call'
        from RubyProc.java:228:in `call'
        from RubyRunnable.java:99:in `run'
        from Thread.java:662:in `run'
Returncode = 1

It seems that the Nokogiri has been updated since 1.4.1 could it be that the XML filter is using some methods that are no longer available?

Can you please try a later version and reopen the issue if it still occurs?