Icecast Streaming Media Server Forum Index Icecast Streaming Media Server
Icecast is a Xiph Foundation Project
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

icecast status page not showing, server dead after 4 clients

 
Post new topic   Reply to topic    Icecast Streaming Media Server Forum Index -> Icecast Server
View previous topic :: View next topic  
Author Message
Anonymous
Guest





PostPosted: Thu Oct 13, 2005 2:46 pm    Post subject: icecast status page not showing, server dead after 4 clients Reply with quote

hi, i'm new to icecast, but not new to pc's nor networking.

i have icecast 2.3, on a winXP, fresh install with all the cosmetics removed. only winamp and icecast installed, so it's a sort of dedicated music server. i took a look into the default icecast conf file, that xml file, and changed site names, ports and some limits, here's the whole conf file:

<icecast>
<limits>
<clients>7</clients>
<sources>2</sources>
<threadpool>5</threadpool>
<queue-size>524288</queue-size>
<client-timeout>30</client-timeout>
<header-timeout>15</header-timeout>
<source-timeout>10</source-timeout>
<!-- If enabled, this will provide a burst of data when a client
first connects, thereby significantly reducing the startup
time for listeners that do substantial buffering. However,
it also significantly increases latency between the source
client and listening client. For low-latency setups, you
might want to disable this. -->
<burst-on-connect>1</burst-on-connect>
<!-- same as burst-on-connect, but this allows for being more
specific on how much to burst. Most people won't need to
change from the default 64k. Applies to all mountpoints -->
<burst-size>65535</burst-size>
</limits>

<authentication>
<!-- Sources log in with username 'source' -->
<source-password>XXXXXXXX</source-password>
<!-- Relays log in username 'relay' -->
<relay-password>XXXXX</relay-password>

<!-- Admin logs in with the username given below -->
<admin-user>XXXXX</admin-user>
<admin-password>XXXXXX</admin-password>
</authentication>

<!-- Uncomment this if you want directory listings -->
<!--
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory>
<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://www.oddsock.org/cgi-bin/yp-cgi</yp-url>
</directory>
-->

<!-- This is the hostname other people will use to connect to your server.
It affects mainly the urls generated by Icecast for playlists and yp
listings. -->
<hostname>XXXXX.XX</hostname>

<!-- You can use these two if you only want a single listener -->
<!--<port>8000</port> -->
<!--<bind-address>127.0.0.1</bind-address>-->

<!-- You may have multiple <listener> elements -->
<listen-socket>
<port>8002</port>
<!-- <bind-address>127.0.0.1</bind-address> -->
</listen-socket>
<!--
<listen-socket>
<port>8003</port>
</listen-socket>
-->

<!--<master-server>127.0.0.1</master-server>-->
<!--<master-server-port>8001</master-server-port>-->
<!--<master-update-interval>120</master-update-interval>-->
<!--<master-password>hackme</master-password>-->

<!-- setting this makes all relays on-demand unless overridden, this is
useful for master relays which do not have <relay> definitions here.
The default is 0 -->
<!--<relays-on-demand>1</relays-on-demand>-->

<!--
<relay>
<server>127.0.0.1</server>
<port>8001</port>
<mount>/example.ogg</mount>
<local-mount>/different.ogg</local-mount>
<on-demand>0</on-demand>

<relay-shoutcast-metadata>0</relay-shoutcast-metadata>
</relay>
-->

<!-- Only define a <mount> section if you want to use advanced options,
like alternative usernames or passwords
<mount>
<mount-name>/example-complex.ogg</mount-name>

<username>othersource</username>
<password>hackmemore</password>

<max-listeners>1</max-listeners>
<dump-file>/tmp/dump-example1.ogg</dump-file>
<burst-size>65536</burst-size>
<fallback-mount>/example2.ogg</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>1</fallback-when-full>
<intro>/example_intro.ogg</intro>
<hidden>1</hidden>
<no-yp>1</no-yp>
<authentication type="htpasswd">
<option name="filename" value="myauth"/>
<option name="allow_duplicate_users" value="0"/>
</authentication>
<on-connect>/home/icecast/bin/stream-start</on-connect>
<on-disconnect>/home/icecast/bin/stream-stop</on-disconnect>
</mount>

<mount>
<mount-name>/auth_example.ogg</mount-name>
<authentication type="url">
<option name="mount_add" value="http://myauthserver.net/notify_mount.php"/>
<option name="mount_remove" value="http://myauthserver.net/notify_mount.php"/>
<option name="listener_add" value="http://myauthserver.net/notify_listener.php"/>
<option name="listener_remove" value="http://myauthserver.net/notify_listener.php"/>
</authentication>
</mount>

