fluent/fluentd · error · ArgumentError
BUG: linger_timeout is available for tcp/tls
Error message
BUG: linger_timeout is available for tcp/tls
What it means
Error "BUG: linger_timeout is available for tcp/tls" thrown in fluent/fluentd.
Source
Thrown at lib/fluent/plugin_helper/socket_option.rb:37
# this module is only for Socket/Server plugin helpers
module Fluent
module PluginHelper
module SocketOption
# ref: https://docs.microsoft.com/en-us/windows/win32/api/winsock/ns-winsock-linger
FORMAT_STRUCT_LINGER_WINDOWS = 'S!S!' # { u_short l_onoff; u_short l_linger; }
FORMAT_STRUCT_LINGER = 'I!I!' # { int l_onoff; int l_linger; }
FORMAT_STRUCT_TIMEVAL = 'L!L!' # { time_t tv_sec; suseconds_t tv_usec; }
def socket_option_validate!(protocol, resolve_name: nil, linger_timeout: nil, recv_timeout: nil, send_timeout: nil, receive_buffer_size: nil, send_keepalive_packet: nil)
unless resolve_name.nil?
if protocol != :tcp && protocol != :udp && protocol != :tls
raise ArgumentError, "BUG: resolve_name in available for tcp/udp/tls"
end
end
if linger_timeout
if protocol != :tcp && protocol != :tls
raise ArgumentError, "BUG: linger_timeout is available for tcp/tls"
end
end
if send_keepalive_packet
if protocol != :tcp && protocol != :tls
raise ArgumentError, "BUG: send_keepalive_packet is available for tcp/tls"
end
end
end
def socket_option_set(sock, resolve_name: nil, nonblock: false, linger_timeout: nil, recv_timeout: nil, send_timeout: nil, receive_buffer_size: nil, send_keepalive_packet: nil)
unless resolve_name.nil?
sock.do_not_reverse_lookup = !resolve_name
end
if nonblock
sock.fcntl(Fcntl::F_SETFL, Fcntl::O_NONBLOCK)
end
if Fluent.windows?
# To prevent closing socket forcibly on Windows,View on GitHub (pinned to dd45c6e18d)
When it happens
Trigger: Thrown at lib/fluent/plugin_helper/socket_option.rb:37 when the library encounters an invalid state.
Common situations: See trigger scenarios.
Understand the failure class
- SSL/TLS and certificate errors — how TLS handshakes and certificate validation fail.
- Timeouts: ETIMEDOUT, deadlines, and hung requests — what actually expires when a request times out.
AI-assisted analysis of fluent/fluentd@dd45c6e18d (2026-08-21).
Data as JSON: /api/errors/91fa19de819547fb.
Report an issue: GitHub.