-
Notifications
You must be signed in to change notification settings - Fork 64
Description
I have been having trouble starting the container version. It will work more often than not with a small configuration (one database and just the default metrics). But it may take 3-5 times restarting it to get it to run when I load all 6 of the databases I want to monitor and the custom additional metrics queries I have too.
I am working to to track down the exact cause, but I'm confident that this happens sometimes with a single-database configuration (as follows) and only the default metrics. I'll post more as I learn more.
The config.yml is as follows:
databases:
alpha:
username: USERNAME
password: PASSWORD
url: SERVERNAME:1521/SERVICENAME
maxOpenConns: 10
maxIdleConns: 10
log:
# This is for querying the v%diag_alert_ext table and dumping it's contents
# to /log/alert.log inside the container.
disable: 1
Our container is built from the following Dockerfile:
FROM container-registry.oracle.com/database/observability-exporter:2.0.1
ADD config.yml /config.yml
CMD ["--config.file", "/config.yml"]
Here's what a successful run looks like:
docker run -it --rm -p 9161:9161 \
--log-opt max-size=100M \
--name oracle_exporter \
-m 50m \
-v `pwd`/configuration:/configuration \
ird-oracle_exporter:latest # --log.level=debug
time=2025-06-16T20:12:46.496Z level=INFO source=main.go:75 msg="FREE_INTERVAL end var is not present, will not periodically attempt to release memory"
time=2025-06-16T20:12:46.496Z level=INFO source=main.go:82 msg="RESTART_INTERVAL env var is not present, so will not restart myself periodically"
time=2025-06-16T20:12:46.496Z level=INFO source=main.go:116 msg="alpha database max idle connections is greater than 0, so will use go-sql connection pool and pooling settings will be ignored"
time=2025-06-16T20:12:46.496Z level=INFO source=database.go:91 msg="Using Username/Password Authentication." database=alpha
godror WARNING: discrepancy between SESSIONTIMEZONE ("+00:00"=0) and SYSTIMESTAMP ("-04:00"=-400) - set connection timezone, see https://github.com/godror/godror/blob/master/doc/timezone.md
time=2025-06-16T20:12:47.046Z level=INFO source=database.go:161 msg="Connected as SYSDBA? FALSE" database=alpha
time=2025-06-16T20:12:48.221Z level=INFO source=main.go:131 msg="Starting oracledb_exporter" version=2.0.1
time=2025-06-16T20:12:48.221Z level=INFO source=main.go:132 msg="Build context" build="(go=go1.23.8, platform=linux/amd64, user=, date=, tags=unknown)"
time=2025-06-16T20:12:48.221Z level=INFO source=main.go:133 msg="Collect from: " metricPath=/metrics
time=2025-06-16T20:12:48.221Z level=INFO source=main.go:184 msg="log.disable set to 1, so will not export the alert logs"
time=2025-06-16T20:12:48.221Z level=INFO source=tls_config.go:347 msg="Listening on" address=[::]:9161
time=2025-06-16T20:12:48.221Z level=INFO source=tls_config.go:350 msg="TLS is disabled." http2=false address=[::]:9161With no changes, just stopping and running the same container again moments later, here's the output:
docker run -it --rm -p 9161:9161 \
--log-opt max-size=100M \
--name oracle_exporter \
-m 50m \
-v `pwd`/configuration:/configuration \
ird-oracle_exporter:latest # --log.level=debug
time=2025-06-16T20:12:54.070Z level=INFO source=main.go:75 msg="FREE_INTERVAL end var is not present, will not periodically attempt to release memory"
time=2025-06-16T20:12:54.070Z level=INFO source=main.go:82 msg="RESTART_INTERVAL env var is not present, so will not restart myself periodically"
time=2025-06-16T20:12:54.070Z level=INFO source=main.go:116 msg="alpha database max idle connections is greater than 0, so will use go-sql connection pool and pooling settings will be ignored"
time=2025-06-16T20:12:54.070Z level=INFO source=database.go:91 msg="Using Username/Password Authentication." database=alpha
godror WARNING: discrepancy between SESSIONTIMEZONE ("+00:00"=0) and SYSTIMESTAMP ("-04:00"=-400) - set connection timezone, see https://github.com/godror/godror/blob/master/doc/timezone.md
time=2025-06-16T20:12:54.631Z level=INFO source=database.go:161 msg="Connected as SYSDBA? FALSE" database=alpha
double free or corruption (top)
SIGABRT: abort
PC=0x7f16230a95ef m=3 sigcode=18446744073709551610
signal arrived during cgo execution```
The above error is followed by a very long stack track that I'll attach here.
[stacktrace.txt](https://github.com/user-attachments/files/20763971/stacktrace.txt)