View previous topic :: View next topic |
Author |
Message |
rockhost
Joined: 24 Jul 2007 Posts: 54 Location: Lawrence, KS
|
Posted: Sat Dec 15, 2012 4:51 pm Post subject: Difficulty starting Icecast v2.3.3 KH3 |
|
|
Hello,
This is a new problem to me. I have been fighting with it all morning on the command line. When I try to start the 2.3.3 KH3 branch I received this error.
[2012-12-15 10:46:13] WARN cfgfile/parse_xml_tags unknown element "threadpool" parsing "limits" at line 8
[2012-12-15 10:46:13] WARN cfgfile/parse_xml_tags unknown element "burst-on-connect" parsing "limits" at line 19
[2012-12-15 10:46:13] EROR main/fatal_error FATAL: error parsing config file (/home/centovacast/vhosts/xxxxxxxx/etc/server.conf)
[2012-12-15 10:46:13] EROR main/fatal_error XML config parsing error
Any ideas?
Thanks! _________________ Seth Cole (Google+) (@rockhost)
[ROCKHOST.COM, Inc. - "Established Y2K1"] |
|
Back to top |
|
 |
rockhost
Joined: 24 Jul 2007 Posts: 54 Location: Lawrence, KS
|
Posted: Sat Dec 15, 2012 7:10 pm Post subject: |
|
|
Well, I've widdled this problem down a little bit. Still can't get Icecast to start though.
root@army [/home/centovacast/vhosts/xxxxxxxx/etc]# /usr/local/bin/icecast -c ./server.conf
[2012-12-15 13:09:14] EROR main/fatal_error FATAL: error parsing config file (./server.conf)
[2012-12-15 13:09:14] EROR main/fatal_error XML config parsing error _________________ Seth Cole (Google+) (@rockhost)
[ROCKHOST.COM, Inc. - "Established Y2K1"] |
|
Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Sat Dec 15, 2012 10:50 pm Post subject: |
|
|
you can run xmllint on the xml file initially, usually you get some output but obviously I do not have the xml file to see. It should not be long before I cut a kh6 so you also may want to wait on but if you have some xml issue then all versions will have issues.
karl. |
|
Back to top |
|
 |
