Skip to content

Setting threaded to true in prometheus_scrape input causes SIGSEGV #9525

@anderssynstad

Description

@anderssynstad

Bug Report

Describe the bug
Setting the threaded key to true for prometheus_scrape input causes Fluent Bit to throw SIGSEGV errors.

To Reproduce

---
service:
  storage.path: /var/spool/fluent-bit
pipeline:
  inputs:
    - name: prometheus_scrape
      host: 127.0.0.1
      port: 9100
      tag: metrics.node
      metrics_path: /metrics
      scrape_interval: 10s
      threaded: false
  outputs:
    - name: null
      match: '*'
# /opt/fluent-bit/bin/fluent-bit -c test.yaml -D
Fluent Bit v3.1.9
* Copyright (C) 2015-2024 The Fluent Bit Authors
* Fluent Bit is a CNCF sub-project under the umbrella of Fluentd
* https://fluentbit.io

______ _                  _    ______ _ _           _____  __
|  ___| |                | |   | ___ (_) |         |____ |/  |
| |_  | |_   _  ___ _ __ | |_  | |_/ /_| |_  __   __   / /`| |
|  _| | | | | |/ _ \ '_ \| __| | ___ \ | __| \ \ / /   \ \ | |
| |   | | |_| |  __/ | | | |_  | |_/ / | |_   \ V /.___/ /_| |_
\_|   |_|\__,_|\___|_| |_|\__| \____/|_|\__|   \_/ \____(_)___/

configuration test is successful
#

Then changing threaded from false to true:

---
service:
  storage.path: /var/spool/fluent-bit
pipeline:
  inputs:
    - name: prometheus_scrape
      host: 127.0.0.1
      port: 9100
      tag: metrics.node
      metrics_path: /metrics
      scrape_interval: 10s
      threaded: true
  outputs:
    - name: null
      match: '*'
# /opt/fluent-bit/bin/fluent-bit -c test.yaml -D
Fluent Bit v3.1.9
* Copyright (C) 2015-2024 The Fluent Bit Authors
* Fluent Bit is a CNCF sub-project under the umbrella of Fluentd
* https://fluentbit.io

______ _                  _    ______ _ _           _____  __
|  ___| |                | |   | ___ (_) |         |____ |/  |
| |_  | |_   _  ___ _ __ | |_  | |_/ /_| |_  __   __   / /`| |
|  _| | | | | |/ _ \ '_ \| __| | ___ \ | __| \ \ / /   \ \ | |
| |   | | |_| |  __/ | | | |_  | |_/ / | |_   \ V /.___/ /_| |_
\_|   |_|\__,_|\___|_| |_|\__| \____/|_|\__|   \_/ \____(_)___/

configuration test is successful
[2024/10/25 07:55:51] [engine] caught signal (SIGSEGV)
#0  0x5639131a8e7e      in  flb_input_exit_all() at src/flb_input.c:1341
#1  0x5639131c3138      in  flb_engine_shutdown() at src/flb_engine.c:1121
#2  0x56391319d264      in  flb_destroy() at src/flb_lib.c:240
#3  0x56391310dc1b      in  flb_main() at src/fluent-bit.c:1360
#4  0x7f707cc46249      in  ???() at ???:0
#5  0x7f707cc46304      in  ???() at ???:0
#6  0x56391310b800      in  ???() at ???:0
#7  0xffffffffffffffff  in  ???() at ???:0
Aborted
#

Expected behavior
I expect a supported configuration key to not throw an error and cause the program to die.

Your Environment

  • Version used: 3.1.9
  • Configuration: See above.
  • Environment name and version (e.g. Kubernetes? What version?):
  • Server type and version: Virtual
  • Operating System and version: Debian 12
  • Filters and plugins: None.

Additional context
This generates a significant amount of noise due to the fluent-bit service keeps retarting.
On one random server, that fluent-bit service has retarted 184 times the last 8 hours alone ...

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions