Icecast segfaults on startup and shutdown
Using the latest 2.4.3 with SSL on Debian 8 x64 (happens with SSL disabled as well). Running icecast using daemontools. This also happened with 2.4.2 being started with upstart. Startup script is:
exec /usr/local/bin/icecast -c /etc/icecast/icecast.xml
I've noticed that the icecast process segfaults on both startup and shutdown.
Shutdown:
Aug 24 14:50:01 ngradio-staging kernel: [80171.821413] icecast[16264]: segfault at 48 ip 000000000040fa8e sp 00007f2af4087dd0 error 4 in icecast[400000+34000]
Startup:
Aug 24 14:41:02 ngradio-staging kernel: [79632.697742] icecast[14984]: segfault at 0 ip 00007fc773ea3c3a sp 00007fc775798e18 error 4 in libc-2.19.so[7fc773e22000+1a2000]
Observations:
-
Happens 100% of the time the process is stopped.
-
Happens nearly 100% of the time the process is started, and at times can happen 5-10 times before the icecast process will start. Sometimes I can't get the process to start at all when I'm starting it manually via the cli (tried 10-20 times then gave up).
-
Happens with the liquidsoap processes trying to connect and with liquidsoap completely down.
-
Nothing seems to be correlated with these segfaults, nor with this happening once or multiple times before the process ultimately starts.
-
I don't get a segfault on startup when running Icecast via valgrind, but I do when running directly on the cli, via strace, or via daemontools.
-
Sometimes if I start / restart icecast a bunch via daemontools, I can't get the process to start up at all. A reboot seems to be the only thing that helps.
I uploaded my Icecast config and some valgrind output in #2283 (closed). This is the tail end of the strace output:
munmap(0x7f23bacb1000, 4096) = 0
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0
write(7, "[2016-08-24 14:53:33] INFO conn"..., 118) = 118
stat("/etc/localtime", {st_mode=S_IFREG|0644, st_size=3519, ...}) = 0
write(7, "[2016-08-24 14:53:33] INFO conn"..., 836) = 836
poll([{fd=5, events=POLLIN}, {fd=6, events=POLLIN}], 2, 300 <unfinished ...>
+++ killed by SIGSEGV +++
Let me know if I can provide any other info. As of right now, this is simply a nuisance, but without daemontools restarting the process over and over until it finally does start up, this would probably be a blocker.