<div dir="ltr"><div class="gmail_extra">Hi all,</div><div class="gmail_extra">see my reply inline.</div><div class="gmail_extra">Cheers, Jan-Pieter</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br><div class="gmail_quote">2015-04-26 7:23 GMT+02:00 "Thomas B. Rücker" <span dir="ltr"><<a href="mailto:thomas@ruecker.fi" target="_blank">thomas@ruecker.fi</a>></span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">On 04/25/2015 07:32 PM, Jan-Pieter wrote:<br>
> Hi all,<br>
><br>
> I am a long-time user of Icecast, always without problems. However i<br>
> made a new setup using icecast 2.4.1 on a fresh and quick CentOS VPS.<br>
<br>
EPEL package or from somewhere else?<br>
<br></blockquote><div>it's just a standard CentOS 6.6 release, no EPEL. Distri from hosting provider. [root@h2429770 tmp]# uname -a</div><div>Linux <a href="http://h2429770.stratoserver.net">h2429770.stratoserver.net</a> 2.6.32-042stab103.6 #1 SMP Wed Jan 21 13:07:39 MSK 2015 x86_64 x86_64 x86_64 GNU/Linux</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
> The issue is that starting icecast gives a segmentation fault at<br>
> around 80% of all starts. No core file nor a entry in error.log is posted.<br>
<br>
Enable core dumps using "ulimit -c unlimited". The PWD from where you<br>
start Icecast needs to be writeable.<br></blockquote><div><br></div><div>Even with ulimit -c unlimited and running from a writable PWD no core is dumped.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
<br>
> In the remaining 20% of the starts icecast start with no problem.<br>
><br>
> Contents of the error.log with a succesfull start (20% of icecast starts):<br>
> [2015-04-25 21:08:40] INFO main/main Icecast 2.4.1 server started<br>
> [2015-04-25 21:08:40] INFO connection/get_ssl_certificate No SSL<br>
> capability<br>
> [2015-04-25 21:08:40] INFO stats/_stats_thread stats thread started<br>
> [2015-04-25 21:08:40] INFO yp/yp_update_thread YP update thread started<br>
> [2015-04-25 21:08:40] INFO source/source_fallback_file mountpoint<br>
> /geen-uitzending.mp3 is reserved<br>
> [2015-04-25 21:08:40] WARN format/format_get_type Unsupported or<br>
> legacy stream type: "audio/mpeg". Falling back to generic minimal<br>
> handler for best effort.<br>
> [2015-04-25 21:08:40] WARN source/source_fallback_file mountpoint<br>
> "/geen-uitzending.mp3" already reserved<br>
> [2015-04-25 21:08:40] INFO source/source_main listener count on<br>
> /geen-uitzending.mp3 now 0<br>
><br>
><br>
> Contents of error.log with a segmentation fault direct after start<br>
> (80% of icecast starts):<br>
> 2015-04-25 21:09:05] INFO main/main Icecast 2.4.1 server started<br>
> [2015-04-25 21:09:05] INFO connection/get_ssl_certificate No SSL<br>
> capability<br>
> [2015-04-25 21:09:05] INFO yp/yp_update_thread YP update thread started<br>
> [2015-04-25 21:09:05] INFO source/source_fallback_file mountpoint<br>
> /geen-uitzending.mp3 is reserved<br>
> [2015-04-25 21:09:05] WARN format/format_get_type Unsupported or<br>
> legacy stream type: "audio/mpeg". Falling back to generic minimal<br>
> handler for best effort.<br>
> [2015-04-25 21:09:05] INFO stats/_stats_thread stats thread started<br>
<br>
Can you attach your icecast.xml please (with passwords removed)?<br>
This might help reproduce the problem.<br>
<br></blockquote><div><br></div><div>I attached icecast.xml. I also turned debug errorlog level on.</div><div>Results with debug on:</div><div><br></div><div>good start:</div><div><div>[2015-04-28 15:56:39] INFO main/main Icecast 2.4.1 server started</div><div>[2015-04-28 15:56:39] DBUG yp/yp_recheck_config Updating YP configuration</div><div>[2015-04-28 15:56:39] INFO connection/get_ssl_certificate No SSL capability</div><div>[2015-04-28 15:56:39] INFO stats/_stats_thread stats thread started</div><div>[2015-04-28 15:56:39] INFO yp/yp_update_thread YP update thread started</div><div>[2015-04-28 15:56:39] INFO source/source_fallback_file mountpoint /geen-uitzending.mp3 is reserved</div><div>[2015-04-28 15:56:39] DBUG connection/connection_complete_source sources count is 0</div><div>[2015-04-28 15:56:39] WARN format/format_get_type Unsupported or legacy stream type: "audio/mpeg". Falling back to generic minimal handler for best effort.</div><div>[2015-04-28 15:56:39] DBUG connection/connection_complete_source source is ready to start</div><div>[2015-04-28 15:56:39] DBUG source/source_init Source creation complete</div><div>[2015-04-28 15:56:39] WARN source/source_fallback_file mountpoint "/geen-uitzending.mp3" already reserved</div><div>[2015-04-28 15:56:39] INFO source/source_main listener count on /geen-uitzending.mp3 now 0</div><div>[2015-04-28 15:56:39] DBUG stats/modify_node_event update global sources (1)</div><div>[2015-04-28 15:56:39] DBUG stats/process_source_event new source stat /geen-uitzending.mp3</div><div>[2015-04-28 15:56:39] DBUG stats/modify_node_event update global source_client_connections (1)</div><div>[2015-04-28 15:56:39] DBUG stats/process_source_event new node listeners (0)</div><div>[2015-04-28 15:56:39] DBUG stats/process_source_event new node listenurl (<a href="http://stream3.server7.nl:80/geen-uitzending.mp3">http://stream3.server7.nl:80/geen-uitzending.mp3</a>)</div><div>[2015-04-28 15:56:39] DBUG stats/modify_node_event update global source_total_connections (1)</div><div>[2015-04-28 15:56:39] DBUG stats/process_source_event new node slow_listeners (0)</div><div>[2015-04-28 15:56:39] DBUG stats/modify_node_event update "/geen-uitzending.mp3" listeners (0)</div><div>[2015-04-28 15:56:39] DBUG stats/process_source_event new node listener_peak (0)</div><div>[2015-04-28 15:56:39] DBUG stats/process_source_event new node stream_start (Tue, 28 Apr 2015 15:56:39 +0200)</div><div>[2015-04-28 15:56:39] DBUG stats/process_source_event new node stream_start_iso8601 (2015-04-28T15:56:39+0200)</div><div>[2015-04-28 15:56:39] DBUG stats/process_source_event new node total_bytes_read (0)</div><div>[2015-04-28 15:56:39] DBUG stats/process_source_event new node total_bytes_sent (0)</div><div>[2015-04-28 15:56:39] DBUG stats/modify_node_event update "/geen-uitzending.mp3" listeners (0)</div><div>[2015-04-28 15:56:40] DBUG slave/_slave_thread checking master stream list</div><div><br></div></div><div>bad start (segfault):</div><div><div><div>[2015-04-28 15:56:53] INFO main/main Icecast 2.4.1 server started</div><div>[2015-04-28 15:56:53] DBUG yp/yp_recheck_config Updating YP configuration</div><div>[2015-04-28 15:56:53] INFO connection/get_ssl_certificate No SSL capability</div><div>[2015-04-28 15:56:53] INFO yp/yp_update_thread YP update thread started</div><div>[2015-04-28 15:56:53] INFO source/source_fallback_file mountpoint /geen-uitzending.mp3 is reserved</div><div>[2015-04-28 15:56:53] DBUG connection/connection_complete_source sources count is 0</div><div>[2015-04-28 15:56:53] WARN format/format_get_type Unsupported or legacy stream type: "audio/mpeg". Falling back to generic minimal handler for best effort.</div><div>[2015-04-28 15:56:53] DBUG connection/connection_complete_source source is ready to start</div><div>[2015-04-28 15:56:53] DBUG source/source_init Source creation complete</div><div>[2015-04-28 15:56:53] INFO stats/_stats_thread stats thread started</div><div>[2015-04-28 15:56:53] DBUG stats/process_source_event new source stat /geen-uitzending.mp3</div></div></div><div><br></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
> Both the stream and the fallback file are .mp3 type. I tried removing<br>
> the fallback entry. Then icecast starts always normally. So it seems<br>
> related to the .mp3 fallback.<br>
><br>
> Also I tried to launch icecast with strace, and this NEVER fails. No<br>
> segmentation faults!<br>
><br>
><br>
> Any idea what's going wrong? Something going wrong with timing on a<br>
> fast server?<br>
<br>
It sounds like you've found a race condition. I'm not exactly sure<br>
what's happening though.<br>
By the log output something seems to be instantly accessing the stream.<br>
Notice the order of the stats_thread is different in both.<br>
<br></blockquote><div><br></div><div>Yes this is the only interesting thing. The segfault only happens when </div><div>"INFO stats/_stats_thread stats thread started" </div><div>is missing in the error.log. So with every succesful start this line gets logged, and if the line is missing the segfault occurs.</div><div><br></div><div><br></div><div>I also tried running using valgrind on advice of Philipp, but when running with valgrind the segfault does not occur and icecast starts normally... (same as with gdb)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<br>
Cheers<br>
<br>
Thomas<br>
<br>
<br>
<br>
_______________________________________________<br>
Icecast-dev mailing list<br>
<a href="mailto:Icecast-dev@xiph.org">Icecast-dev@xiph.org</a><br>
<a href="http://lists.xiph.org/mailman/listinfo/icecast-dev" target="_blank">http://lists.xiph.org/mailman/listinfo/icecast-dev</a><br>
</blockquote></div><br></div></div>