Pipeline aborted due to undefined method `mutex'

I've recently been running into an error when starting logstash. We have several pipelines configured and all will start up without a problem, except for one (not always the same one and there is not a problem every time). The error message is

Pipeline aborted due to error {:pipeline_id=>"pipeline3", :exception=>#<NoMethodError: undefined method 'mutex' for nil:NilClass>

The next time logstash is restarted, it works.
We're currently on logstash 7.6.2.

Anyone know what causes this or have ideas on what to look into or try?

Is there a stack trace for that error?

Here's the complete error for one case:

[2020-11-07T01:01:50,293][ERROR][logstash.javapipeline    ] Pipeline aborted due to error {:pipeline_id=>"netsage-ilight", :exception=>#<NoMethodError: undefined method `mutex' for nil:NilClass>, :backtrace=>["/usr/share/logstash/vendor/bundle/jruby/2.5.0/gems/logstash-filter-aggregate-2.9.1/lib/logstash/filters/aggregate.rb:97:in `register'", "org/logstash/config/ir/compiler/AbstractFilterDelegatorExt.java:56:in `register'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:200:in `block in register_plugins'", "org/jruby/RubyArray.java:1814:in `each'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:199:in `register_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:502:in `maybe_setup_out_plugins'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:212:in `start_workers'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:154:in `run'", "/usr/share/logstash/logstash-core/lib/logstash/java_pipeline.rb:109:in `block in start'"], "pipeline.sources"=>["/etc/logstash/pipelines/netsage-ilight/01-input-rabbit.conf", "/etc/logstash/pipelines/netsage-ilight/10-preliminaries.conf", "/etc/logstash/pipelines/netsage-ilight/20-add-id.conf", "/etc/logstash/pipelines/netsage-ilight/40-aggregation.conf", "/etc/logstash/pipelines/netsage-ilight/45-geoip-tagging.conf", "/etc/logstash/pipelines/netsage-ilight/50-asn.conf", "/etc/logstash/pipelines/netsage-ilight/53-caida-org.conf", "/etc/logstash/pipelines/netsage-ilight/55-member-orgs.conf", "/etc/logstash/pipelines/netsage-ilight/60-scireg-tagging-fakegeoip.conf", "/etc/logstash/pipelines/netsage-ilight/70-deidentify.conf", "/etc/logstash/pipelines/netsage-ilight/80-privatize-org.conf", "/etc/logstash/pipelines/netsage-ilight/88-preferred-location-org.conf", "/etc/logstash/pipelines/netsage-ilight/90-additional-fields.conf", "/etc/logstash/pipelines/netsage-ilight/95-cleanup.conf", "/etc/logstash/pipelines/netsage-ilight/98-post-process.conf", "/etc/logstash/pipelines/netsage-ilight/99-output-rabbit.conf"], :thread=>"#<Thread:0x5e3cb2e0@/usr/share/logstash/logstash-core/lib/logstash/pipeline_action/create.rb:37 run>"}

So the code is getting an exception here.

From what I can see, @current_pipeline could be only be nil at that point if the value returned by pipeline_id changed between lines 94 and 95. That could only happen if @execution_context changed between the two calls to pipeline_id. I cannot think of anything that could cause that.

Bizarre!

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