fluent / fluent/fluent-bit

Fluent-bit ARM64 image hits unsupported page size issues on ARM64 AKS cluster

Open
#10,941 10 comments 3 reactions 0 assignees View on GitHub
status: waiting-for-triage
Dominant language
C
Stars
8.1k
Forks
2k
Avg merge
4d 20h
Merged PRs (30d)
71

Description

## Bug Report

**Describe the bug**
The fluent-bit 4.0.5 arm64 image does not run on our AKS cluster running Ubuntu 24.04.2 LTS (kernel version 6.8.0-1014-azure-nvidia) & lead to the below errors on unsupported system page size.

We had explored setting a different JEMALLOC page size, but it did not address the fluent-bit container startup failure. In our setup, the KernelPageSize was 64 kB when checking with `cat /proc/self/smaps | grep KernelPageSize`. So we tried `--with-lg-page=16` as it is the base-2 logarithm of the page size in bytes , i.e., log2(65,536) = 16. However, it did not help address the issue & so we had to disable JEMALLOC altogether to avoid hitting it.

Is there a way to get around this unsupported system page size issue without disabling JEMALLOC?

**To Reproduce**
```
: Unsupported system page size
: Unsupported system page size
: Unsupported system page size
: Unsupported system page size
: Unsupported system page size
: Unsupported system page size
: Unsupported system page size
Error in GnuTLS initialization: ASN1 parser: Element was not found.
: Unsupported system page size
: Unsupported system page size
: Unsupported system page size
: Unsupported system page size
: Unsupported system page size
: Unsupported system page size
[2025/07/26 01:30:05] [error] [/src/fluent-bit/src/config_format/flb_config_format.c:110 errno=12] Cannot allocate memory
```
- Steps to reproduce the problem:
1. Create a ConfigMap for the Fluent Bit config
kubectl create configmap fluent-bit-configs -n fluent-bit-test --from-file=fluent-bit.yaml

2. Create a ConfigMap for the dummy log file
kubectl create configmap fluent-bit-dummy-log --from-file=dummy.log

3. Create a file with the K8S spec `fluent-bit-test-pod.yaml`

```
apiVersion: v1
kind: Pod
metadata:
name: fluent-bit-test-pod
spec:
containers:
- name: fluent-bit
# Your container image
image: fluent/fluent-bit:latest
args:
- "-c"
- "/fluent-bit/etc/fluent-bit.yaml"
volumeMounts:
- name: config-volume
mountPath: /fluent-bit/etc/fluent-bit.yaml
subPath: fluent-bit.yaml
- name: log-volume
mountPath: /var/log/dummy.log
subPath: dummy.log
volumes:
- name: config-volume
configMap:
name: fluent-bit-configs
- name: log-volume
configMap:
name: fluent-bit-dummy-log
restartPolicy: Never
```

4. kubectl apply -f fluent-bit-test-pod.yaml -n fluent-bit-test
5. kubectl logs pod/fluent-bit-test-pod -n fluent-bit-test

**Expected behavior**
Fluent-bit starts up on ARM64 without running into unsupported page size issues.

**Your Environment**
* Version used: 4.0.5
* Configuration: YAML mode
* Environment name and version (e.g. Kubernetes? What version?): Kubernetes AKS
* Operating System and version: Ubuntu 24.04.2 LTS (kernel version 6.8.0-1014-azure-nvidia)

cc: @pbettadapura

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.