Dry-run segmentation faults in azure_blob, nats & kafka-rest output plugins
- Dominant language
- C
- Stars
- 8.1k
- Forks
- 2k
- Avg merge
- 4d 20h
- Merged PRs (30d)
- 71
Description
## Bug Report
**Describe the bug**
The documented examples for the following plugins all fail with a segmentation fault during validation of `--dry-run` with the 5.0.9 Linux container image:
* https://docs.fluentbit.io/manual/data-pipeline/outputs/azure_blob#configuration-for-azure-storage
* https://docs.fluentbit.io/manual/data-pipeline/outputs/nats#configuration-file
* https://docs.fluentbit.io/manual/data-pipeline/outputs/kafka-rest-proxy#configuration-file
Possibly related to .
**To Reproduce**
Use the configurations in the examples:
```yaml
service:
flush: 1
log_level: info
pipeline:
inputs:
- name: dummy
dummy: '{"name": "Fluent Bit", "year": 2020}'
samples: 1
tag: var.log.containers.app-default-96cbdef2340.log
outputs:
- name: azure_blob
match: "*"
account_name: YOUR_ACCOUNT_NAME
shared_key: YOUR_SHARED_KEY
path: kubernetes
container_name: logs
auto_create_container: on
tls: on
```
Run with the container image:
```shell
$ docker run --rm -it -v $PWD/fluent-bit.yaml:/etc/fluent-bit.yaml:ro fluent/fluent-bit:5.0.9 --dry-run --config=/etc/fluent-bit.yaml
Unable to find image 'fluent/fluent-bit:5.0.9' locally
5.0.9: Pulling from fluent/fluent-bit
Digest: sha256:ccda4cbd0f87be1e04cc1d5425bc84a6669051d4ac93a6b7a053c3ba9832aa14
Status: Downloaded newer image for fluent/fluent-bit:5.0.9
Fluent Bit v5.0.9
* Copyright (C) 2015-2026 The Fluent Bit Authors
* Fluent Bit is a CNCF graduated project under the Fluent organization
* https://fluentbit.io
______ _ _ ______ _ _ _____ _____
| ___| | | | | ___ (_) | | ___|| _ |
| |_ | |_ _ ___ _ __ | |_ | |_/ /_| |_ __ _|___ \ | |/' |
| _| | | | | |/ _ \ '_ \| __| | ___ \ | __| \ \ / / \ \| /| |
| | | | |_| | __/ | | | |_ | |_/ / | |_ \ V //\__/ /\ |_/ /
\_| |_|\__,_|\___|_| |_|\__| \____/|_|\__| \_/ \____(_)\___/
[2026/07/19 13:56:19] [engine] caught signal (SIGSEGV)
#0 0x64d37303561f in flb_output_exit() at src/flb_output.c:576
#1 0x64d37304a244 in flb_engine_shutdown() at src/flb_engine.c:1369
#2 0x64d373017ba4 in flb_destroy() at src/flb_lib.c:246
#3 0x64d372f83848 in flb_main_run() at src/fluent-bit.c:1449
#4 0x7c5752ca2ca7 in ???() at ???:0
#5 0x7c5752ca2d64 in ???() at ???:0
#6 0x64d372f81260 in ???() at ???:0
#7 0xffffffffffffffff in ???() at ???:0
```
Repeat for the other examples:
**Expected behavior**
Dry run validation can fail if configuration is incorrect but it should not trigger a segmentation fault.
**Your Environment**
* Version used: 5.0.9 Linux container image
* Configuration: See above
* Operating System and version: Ubuntu 24.04 AMD64
**Additional context**
As part of work on https://github.com/fluent/fluent-bit-docs/pull/2627 trying to automatically validate any configuration provided during CI for documentation.
Unfortunately this triggers a failure with the latest release.
Contributor guide
Research direction
Reproduce the crash with the documented plugin configurations in the 5.0.9 Linux container and inspect the shutdown stack beginning at src/flb_output.c, then src/flb_engine.c, src/flb_lib.c, and src/fluent-bit.c. Compare dry-run behavior across azure_blob, nats, and kafka-rest; done means invalid or valid configuration validation no longer causes a segmentation fault.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, c, docker
- Domain
- backend, cloud, testing-qa
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100