rockhost
Joined: 24 Jul 2007 Posts: 54 Location: Lawrence, KS
|
Posted: Sat Dec 15, 2012 11:16 pm Post subject: |
|
|
Hey Karl,
Thanks for the help, serious. Maybe this will reveal some answers?
<icecast>
<location>USA</location>
<admin></admin>
<limits>
<clients>10</clients>
<sources>3</sources>
<!--<threadpool>5</threadpool>-->
<queue-size>102400</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>
<!--
<max-bandwidth>100M</max-bandwidth>
-->
</limits>
<authentication>
<!-- Sources log in with username 'source' -->
<source-password>xxxxxx</source-password>
<!-- Relays log in username 'relay' -->
<relay-password>xxxxxxxrelay-password>
<!-- Admin logs in with the username given below -->
<admin-user>admin</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>15</directory>
{%comment-open-if:icecast.directory.yp-url==""%}
<directory>15</directory>
{%comment-close-if:icecast.directory.yp-url==""%}
<!-- 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>123.45.567.89</hostname>
<!-- 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>
-->
<!-- port to use when talking to YP etc -->
<!--<port>8000</port> -->
<!-- You can use these two if you only want a single listener -->
<port>8000</port>
<bind-address>173.255.139.169</bind-address>
<!-- You may have multiple <listener> elements -->
<!--
<listen-socket>
<port>8000</port>
<bind-address>127.0.0.1</bind-address>
use <shoutcast-mount> in here to implicitly define port n+1
</listen-socket>
-->
<!--
<listen-socket>
<port>8001</port>
<ssl>1</ssl>
</listen-socket>
-->
<!-- {%comment-open-if:icecast.master-server==""%} --> <!--
<relays-on-demand>0</relays-on-demand>
<master-server>127.0.0.1</master-server>
<master-server-port>8001</master-server-port>
<master-update-interval>120</master-update-interval>
<master-password>password</master-password>
--> <!-- {%comment-close-if:icecast.master-server==""%} -->
<!-- issue above authentication for relays in slave setup -->
<!--<master-relay-auth>1</master-relay-auth>-->
<!-- 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>-->
<!-- Request the master server to redirect new listeners to this slave
the details passed are based on <hostname> and <port> -->
<!--<master-redirect>1</master-redirect>-->
<!-- The maximum nuber of slaves that can register for new listener redirection. -->
<!--<max-redirect-slaves>10</max-redirect-slaves>-->
<!-- Relays. State connection information, and by default
request inline metadata for mp3 streams if available.
An on-demand relay will only retrieve the stream if
there are listeners connected -->
<!-- {%comment-open-if:icecast.relay.server==""%} --> <!--
<relay>
<server>127.0.0.1</server>
<port>8001</port>
<mount>/example.ogg</mount>
<local-mount>/different.ogg</local-mount>
<username></username>
<password></password>
<relay-shoutcast-metadata>0</relay-shoutcast-metadata>
<on-demand>0</on-demand>
</relay>
--> <!-- {%comment-close-if:icecast.relay.server==""%} -->
<!-- Allow multiple master servers to be specified, tries each one in turn.
<relay>
<local-mount>/stream.mp3</local-mount>
<server>a.b.c.d</server>
<timeout>6</timeout>
<master>
<port>8000</port>
<mount>/a</mount>
</master>
<master>
<port>80</port>
<mount>/</mount>
</master>
</relay>
-->
<!-- Only define a <mount> section if you want to use advanced options,
like alternative usernames or passwords
With a master/slave setup you need to define a mount in the master
or else the server will assume that the stream is not to be made
available to the slave. -->
<mount cc="main">
<mount-name>/stream</mount-name>
<intro></intro>
<fallback-mount>/live</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>0</fallback-when-full>
<!-- {%comment-open-if:icecast.suppressmeta=="0"%} --> <!--
<mp3-metadata-interval>0</mp3-metadata-interval>
--> <!-- {%comment-close-if:icecast.suppressmeta=="0"%} -->
<no-yp>1</no-yp>
</mount>
<mount cc="live">
<mount-name>/live</mount-name>
<intro></intro>
<fallback-mount>/autodj</fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>0</fallback-when-full>
<!-- {%comment-open-if:icecast.suppressmeta=="0"%} --> <!--
<mp3-metadata-interval>0</mp3-metadata-interval>
--> <!-- {%comment-close-if:icecast.suppressmeta=="0"%} -->
<no-yp>1</no-yp>
</mount>
<mount cc="autodj">
<mount-name>/autodj</mount-name>
<bitrate>128</bitrate>
<intro></intro>
<fallback-mount></fallback-mount>
<fallback-override>1</fallback-override>
<fallback-when-full>0</fallback-when-full>
<!-- {%comment-open-if:icecast.suppressmeta=="0"%} --> <!--
<mp3-metadata-interval>0</mp3-metadata-interval>
--> <!-- {%comment-close-if:icecast.suppressmeta=="0"%} -->
<no-yp>1</no-yp>
<charset>UTF-8</charset>
</mount>
<fileserve>1</fileserve>
<paths>
<!-- basedir is only used if chroot is enabled -->
<basedir>/home/centovacast/vhosts/xxxxxxxx/</basedir>
<!-- Note that if <chroot> is turned on below, these paths must both
be relative to the new root, not the original root -->
<logdir>var/log/</logdir>
<webroot>web/</webroot>
<adminroot>admin/</adminroot>
<pidfile>var/run/server.pid</pidfile>
<!-- <ssl-certificate>/usr/local/share/icecast/icecast.pem</ssl-certificate> -->
<!-- <deny-ip>/path/to/file-with-IPs</deny-ip> -->
<!-- <allow-ip>/path/to/file-with-IPs</allow-ip> -->
<!-- <deny-agents>/path/to/file-with-useragents</deny-agents> -->
<!-- location of mime types files used for file serving -->
<!-- <mime-types>/etc/mime.types</mime-types> -->
<!-- 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="/admin/" dest="/admin/stats.xsl"/>
<!-- 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="/index.html"/>
</paths>
<logging>
<accesslog>access.log</accesslog>
<errorlog>error.log</errorlog>
<!-- <accesslog_ip>0<accesslog_ip> -->
<!-- <playlistlog>playlist.log</playlistlog> -->
<loglevel>4</loglevel> <!-- 4 Debug, 3 Info, 2 Warn, 1 Error -->
<logsize>10000</logsize> <!-- Max size of a logfile -->
<!-- If logarchive is enabled (1), then when logsize is reached
the logfile will be moved to [error|access|playlist].log.DATESTAMP,
otherwise it will be moved to [error|access|playlist].log.old.
Default is non-archive mode (i.e. overwrite)
-->
<!-- <logarchive>1</logarchive> -->
</logging>
<security>
<chroot>0</chroot>
<!--
<changeowner>
<user>nobody</user>
<group>nogroup</group>
</changeowner>
-->
</security>
</icecast>
Please let me know if you think I'm overlooking something. _________________ Seth Cole (Google+) (@rockhost)
[ROCKHOST.COM, Inc. - "Established Y2K1"] |
|
Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Sat Dec 15, 2012 11:39 pm Post subject: |
|
|
one thing that does not look right is
<relay-password>xxxxxxxrelay-password>
xmllint is very useful if dealing with large xml files.
other things may not show as an xml failure but are equally wrong, such as
{%comment-open-if:icecast.directory.yp-url==""%}
I would suggest increasing the very small queue size from 100k
karl |
|
Back to top |
|
 |
rockhost
Joined: 24 Jul 2007 Posts: 54 Location: Lawrence, KS
|
Posted: Sun Dec 16, 2012 12:33 pm Post subject: |
|
|
Hello, and thanks,
The relay xml was simply a typo as I didn't want to include the real password.
I have added a zero to the queue-size setting, acceptable?
Also, by commenting out <directory>15</directory> I have been able to successfully start the stream. I believe that may have been defined twice causing the crash. _________________ Seth Cole (Google+) (@rockhost)
[ROCKHOST.COM, Inc. - "Established Y2K1"] |
|
Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Sun Dec 16, 2012 10:43 pm Post subject: |
|
|
a queue-size of 0 does not make sense, you want to store to most 0 bytes of data for listeners? I missed the directory setting, yes that is also invalid. Both of those are valid in xml but not acceptable settings.
karl. |
|
Back to top |
|
 |
rockhost
Joined: 24 Jul 2007 Posts: 54 Location: Lawrence, KS
|
Posted: Mon Dec 17, 2012 1:14 am Post subject: |
|
|
My apologies. Let me be more clear. I mean that I added a zero to the end of the number. So, instead of 102400, I'm using 1024000.
Does that sound ok? _________________ Seth Cole (Google+) (@rockhost)
[ROCKHOST.COM, Inc. - "Established Y2K1"] |
|
Back to top |
|
 |
karlH Code Warrior

Joined: 13 Jun 2005 Posts: 5476 Location: UK
|
Posted: Mon Dec 17, 2012 7:44 am Post subject: |
|
|
1Meg is plenty for most cases, even a 320k stream is about 40 seconds.
karl. |
|
Back to top |
|
 |
|