org.jruby.exceptions.RaiseException: (TypeError) nil is not a string

JIRA | jujugrrr | 4 years ago
tip
Your exception is missing from the Samebug knowledge base.
Here are the best solutions we found on the Internet.
Click on the to mark the helpful solution and get rewards for you help.
  1. 0

    I know using tags is deprecated in outputs now, but I noticed using them caused logstash to crash. This seems serious enough to file a bugreport. I narrowed down the problem to the following configuration (the crash happens on the first event received): {code} input { stdin { tags => [ "foo", "bar" ] } } output { riemann { tags => [ "bar", "baz" ] } } {code} I also reproduced this problem at least with the statsd and irc plugins, always with the same reference to logstash.jar!/logstash/outputs/base.rb:69, so I guess the problem is on most/all output plugins. The full stacktrace: {code} Pipeline started {:level=>:info, :file=>"/opt/logstash/logstash.jar!/logstash/pipeline.rb", :line=>"69", :method=>"run"} sdgsdg output received {:event=>#<LogStash::Event:0x3ae092f4 @cancelled=false, @data={"message"=>"sdgsdg", "@timestamp"=>"2013-09-09T12:26:21.779Z", "@version"=>"1", "tags"=>["foo", "bar"], "host"=>"lonquimay"}>, :level=>:info, :file=>"(eval)", :line=>"16", :method=>"initialize"} Exception in thread "LogStash::Runner" org.jruby.exceptions.RaiseException: (TypeError) nil is not a string at org.jruby.RubyBasicObject.__send__(org/jruby/RubyBasicObject.java:1701) at org.jruby.RubyKernel.send(org/jruby/RubyKernel.java:2209) at RUBY.output?(file:/opt/logstash/logstash.jar!/logstash/outputs/base.rb:69) at RUBY.receive(file:/opt/logstash/logstash.jar!/logstash/outputs/riemann.rb:76) at RUBY.initialize((eval):17) at org.jruby.RubyProc.call(org/jruby/RubyProc.java:255) at RUBY.output(file:/opt/logstash/logstash.jar!/logstash/pipeline.rb:247) at RUBY.outputworker(file:/opt/logstash/logstash.jar!/logstash/pipeline.rb:212) at RUBY.start_outputs(file:/opt/logstash/logstash.jar!/logstash/pipeline.rb:140) {code}

    JIRA | 4 years ago | Marc Fournier
    org.jruby.exceptions.RaiseException: (TypeError) nil is not a string
  2. 0

    Hello, I'm trying the new 1.2.1 Logstash version. But I have an error when upgrading from 1.1.13 to 1.2.1 using stdin + elasticsearch plugin. If I keep the old tags parameter, it failed to output to elasticsearch plugin input { stdin { tags => ["xxx"] type => "test" } } output { stdout { codec => rubydebug } elasticsearch { host => "logstash.elasticsearch.xxx.com" cluster => "logstash-es-cluster" tags => "xxx"} } I got this Exception in thread "LogStash::Runner" org.jruby.exceptions.RaiseException: (TypeError) nil is not a string at org.jruby.RubyBasicObject.__send__(org/jruby/RubyBasicObject.java:1701) at org.jruby.RubyKernel.send(org/jruby/RubyKernel.java:2209) at RUBY.output?(file:/opt/logstash/server/lib/logstash-1.2.1-flatjar.jar!/logstash/outputs/base.rb:69) at RUBY.receive(file:/opt/logstash/server/lib/logstash-1.2.1-flatjar.jar!/logstash/outputs/elasticsearch.rb:152) at RUBY.initialize((eval):28) at org.jruby.RubyProc.call(org/jruby/RubyProc.java:255) at RUBY.output(file:/opt/logstash/server/lib/logstash-1.2.1-flatjar.jar!/logstash/pipeline.rb:247) at RUBY.outputworker(file:/opt/logstash/server/lib/logstash-1.2.1-flatjar.jar!/logstash/pipeline.rb:212) at RUBY.start_outputs(file:/opt/logstash/server/lib/logstash-1.2.1-flatjar.jar!/logstash/pipeline.rb:140) If I remove (tags => "xxx") from the output definition it works fine. I'll change my configuration to use the new if syntax but I guess it can a problem for some people upgrading to 1.2.1 without changing the configuration.

    JIRA | 4 years ago | jujugrrr
    org.jruby.exceptions.RaiseException: (TypeError) nil is not a string

    Root Cause Analysis

    1. org.jruby.exceptions.RaiseException

      (TypeError) nil is not a string

      at org.jruby.RubyBasicObject.__send__()
    2. JRuby Main Maven Artifact
      RubyKernel.send
      1. org.jruby.RubyBasicObject.__send__(org/jruby/RubyBasicObject.java:1701)
      2. org.jruby.RubyKernel.send(org/jruby/RubyKernel.java:2209)
      2 frames