Coturn coredump

Hi,
I’m using almalinux 9 on VPS and every few days I got this coredump in logs:

Version is: coturn-4.6.3-1.el9.x86_64

VPS is 20GB HDD, 1 CPU, 1 GB RAM, on HDD is free at least 9GB
MiB Mem : 765.2 total, 204.6 free, 301.0 used, 390.5 buff/cache
MiB Swap: 1024.0 total, 542.2 free, 481.8 used. 464.2 avail Mem

Jun 22 00:04:33 ksj-map systemd-coredump[49093]: Process 14448 (turnserver) of user 986 dumped core.
Stack trace of thread 14450:
#0 0x00005575a8a36f55 turn_log_func_default (turnserver + 0x3ef55)
#1 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#2 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#3 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#4 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#5 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#6 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#7 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#8 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#9 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#10 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#11 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#12 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#13 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#14 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#15 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#16 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#17 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#18 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#19 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#20 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#21 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#22 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#23 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#24 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#25 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#26 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#27 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#28 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#29 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#30 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#31 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#32 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#33 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#34 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#35 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#36 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#37 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#38 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#39 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#40 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#41 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#42 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#43 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#44 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#45 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#46 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#47 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#48 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#49 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#50 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#51 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#52 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#53 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#54 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#55 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#56 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#57 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#58 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#59 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#60 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#61 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#62 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
#63 0x00005575a8a37413 turn_log_func_default (turnserver + 0x3f413)
Stack trace of thread 14448:
#0 0x00007fdfc0d0e84e epoll_wait (libc.so.6 + 0x10e84e)
#1 0x00007fdfc157d66c epoll_dispatch.lto_priv.0 (libevent_core-2.1.so.7 + 0x2866c)
#2 0x00007fdfc15784e1 event_base_loop (libevent_core-2.1.so.7 + 0x234e1)
#3 0x00005575a8a03e3a main (turnserver + 0xbe3a)
#4 0x00007fdfc0c295d0 __libc_start_call_main (libc.so.6 + 0x295d0)
#5 0x00007fdfc0c29680 __libc_start_main@@GLIBC_2.34 (libc.so.6 + 0x29680)
#6 0x00005575a8a05a05 _start (turnserver + 0xda05)
Stack trace of thread 14449:
#0 0x00007fdfc0d0e84e epoll_wait (libc.so.6 + 0x10e84e)
#1 0x00007fdfc157d66c epoll_dispatch.lto_priv.0 (libevent_core-2.1.so.7 + 0x2866c)
#2 0x00007fdfc15784e1 event_base_loop (libevent_core-2.1.so.7 + 0x234e1)
#3 0x00005575a8a166d0 run_general_relay_thread.lto_priv.0 (turnserver + 0x1e6d0)
#4 0x00007fdfc0c8a19a start_thread (libc.so.6 + 0x8a19a)
#5 0x00007fdfc0d0f210 __clone3 (libc.so.6 + 0x10f210)
Stack trace of thread 14451:
#0 0x00007fdfc0cd4655 clock_nanosleep@GLIBC_2.2.5 (libc.so.6 + 0xd4655)
#1 0x00007fdfc0cd9247 __nanosleep (libc.so.6 + 0xd9247)
#2 0x00007fdfc0cd917e sleep (libc.so.6 + 0xd917e)
#3 0x00005575a8a13aaa run_auth_server_thread.lto_priv.0 (turnserver + 0x1baaa)
#4 0x00007fdfc0c8a19a start_thread (libc.so.6 + 0x8a19a)
#5 0x00007fdfc0d0f210 __clone3 (libc.so.6 + 0x10f210)
Stack trace of thread 14452:
#0 0x00007fdfc0d0e84e epoll_wait (libc.so.6 + 0x10e84e)
#1 0x00007fdfc157d66c epoll_dispatch.lto_priv.0 (libevent_core-2.1.so.7 + 0x2866c)
#2 0x00007fdfc15784e1 event_base_loop (libevent_core-2.1.so.7 + 0x234e1)
#3 0x00005575a8a13b88 run_auth_server_thread.lto_priv.0 (turnserver + 0x1bb88)
#4 0x00007fdfc0c8a19a start_thread (libc.so.6 + 0x8a19a)
#5 0x00007fdfc0d0f210 __clone3 (libc.so.6 + 0x10f210)
Stack trace of thread 14453:
#0 0x00007fdfc0d0e84e epoll_wait (libc.so.6 + 0x10e84e)
#1 0x00007fdfc157d66c epoll_dispatch.lto_priv.0 (libevent_core-2.1.so.7 + 0x2866c)
#2 0x00007fdfc15784e1 event_base_loop (libevent_core-2.1.so.7 + 0x234e1)
#3 0x00005575a8a13b88 run_auth_server_thread.lto_priv.0 (turnserver + 0x1bb88)
#4 0x00007fdfc0c8a19a start_thread (libc.so.6 + 0x8a19a)
#5 0x00007fdfc0d0f210 __clone3 (libc.so.6 + 0x10f210)
Stack trace of thread 14454:
#0 0x00007fdfc0d0e84e epoll_wait (libc.so.6 + 0x10e84e)
#1 0x00007fdfc157d66c epoll_dispatch.lto_priv.0 (libevent_core-2.1.so.7 + 0x2866c)
#2 0x00007fdfc15784e1 event_base_loop (libevent_core-2.1.so.7 + 0x234e1)
#3 0x00005575a8a13c54 run_admin_server_thread.lto_priv.0 (turnserver + 0x1bc54)
#4 0x00007fdfc0c8a19a start_thread (libc.so.6 + 0x8a19a)
#5 0x00007fdfc0d0f210 __clone3 (libc.so.6 + 0x10f210)
ELF object binary architecture: AMD x86-64
░░ Subject: Process 14448 (turnserver) dumped core
░░ Defined-By: systemd
░░ Support: https://wiki.almalinux.org/…ort
░░ Documentation: man:core(5)
░░
░░ Process 14448 (turnserver) crashed and dumped core.
░░
░░ This usually indicates a programming error in the crashing program and
░░ should be reported to its vendor as a bug.