-->

<fileserve>1</fileserve>

<!-- set the mountpoint for a shoutcast source to use, the default if not
specified is /stream but you can change it here if an alternative is
wanted or an extension is required
<shoutcast-mount>/live.nsv</shoutcast-mount>
-->

<paths>
<!-- basedir is only used if chroot is enabled -->
<basedir>./</basedir>

<!-- Note that if <chroot> is turned on below, these paths must both
be relative to the new root, not the original root -->
<logdir>./logs</logdir>
<webroot>./web</webroot>
<adminroot>./admin</adminroot>
<!-- <pidfile>./icecast.pid</pidfile> -->

<!-- Aliases: treat requests for 'source' path as being for 'dest' path
May be made specific to a port or bound address using the "port"
and "bind-address" attributes.
-->
<!--
<alias source="/foo" dest="/bar"/>
-->
<!-- Aliases: can also be used for simple redirections as well,
this example will redirect all requests for http://server:port/ to
the status page
-->
<alias source="/" dest="/status.xsl"/>
</paths>

<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<!-- <playlistlog>playlist.log</playlistlog> -->
<loglevel>1</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
</logging>

<security>
<chroot>0</chroot>
<!--
<changeowner>
<user>nobody</user>
<group>nogroup</group>
</changeowner>
-->
</security>
</icecast>

site name, user names and passwds replaced with X's for certain reasons here. but here's the deal. when no users are connected, everything is fine. but when 3-4 users are connected, the server's status page looses it's images, only placeholders are displayed, and when 'show picture' is selected on each placeholder, the image is shown correctly, but after refresh images are gone again. if one more user connects, status page looses its styles, and becames a plain text web site, and one more, the whole site is down, 404 error only after that, and new clients connecting to icecast will get either 404 or error syncing to mpeg. yes, it is a mp3 stream, and mount point ends also with '.mp3', and not a ogg stream ending with '.mp3'. server uptime has no effect on this problem, nor restarting. i did fix the problem, but i don't what caused the problem. i replaced the original config xml file with the included config-minimal.xml file, again changed all the setting i had to change but didn't add anything new that was in the original config file, so here's how it looks, that minimal conf file:

<!-- This config file contains a minimal set of configurable parameters,
and mostly just contains the things you need to change. We created
this for those who got scared away from the rather large and heavily
commented icecast.xml.dist file. -->
<icecast>
<limits>
<sources>4</sources>
</limits>
<authentication>
<source-password>XXXXXXXX</source-password>
<relay-password>XXXXXX</relay-password>
<admin-user>XXXXXX</admin-user>
<admin-password>XXXXXX</admin-password>
</authentication>

<!--<directory>
<yp-url-timeout>15</yp-url-timeout>
<yp-url>http://dir.xiph.org/cgi-bin/yp-cgi</yp-url>
</directory> -->

<hostname>XXXXXX.XX</hostname>
<listen-socket>
<port>8002</port>
</listen-socket>
<fileserve>1</fileserve>
<paths>
<logdir>./logs</logdir>
<webroot>./web</webroot>
<adminroot>./admin</adminroot>
<alias source="/" dest="/status.xsl"/>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<loglevel>3</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
</logging>
</icecast>

the same stuff got replaced with X's, but all the site names, passwords and user names are the same as in the first conf file, but it WORKS. why? now i have all my clients connected and it flies, no probs whatsoever. was it the thread limit? does icecast handle one client per thread only? what causes the problem in the first conf file?

thank you for reading this :)
Back to top
karlH
Code Warrior
Code Warrior


Joined: 13 Jun 2005
Posts: 5476
Location: UK

PostPosted: Thu Oct 13, 2005 5:02 pm    Post subject: Reply with quote

The first xml has the <clients> setting too low, only 7. 1 source client, 3-4 listeners and then you access the xsl pages, which is 1 access (xsl) followed by the several links referenced off that sent at more of less the same time. clients is a hard limit that you should set high enough to handle your expected load, I think the default is 256 which probably explains why the latter one is ok.

The server should not crash if the limit is reached, and the threadpool setting in 2.3 is ignored.

karl.
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Anonymous
Guest





PostPosted: Fri Oct 14, 2005 6:39 am    Post subject: Reply with quote

yes, it looks like this is the problem, i have no time to test it now, but i would have never probably found that by myself. i thought <clients> was the hard limit for all the listener clients and web page was served by some other thread completely.

and server did not crash, all the clients that were connected, stayed connected, but new ones were not able to connect and the status page was down also.

thanks karlH
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Icecast Streaming Media Server Forum Index -> Icecast Server All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2002 phpBB Group
subRebel style by ktauber