Logstash crashes when auto reloading configuration and syslog input plugin has incoming connection
- Dominant language
- Java
- Stars
- 14.9k
- Forks
- 3.5k
- Avg merge
- 1d 4h
- Merged PRs (30d)
- 88
Description
When using the syslog input plugin and using the config auto reload, LS crashes with the following error:
[2017-02-08T09:49:49,873][FATAL][logstash.runner ] An unexpected error occurred! {:error=>#, :backtrace=>["org/jruby/RubyIO.java:3565:in `each'", "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-syslog-3.2.0/lib/logstash/inputs/syslog.rb:182:in `tcp_receiver'", "/usr/share/logstash/vendor/bundle/jruby/1.9/gems/logstash-input-syslog-3.2.0/lib/logstash/inputs/syslog.rb:167:in `tcp_listener'"]}
- Version: 5.1.2
- Operating System: Ubuntu 16.04
- Steps to Reproduce:
* Configure syslog input plugin and auto reload
* Wait for incoming connection from rsyslog
* Change a configuration file
Contributor guide
Research direction
The failure points to logstash-input-syslog-3.2.0/lib/logstash/inputs/syslog.rb, especially tcp_listener at line 167 and tcp_receiver at line 182. Start by reproducing the reported sequence with syslog input, auto reload, an incoming rsyslog connection, and a configuration change. Done means reloading no longer crashes Logstash with Errno::EBADF.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- ruby
- Domain
- backend, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 38/100