comparsion with newest default config

root@ksj-map coturn]# diff -u turnserver.conf turnserver.conf.rpmnew 
--- turnserver.conf     2025-06-10 17:09:26.468941565 +0200
+++ turnserver.conf.rpmnew      2024-12-11 19:13:38.000000000 +0100
@@ -15,7 +15,7 @@
 # Note: actually, TLS & DTLS sessions can connect to the
 # "plain" TCP & UDP port(s), too - if allowed by configuration.
 #
-listening-port=3478
+#listening-port=3478
 
 # TURN listener port for TLS (Default: 5349).
 # Note: actually, "plain" TCP & UDP sessions can connect to the TLS & DTLS
@@ -27,7 +27,7 @@
 # TLS version 1.0, 1.1 and 1.2.
 # For secure UDP connections, Coturn supports DTLS version 1.
 #
-tls-listening-port=5349
+#tls-listening-port=5349
 
 # Alternative listening port for UDP and TCP listeners;
 # default (or zero) value means "listening port plus one".
@@ -54,10 +54,23 @@
 #tcp-proxy-port=5555
 
 # Listener IP address of relay server. Multiple listeners can be specified.
-# If no IP(s) specified in the config file or in the command line options,
-# then all IPv4 and IPv6 system IPs will be used for listening.
+# If no IP is specified in the config file or in the command line options,
+# then all IPv4 system IPs will be used for listening.
+#listening-ip=
+#
+# If you specify '::' as IP, then all IPv6 system IPs will be used for
+# listening.
+#listening-ip=::
+#
+# If you want to listen on all IPv4 as well as on all IPv6, you can do
+#listening-ip=
+#listening-ip=::
+# or
+#listening-ip=0.0.0.0
+#listening-ip=::
 #
-listening-ip=0.0.0.0
+# to specify just some IPs you prefer:
+#listening-ip=172.17.19.101
 #listening-ip=10.207.21.238
 #listening-ip=2607:f0d0:1002:51::4
 
@@ -125,7 +138,7 @@
 #
 # By default, this value is empty, and no address mapping is used.
 #
-external-ip=#REDACTED
+#external-ip=60.70.80.91
 #
 #OR:
 #
@@ -159,7 +172,7 @@
 
 # Uncomment to run TURN server in 'normal' 'moderate' verbose mode.
 # By default the verbose mode is off.
-verbose
+#verbose
 
 # Uncomment to run TURN server in 'extra' verbose mode.
 # This mode is very annoying and produces lots of output.
@@ -192,12 +205,24 @@
 #
 # You can simply run the turnserver and access the port 9641 and path /metrics
 #
+# This is currently unavailable on apt installations
+#
 # For more info on the prometheus exporter and metrics
 # https://prometheus.io/docs/introduction/overview/
 # https://prometheus.io/docs/concepts/data_model/
 #
 #prometheus
 
+# Enable labeling prometheus traffic metrics with client usernames.
+# Labeling with client usernames is disabled by default, because this may cause memory
+# leaks when using authentication with ephemeral usernames (e.g. TURN REST API).
+#
+#prometheus-username-labels
+
+# Prometheus listener port (Default: 9641).
+#
+#prometheus-port=9641
+
 # TURN REST API flag.
 # (Time Limited Long Term Credential)
 # Flag that sets a special authorization option that is based upon authentication secret.
@@ -355,7 +380,7 @@
 # Note: If the default realm is not specified, then realm falls back to the host domain name.
 #       If the domain name string is empty, or set to '(None)', then it is initialized as an empty string.
 #
-realm=#REDACTED
+#realm=mycompany.org
 
 # This flag sets the origin consistency
 # check. Across the session, all requests must have the same
@@ -465,6 +490,13 @@
 #
 #pkey=/etc/pki/coturn/private/turn_server_pkey.pem
 
+# Raw public keys support.
+# On/off switch for RFC-7250 aka raw public keys.
+# Keep in mind, in order for rpks to work,
+# coturn must be built against openSSL version at least 3.2.1
+#
+#raw-public-keys
+
 # Private key file password, if it is in encoded format.
 # This option has no default value.
 #
@@ -723,6 +755,7 @@
 # Enable Web-admin support on https. By default it is Disabled.
 # If it is enabled it also enables a http a simple static banner page
 # with a small reminder that the admin page is available only on https.
+# Not supported if no-tls option used
 #
 #web-admin
 
@@ -794,3 +827,9 @@
 # binding responses.
 #
 response-origin-only-with-rfc5780
+
+# Return an HTTP/S response when an HTTP/S connection is made to a TCP port
+# otherwise only supporting STUN/TURN. This may be useful for debugging and
+# diagnosing connection problems. A "400 Not supported" response is currently
+# returned.
+#respond-http-unsupported

In firewall I have added access to ports 3478/udp and 3478/tcp

Looks like a bug in 4.6.3: Segmentation fault on SIGHUP · Issue #1629 · coturn/coturn · GitHub
Upgrading to 4.7.0 (coturn-4.7.0-1.el9) should fix it.

Since you mentioned the ticket, it didn’t happen again. So, closing the ticket.