icecast-kh
icecast-kh copied to clipboard
kh-16: The server does not respond after reloading the config file
If the following settings are included in the config file, it works perfectly after startup. However, if I reload the config file, the port remains open, but Icecast is not responding. Unfortunately, if the loglevel is set to level 4, when the error appears, it does not contain anything unusual.
Config file: https://pastebin.com/bFxzrzfH
can you check against kh16.3 (https://github.com/karlheyes/icecast-kh/tags). I suspect it's down to a lock imbalance
karl
kh16.3 seems to work fine.
can you check against kh16.3 (https://github.com/karlheyes/icecast-kh/tags). I suspect it's down to a lock imbalance
karl
@karlheyes please upload windows 64 version, i will give it a try
ok, shoudl see it at karlheyes.github.io/icecast-2.4.0-kh16.3_win64_setup.exe
I'm nearing a kh17 update so let me know of anything
karl
I'm nearing a kh17 update so let me know of anything karl
thanks, I'm trying it. and still running smoothly including the relay
@karlheyes
icecast-2.4.0-kh16.3_win64
i'm setting in icecast. xml
<deny-agents>blockagen.txt</deny-agents>
settings in the blockagen.txt file
*vlc*
*winamp*
results :
error. log
[2023-01-08 06:30:38] INFO util/cached_file_recheck 2 entries read from file "blockagen.txt"
try playing with winamp and VLC still running normally and not blocked
@karlheyes try adding to lunaplayer https://audioplayer.luna-universe.com/shortcode
with native mountpoints enter the url to lunaplayer https://sub.domain:8000/stream result: artwork and title appear and run normally
added an alias in icecast.xml
<alias source="/test" dest="/stream"/>
then enter the url to lunaplayer
https://sub.domain:8000/test
result: artwork and title do not appear
the agents issue could be just a case-sensitive issue. The is a case insensitive setting that may usable which is something that could apply to agents. I'd have to check into the alias issue
@karlheyes I'd have to check into the alias issue
it turns out that it's not just a problem added an alias in icecast.xml, from adding a fallback-mount the metadata doesn't appear on lunaplayer even though playing using a normal player (winamp, foobar, vlc etc) metadata still appears (such as song titles and artist names). with the settings in lunaplayer metadatatechnic: "stream-icy-meta", or metadatatechnic: "directly", the result remains the same, metadata does not appear for the follback mount point or from the alias
are you seeing any other requests being made from the player to verify something like OPTIONS or similar. An alias would not make any material difference to things like icy inserts
I think I have a patch to handle case-insensitive user agent handling. It seems to work on the tests here, pushed on master
karl
check for FNMATCH in the config.h first, because if that is stuffed then we need to look at that. The useragent wildcard matching is working here
[2023-01-08 02:12:26] DBUG util/add_generic_text Adding wildcard entry "VLC" [2023-01-08 02:12:26] INFO util/cached_file_recheck 2 entries read from file "agents" [2023-01-08 02:12:26] DBUG util/cached_pattern_search VLC/3.0.18 LibVLC/3.0.18 matched pattern [2023-01-08 02:12:26] INFO connection/http_client_request dropping client at 127.0.0.1 because useragent is VLC/3.0.18 LibVLC/3.0.18
unsure what you are getting.
karl
check for FNMATCH in the config.h first, because if that is stuffed then we need to look at that. The useragent wildcard matching is working here
I tested using the Windows64 version, are there other settings so that it runs well?
ok, try the link from before again. karlheyes.github.io/icecast-2.4.0-kh16.3_win64_setup.exe
windows does not have the basic library for handling that, so it is supposed to use to shipped version, but I don't think that was getting referenced. It should be now.
karl
okay.. any developments for unreadable metadata in lunaplayer from alias settings or follaback mount @karlheyes ?
ok, try the link from before again. karlheyes.github.io/icecast-2.4.0-kh16.3_win64_setup.exe
windows does not have the basic library for handling that, so it is supposed to use to shipped version, but I don't think that was getting referenced. It should be now.
thank's @karlheyes
I just downloaded the icecast-2.4.0-kh16.3_win64_setup.exe update again, the results are very satisfying and the banned agent worked fine thank you..
[2023-01-08 16:15:42] INFO util/cached_file_recheck 2 entries read from file "agents" [2023-01-08 16:15:42] INFO source/source_add_listener max on /stream is -1 (cur 0) [2023-01-08 16:15:42] INFO source/source_read listener count on /stream now 1 [2023-01-08 16:15:50] INFO connection/http_client_request dropping client at 18x.71x.xx.xx because useragent is VLC/3.0.18 LibVLC/3.0.18 [2023-01-08 16:15:50] INFO connection/http_client_request dropping client at 18x.71x.xx.xx because useragent is VLC/3.0.18 LibVLC/3.0.18
thanks the verifying. Still not sure on the issue with the alias yet, as you have not specified whether other requests came in, and the fact that its a web client, so the moment I'm assuming it's related to CORS. Possibly down to certain headers not being allowed Can you check with the work for http headers which has that updated.
karlheyes.github.io/icecast-2.4.0-kh17-pre1_win64_setup.exe
karl
@karlheyes karlheyes.github.io/icecast-2.4.0-kh17-pre1_win64_setup.exe
karl
I installed icecast-2.4.0-kh17-pre1_win64_setup with the same icecast.xml settings on version 16.3 but the icecast service still stops. not running and icecat off several times trying to restart it keeps icecast off
[2023-01-09 04:31:46] INFO yp/yp_shutdown YP cleanup complete
[2023-01-09 04:31:46] INFO fserve/fserve_shutdown file serving stopped
after that can no longer restart / start icecast (always off)
after I tried deleting some of the commands in icecast.xml
<mount type="normal">
<mount-name>/aac</mount-name>
......
.....
<http-headers>
......
<http-headers>
</mount>
iececast service can start again
with or without adding <http-headers>..... </http-headers>
in <mount type="normal">..... </mount>
still the icecast service is not running and can't start/restart
hmm ok, let me recheck some things here
just doing a rebase, can I ask, what sort of settings you have in the mount. The type in the mount should be ignored as I never used that but I will make sure of that. Might have to check on windows as it seems ok here.
karl.
just doing a rebase, can I ask, what sort of settings you have in the mount. The type in the mount should be ignored as I never used that but I will make sure of that. Might have to check on windows as it seems ok here.
karl.
I tried editing again
<relay>
<server>xx.xxx.xxx.xxx</server>
<port>8000</port>
<mount>/restream</mount>
<local-mount>/stream</local-mount>
<username>source</username>
<password>xxxxxxxxxx</password>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
<mount>
<mount-name>/stream</mount-name>
<charset>UTF-8</charset>
<stream-name>NAME ABCDEFGH</stream-name>
<stream-description>STREAM ABCDEFGH ON The Skyy</stream-description>
<stream-url>https://domain.com</stream-url>
<genre>Pop</genre>
<public>0</public>
<bitrate>128</bitrate>
<http-headers>
<header name="icy-index-metadata" value="1" />
<header name="icy-logo" value="https://xxxxxxxxxxxxxx.png" />
<header name="icy-country-code" value="xx" />
<header name="icy-country-subdivision-code" value="xx" />
<header name="icy-language-codes" value="xx" />
<header name="icy-main-stream-url" value="https://domain.com:8000/stream" />
<header name="icy-geo-lat-long" value="xxxxx, xxxxxx" />
</http-headers>
</mount>
with or without including mount type, still iececast service is not running and can't start
right, rebased to include the mast updates and fixed the missing status code which also faulted, For reference the status code in this build uses the fnmatch for 2* or @(200|404) sort of thing is allowed. If missing defaults to just *
icecast-2.4.0-kh17-pre2_win64_setup.exe is up
karl
icecast-2.4.0-kh17-pre2_win64_setup.exe is up
@karlheyes
trial icecast-2.4.0-kh17-pre2_win64_setup.exe
setting only mount it goes well icecast service running
but adding http-headers inside mount :
<http-headers>
........
</http-headers>
icecast service stop/not running, can't start or restart
I'll duplicate it a bit more here on windows, but the http-headers can be done globally, actually the default set would still apply, it is just a question of adding or overriding. So unless you have to add headers the CORS aspect should work. The global set would still apply to the mount block even if not defined.
actually I see the format check is failing, let me sort that
karl
actually I see the format check is failing, let me sort that
@karlheyes
I'm curious, re-install icecast-2.4.0-kh17-pre1_win64_setup.exe
setting again icecast.xml and remove <http-headers>
and </http-headers>
see below:
<relay>
<server>xx.xxx.xxx.xxx</server>
<port>8000</port>
<mount>/restream</mount>
<local-mount>/stream</local-mount>
<username>source</username>
<password>xxxxxxxxx</password>
<relay-shoutcast-metadata>1</relay-shoutcast-metadata>
</relay>
<mount>
<mount-name>/stream</mount-name>
<charset>UTF-8</charset>
<stream-name>NAME ABCDEFGH</stream-name>
<stream-description>STREAM ABCDEFGH ON The Skyy</stream-description>
<stream-url>https://domain.com</stream-url>
<genre>Pop</genre>
<public>0</public>
<bitrate>128</bitrate>
<header name="icy-index-metadata" value="1" />
<header name="icy-logo" value="https://xxxxxxxxxxxxxx.png" />
<header name="icy-country-code" value="xx" />
<header name="icy-country-subdivision-code" value="xx" />
<header name="icy-language-codes" value="xx" />
<header name="icy-main-stream-url" value="https://domain.com:8000/stream" />
<header name="icy-geo-lat-long" value="xxxxx, xxxxxx" />
</mount>
The results in the log are as follows:
[2023-01-09 09:15:27] INFO logging/recheck_log_file Using log file .\logs\access.log [2023-01-09 09:15:27] INFO main/server_proc_init Icecast 2.4.0-httpheaders-1 server reading configuration from icecast.xml [2023-01-09 09:15:27] INFO connection/get_ssl_certificate No SSL capability on any configured ports [2023-01-09 09:15:27] INFO connection/connection_setup_sockets 2 listener socket(s) for port 8001 [2023-01-09 09:15:27] INFO connection/connection_setup_sockets 2 listener socket(s) for port 8000 [2023-01-09 09:15:27] INFO connection/connection_setup_sockets 4 listening sockets setup complete [2023-01-09 09:15:27] INFO main/server_process Icecast 2.4.0-httpheaders-1 server started [2023-01-09 09:15:27] INFO client/workers_adjust requested worker count 2 [2023-01-09 09:15:27] INFO client/log_commit_thread started [2023-01-09 09:15:27] INFO client/worker_start starting incoming worker thread 000000cb9ad85ad0 [2023-01-09 09:15:27] INFO yp/yp_recheck_config Adding new YP server "http://dir.xiph.org/cgi-bin/yp-cgi" (timeout 15s, default interval 600s) [2023-01-09 09:15:27] INFO yp/yp_client_add Starting Directory client for YP processing [2023-01-09 09:15:27] INFO connection/connection_thread connection thread started
icecast-2.4.0-kh17-pre3_win64_setup.exe is now up. The header validation was not working and ended up invalidating the name, so I've reworked it and that should be all ok now
karl
icecast-2.4.0-kh17-pre3_win64_setup.exe is now up. The header validation was not working and ended up invalidating the name, so I've reworked it and that should be all ok now
@karlheyes
Thank's now i install icecast-2.4.0-kh17-pre3_win64_setup.exe the result is as follows:
[2023-01-09 09:35:16] INFO thread/ lock abort set to 0 [2023-01-09 09:35:16] INFO logging/recheck_log_file Using log file .\logs\access.log [2023-01-09 09:35:16] INFO main/server_proc_init Icecast 2.4.0-kh17-pre3 server reading configuration from icecast.xml [2023-01-09 09:35:16] INFO connection/get_ssl_certificate No SSL capability on any configured ports [2023-01-09 09:35:16] INFO connection/connection_setup_sockets 2 listener socket(s) for port 8001 [2023-01-09 09:35:16] INFO connection/connection_setup_sockets 2 listener socket(s) for port 8000 [2023-01-09 09:35:16] INFO connection/connection_setup_sockets 4 listening sockets setup complete [2023-01-09 09:35:16] INFO main/server_process Icecast 2.4.0-kh17-pre3 server started [2023-01-09 09:35:16] INFO client/workers_adjust requested worker count 2 [2023-01-09 09:35:16] INFO client/log_commit_thread started [2023-01-09 09:35:16] INFO client/worker_start starting incoming worker thread 000000e0ad9f5e50 [2023-01-09 09:35:16] INFO yp/yp_recheck_config Adding new YP server "http://dir.xiph.org/cgi-bin/yp-cgi" (timeout 15s, default interval 600s) [2023-01-09 09:35:16] INFO yp/yp_client_add Starting Directory client for YP processing [2023-01-09 09:35:16] INFO connection/connection_thread connection thread started [2023-01-09 09:35:16] INFO slave/start_relay_stream Starting relayed source at mountpoint "/stream" [2023-01-09 09:35:16] INFO slave/open_relay_connection using username source for /stream [2023-01-09 09:35:16] INFO slave/open_relay_connection connecting to 1xx.xx.xx.xx:8000 for /stream [2023-01-09 09:35:16] INFO format-mp3/format_mp3_get_plugin Created format details for /stream [2023-01-09 09:35:16] INFO format-mp3/mpeg_apply_client icy metadata format expected on /stream, interval 16000 [2023-01-09 09:35:16] INFO source/source_init Source /stream initialised [2023-01-09 09:35:16] INFO source/source_apply_mount Applying mount information for "/stream" [2023-01-09 09:35:16] INFO slave/start_relay_stream source /stream is ready to start [2023-01-09 09:35:16] INFO source/source_read listener count on /stream now 0 [2023-01-09 09:35:16] INFO mpeg/check_for_aac Detected AAC MPEG-4, 22050Hz 2 channel(s) 64 kbps on 1xx.xx.xx.xx [2023-01-09 09:35:16] INFO source/source_set_override no override for /stream set [2023-01-09 09:35:16] INFO format-mp3/parse_icy_metadata incoming title for /stream Bon Jovi - Always [2023-01-09 09:35:16] INFO format-mp3/metadata_setup icy metadata on /stream as (3) StreamTitle='Bon Jovi - Always';... [2023-01-09 09:35:16] INFO util/cached_file_recheck 3 entries read from file "agents" [2023-01-09 09:35:16] WARN client/client_http_apply header problem Connection:Close [2023-01-09 09:35:16] INFO source/source_read listener count on /stream now 1
[2023-01-09 09:35:16] WARN client/client_http_apply header problem Connection:Close
I guess you trying to set a connection header? This should be just a warning on a 1.0 connection. I can make it so that is silently ignored for that case
I guess you trying to set a connection header? This should be just a warning on a 1.0 connection. I can make it so that is silently ignored for that case
well I tried to play stream on 1 player (winamp). now I tried to play on 3 devices (winamp, VLC, foobar) there is no more warning in the log
how about this luna player?
how about this luna player?
in lunaplayer for the native mountpoint of the encoder/relay, metadata it runs normally. I think maybe if the relay appears metadata because there is a command <relay-shoutcast-metadata>1</relay-shoutcast-metadata>
the mountpoint of the alias and fallback-mount metadata are not showing maybe because there is no metadata relay command
I also noticed reading metadata in luna player has something to do with the status-json.xsl and xml2json.xslt files. if the file is deleted the metadata is lost in luna player including the original mouthpoint from the encoder or from the metadata relay