Channels DVR times out after 12s trying to fetch the playlist.m3u8 from the Samsung container
2024/10/26 15:15:13.825703 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
To me, this says Channels DVR made the request at 2024/10/26 15:15:01
But the Samsung container shows the request at 2024/10/26 15:15:21, which is 20 seconds after Channels DVR made the request.
So 8 seconds after Channels DVR times out and disconnects, we get a Broken pipe exception.
Samsung container log
2024-10-26T22:15:21.774874689Z Including channels from regions: ['us']
2024-10-26T22:15:21.775205252Z 192.168.144.1 - - [26/Oct/2024 15:15:21] "GET /playlist.m3u8 HTTP/1.1" 200 -
2024-10-26T22:15:21.777449328Z 192.168.144.1 - - [26/Oct/2024 15:15:21] "GET /playlist.m3u8 HTTP/1.1" 500 -
2024-10-26T22:15:21.777787699Z ----------------------------------------
2024-10-26T22:15:21.777908451Z Exception occurred during processing of request from ('192.168.144.1', 44480)
2024-10-26T22:15:21.779876350Z Traceback (most recent call last):
2024-10-26T22:15:21.780945769Z File "/usr/src/app/./app.py", line 48, in do_GET
2024-10-26T22:15:21.781204142Z routes[func]()
2024-10-26T22:15:21.781378660Z File "/usr/src/app/./app.py", line 96, in _playlist
2024-10-26T22:15:21.781524574Z self.wfile.write(f'#EXTINF:-1 channel-id="{channel_id}" tvg-id="{key}" tvg-logo="{logo}" group-title="{group}"{chno},{name}\n{url}\n'.encode('utf8'))
2024-10-26T22:15:21.781676874Z File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-26T22:15:21.781803555Z self._sock.sendall(b)
2024-10-26T22:15:21.781905473Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-26T22:15:21.782009662Z
2024-10-26T22:15:21.782094622Z During handling of the above exception, another exception occurred:
2024-10-26T22:15:21.782198372Z
2024-10-26T22:15:21.782279478Z Traceback (most recent call last):
2024-10-26T22:15:21.782994632Z File "/usr/local/lib/python3.12/socketserver.py", line 692, in process_request_thread
2024-10-26T22:15:21.783216446Z self.finish_request(request, client_address)
2024-10-26T22:15:21.783465992Z File "/usr/local/lib/python3.12/socketserver.py", line 362, in finish_request
2024-10-26T22:15:21.783672885Z self.RequestHandlerClass(request, client_address, self)
2024-10-26T22:15:21.783819644Z File "/usr/src/app/./app.py", line 23, in __init__
2024-10-26T22:15:21.783932717Z super().__init__(*args, **kwargs)
2024-10-26T22:15:21.784028259Z File "/usr/local/lib/python3.12/socketserver.py", line 761, in __init__
2024-10-26T22:15:21.784128136Z self.handle()
2024-10-26T22:15:21.784226555Z File "/usr/local/lib/python3.12/http/server.py", line 436, in handle
2024-10-26T22:15:21.784396009Z self.handle_one_request()
2024-10-26T22:15:21.784528152Z File "/usr/local/lib/python3.12/http/server.py", line 424, in handle_one_request
2024-10-26T22:15:21.784892417Z method()
2024-10-26T22:15:21.785022207Z File "/usr/src/app/./app.py", line 50, in do_GET
2024-10-26T22:15:21.785133745Z self._error(e)
2024-10-26T22:15:21.785230833Z File "/usr/src/app/./app.py", line 27, in _error
2024-10-26T22:15:21.785374280Z self.end_headers()
2024-10-26T22:15:21.785496450Z File "/usr/local/lib/python3.12/http/server.py", line 538, in end_headers
2024-10-26T22:15:21.785606428Z self.flush_headers()
2024-10-26T22:15:21.785697012Z File "/usr/local/lib/python3.12/http/server.py", line 542, in flush_headers
2024-10-26T22:15:21.785800081Z self.wfile.write(b"".join(self._headers_buffer))
2024-10-26T22:15:21.785899353Z File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-26T22:15:21.785999264Z self._sock.sendall(b)
2024-10-26T22:15:21.786087818Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-26T22:15:21.786179593Z ----------------------------------------
Same thing again
2024/10/26 15:15:25.847026 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Samsung container log
2024-10-26T22:15:33.560914247Z Including channels from regions: ['us']
2024-10-26T22:15:33.561195371Z 192.168.144.1 - - [26/Oct/2024 15:15:33] "GET /playlist.m3u8 HTTP/1.1" 200 -
2024-10-26T22:15:33.563581368Z 192.168.144.1 - - [26/Oct/2024 15:15:33] "GET /playlist.m3u8 HTTP/1.1" 500 -
2024-10-26T22:15:33.563876285Z ----------------------------------------
2024-10-26T22:15:33.564048296Z Exception occurred during processing of request from ('192.168.144.1', 44482)
2024-10-26T22:15:33.566271507Z Traceback (most recent call last):
2024-10-26T22:15:33.567308958Z File "/usr/src/app/./app.py", line 48, in do_GET
2024-10-26T22:15:33.567578127Z routes[func]()
2024-10-26T22:15:33.567756765Z File "/usr/src/app/./app.py", line 96, in _playlist
2024-10-26T22:15:33.567876033Z self.wfile.write(f'#EXTINF:-1 channel-id="{channel_id}" tvg-id="{key}" tvg-logo="{logo}" group-title="{group}"{chno},{name}\n{url}\n'.encode('utf8'))
2024-10-26T22:15:33.568022258Z File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-26T22:15:33.568148127Z self._sock.sendall(b)
2024-10-26T22:15:33.568257951Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-26T22:15:33.568425334Z
2024-10-26T22:15:33.568528515Z During handling of the above exception, another exception occurred:
2024-10-26T22:15:33.568636881Z
2024-10-26T22:15:33.568718266Z Traceback (most recent call last):
2024-10-26T22:15:33.569821053Z File "/usr/local/lib/python3.12/socketserver.py", line 692, in process_request_thread
2024-10-26T22:15:33.570101846Z self.finish_request(request, client_address)
2024-10-26T22:15:33.570298345Z File "/usr/local/lib/python3.12/socketserver.py", line 362, in finish_request
2024-10-26T22:15:33.570580709Z self.RequestHandlerClass(request, client_address, self)
2024-10-26T22:15:33.570748220Z File "/usr/src/app/./app.py", line 23, in __init__
2024-10-26T22:15:33.570897983Z super().__init__(*args, **kwargs)
2024-10-26T22:15:33.571043355Z File "/usr/local/lib/python3.12/socketserver.py", line 761, in __init__
2024-10-26T22:15:33.571192915Z self.handle()
2024-10-26T22:15:33.571622028Z File "/usr/local/lib/python3.12/http/server.py", line 436, in handle
2024-10-26T22:15:33.571847537Z self.handle_one_request()
2024-10-26T22:15:33.571991319Z File "/usr/local/lib/python3.12/http/server.py", line 424, in handle_one_request
2024-10-26T22:15:33.572553375Z method()
2024-10-26T22:15:33.572735818Z File "/usr/src/app/./app.py", line 50, in do_GET
2024-10-26T22:15:33.572883291Z self._error(e)
2024-10-26T22:15:33.573016765Z File "/usr/src/app/./app.py", line 27, in _error
2024-10-26T22:15:33.573160596Z self.end_headers()
2024-10-26T22:15:33.573290232Z File "/usr/local/lib/python3.12/http/server.py", line 538, in end_headers
2024-10-26T22:15:33.573537161Z self.flush_headers()
2024-10-26T22:15:33.573677879Z File "/usr/local/lib/python3.12/http/server.py", line 542, in flush_headers
2024-10-26T22:15:33.573835477Z self.wfile.write(b"".join(self._headers_buffer))
2024-10-26T22:15:33.573982578Z File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-26T22:15:33.574131134Z self._sock.sendall(b)
2024-10-26T22:15:33.574267221Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-26T22:15:33.574518319Z ----------------------------------------
This has happened 12 times this month so far
2024/10/05 11:15:14.032575 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/05 12:15:09.694490 [ERR] Unexpected m3u response for SamsungTVPlus: 500 Internal Server Error
2024/10/05 12:15:21.712464 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/05 13:15:13.406329 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/05 13:15:25.428759 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/07 09:15:11.719993 [ERR] Unexpected m3u response for SamsungTVPlus: 500 Internal Server Error
2024/10/24 11:15:14.031980 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/24 11:15:26.050362 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/26 03:15:13.382200 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/26 03:15:25.403142 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/26 15:15:13.825703 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/26 15:15:25.847026 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Anyone else experiencing this?
@matthuisman Any ideas? Is Samsung just taking too long to respond. I know they've gotten popular lately. My clocks are accurate, so the log timestamps are within less than a second difference.
Another two today.
Appears the container is saying the requests came in (31/Oct/2024 07:20:13) and (31/Oct/2024 07:20:52) 5 minutes after Channels says (2024/10/31 07:15:14) and (2024/10/31 07:15:26)
Channels log
2024/10/31 06:15:03.679528 [M3U] Refreshed lineup for SamsungTVPlus with 377 channels
2024/10/31 06:15:04.086873 [M3U] Refreshed lineup for SamsungTVPlusGracenote with 377 channels
2024/10/31 06:15:11.160043 [DVR] Fetched guide data for XMLTV-SamsungTVPlus in 881ms
2024/10/31 07:15:14.040285 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/31 07:15:26.057965 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/10/31 07:15:32.183379 [DVR] Reindexed 472 airings into XMLTV-tubiTVNoEpg (43 channels over 33h24m46s) + 1092 skipped [1s index]
2024/10/31 07:15:32.193779 [DVR] pruned 46 replaced airings in 10ms.
2024/10/31 07:15:32.803551 [DVR] Fetched guide data for XMLTV-SamsungTVPlus in 609ms
Container log
2024-10-31T13:15:03.619636112Z Including channels from regions: ['us']
2024-10-31T13:15:03.619914740Z 192.168.144.1 - - [31/Oct/2024 06:15:03] "GET /playlist.m3u8 HTTP/1.1" 200 -
2024-10-31T13:15:04.026483343Z Including channels from regions: ['us']
2024-10-31T13:15:04.026677270Z 192.168.144.1 - - [31/Oct/2024 06:15:04] "GET /playlist.m3u8 HTTP/1.1" 200 -
2024-10-31T13:15:11.045653087Z 192.168.144.1 - - [31/Oct/2024 06:15:11] "GET /epg.xml.gz HTTP/1.1" 200 -
2024-10-31T14:15:32.679886722Z 192.168.144.1 - - [31/Oct/2024 07:15:32] "GET /epg.xml.gz HTTP/1.1" 200 -
2024-10-31T14:20:13.744804634Z Including channels from regions: ['us']
2024-10-31T14:20:13.745042045Z 192.168.144.1 - - [31/Oct/2024 07:20:13] "GET /playlist.m3u8 HTTP/1.1" 200 -
2024-10-31T14:20:13.746577275Z 192.168.144.1 - - [31/Oct/2024 07:20:13] "GET /playlist.m3u8 HTTP/1.1" 500 -
2024-10-31T14:20:13.747013000Z ----------------------------------------
2024-10-31T14:20:13.747164177Z Exception occurred during processing of request from ('192.168.144.1', 47114)
2024-10-31T14:20:13.749095325Z Traceback (most recent call last):
2024-10-31T14:20:13.750107749Z File "/usr/src/app/./app.py", line 48, in do_GET
2024-10-31T14:20:13.750427391Z routes[func]()
2024-10-31T14:20:13.750599739Z File "/usr/src/app/./app.py", line 96, in _playlist
2024-10-31T14:20:13.750712962Z self.wfile.write(f'#EXTINF:-1 channel-id="{channel_id}" tvg-id="{key}" tvg-logo="{logo}" group-title="{group}"{chno},{name}\n{url}\n'.encode('utf8'))
2024-10-31T14:20:13.751043667Z File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-31T14:20:13.751194430Z self._sock.sendall(b)
2024-10-31T14:20:13.751300732Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-31T14:20:13.751479272Z
2024-10-31T14:20:13.751571225Z During handling of the above exception, another exception occurred:
2024-10-31T14:20:13.751676354Z
2024-10-31T14:20:13.751756269Z Traceback (most recent call last):
2024-10-31T14:20:13.752125800Z File "/usr/local/lib/python3.12/socketserver.py", line 692, in process_request_thread
2024-10-31T14:20:13.752389339Z self.finish_request(request, client_address)
2024-10-31T14:20:13.752569969Z File "/usr/local/lib/python3.12/socketserver.py", line 362, in finish_request
2024-10-31T14:20:13.752772197Z self.RequestHandlerClass(request, client_address, self)
2024-10-31T14:20:13.752920742Z File "/usr/src/app/./app.py", line 23, in __init__
2024-10-31T14:20:13.753035712Z super().__init__(*args, **kwargs)
2024-10-31T14:20:13.753214880Z File "/usr/local/lib/python3.12/socketserver.py", line 761, in __init__
2024-10-31T14:20:13.753411281Z self.handle()
2024-10-31T14:20:13.753541131Z File "/usr/local/lib/python3.12/http/server.py", line 436, in handle
2024-10-31T14:20:13.753653779Z self.handle_one_request()
2024-10-31T14:20:13.753749299Z File "/usr/local/lib/python3.12/http/server.py", line 424, in handle_one_request
2024-10-31T14:20:13.753851732Z method()
2024-10-31T14:20:13.753940981Z File "/usr/src/app/./app.py", line 50, in do_GET
2024-10-31T14:20:13.754038430Z self._error(e)
2024-10-31T14:20:13.754133597Z File "/usr/src/app/./app.py", line 27, in _error
2024-10-31T14:20:13.754228985Z self.end_headers()
2024-10-31T14:20:13.754315911Z File "/usr/local/lib/python3.12/http/server.py", line 538, in end_headers
2024-10-31T14:20:13.754462107Z self.flush_headers()
2024-10-31T14:20:13.754558905Z File "/usr/local/lib/python3.12/http/server.py", line 542, in flush_headers
2024-10-31T14:20:13.754662797Z self.wfile.write(b"".join(self._headers_buffer))
2024-10-31T14:20:13.754762324Z File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-31T14:20:13.754860780Z self._sock.sendall(b)
2024-10-31T14:20:13.754951481Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-31T14:20:13.755043023Z ----------------------------------------
2024-10-31T14:20:52.578998460Z Including channels from regions: ['us']
2024-10-31T14:20:52.579253040Z 192.168.144.1 - - [31/Oct/2024 07:20:52] "GET /playlist.m3u8 HTTP/1.1" 200 -
2024-10-31T14:20:52.581123998Z 192.168.144.1 - - [31/Oct/2024 07:20:52] "GET /playlist.m3u8 HTTP/1.1" 500 -
2024-10-31T14:20:52.581536693Z ----------------------------------------
2024-10-31T14:20:52.581684355Z Exception occurred during processing of request from ('192.168.144.1', 47116)
2024-10-31T14:20:52.583892867Z Traceback (most recent call last):
2024-10-31T14:20:52.584718214Z File "/usr/src/app/./app.py", line 48, in do_GET
2024-10-31T14:20:52.584956069Z routes[func]()
2024-10-31T14:20:52.585134583Z File "/usr/src/app/./app.py", line 96, in _playlist
2024-10-31T14:20:52.585261888Z self.wfile.write(f'#EXTINF:-1 channel-id="{channel_id}" tvg-id="{key}" tvg-logo="{logo}" group-title="{group}"{chno},{name}\n{url}\n'.encode('utf8'))
2024-10-31T14:20:52.585667204Z File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-31T14:20:52.585845714Z self._sock.sendall(b)
2024-10-31T14:20:52.585963057Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-31T14:20:52.586066723Z
2024-10-31T14:20:52.586152165Z During handling of the above exception, another exception occurred:
2024-10-31T14:20:52.586256214Z
2024-10-31T14:20:52.586396895Z Traceback (most recent call last):
2024-10-31T14:20:52.586745224Z File "/usr/local/lib/python3.12/socketserver.py", line 692, in process_request_thread
2024-10-31T14:20:52.586975004Z self.finish_request(request, client_address)
2024-10-31T14:20:52.587159589Z File "/usr/local/lib/python3.12/socketserver.py", line 362, in finish_request
2024-10-31T14:20:52.587323633Z self.RequestHandlerClass(request, client_address, self)
2024-10-31T14:20:52.587541124Z File "/usr/src/app/./app.py", line 23, in __init__
2024-10-31T14:20:52.587723991Z super().__init__(*args, **kwargs)
2024-10-31T14:20:52.587848653Z File "/usr/local/lib/python3.12/socketserver.py", line 761, in __init__
2024-10-31T14:20:52.587956789Z self.handle()
2024-10-31T14:20:52.588047088Z File "/usr/local/lib/python3.12/http/server.py", line 436, in handle
2024-10-31T14:20:52.588151002Z self.handle_one_request()
2024-10-31T14:20:52.588242977Z File "/usr/local/lib/python3.12/http/server.py", line 424, in handle_one_request
2024-10-31T14:20:52.588397571Z method()
2024-10-31T14:20:52.588510933Z File "/usr/src/app/./app.py", line 50, in do_GET
2024-10-31T14:20:52.588617922Z self._error(e)
2024-10-31T14:20:52.588719559Z File "/usr/src/app/./app.py", line 27, in _error
2024-10-31T14:20:52.588815639Z self.end_headers()
2024-10-31T14:20:52.588905170Z File "/usr/local/lib/python3.12/http/server.py", line 538, in end_headers
2024-10-31T14:20:52.589007130Z self.flush_headers()
2024-10-31T14:20:52.589098567Z File "/usr/local/lib/python3.12/http/server.py", line 542, in flush_headers
2024-10-31T14:20:52.589198599Z self.wfile.write(b"".join(self._headers_buffer))
2024-10-31T14:20:52.589297615Z File "/usr/local/lib/python3.12/socketserver.py", line 840, in write
2024-10-31T14:20:52.589445581Z self._sock.sendall(b)
2024-10-31T14:20:52.589545713Z BrokenPipeError: [Errno 32] Broken pipe
2024-10-31T14:20:52.589640117Z ----------------------------------------
My clocks are accurate, so the log timestamps are within less than a second difference.
My Windows PC
Samsung container console next to Windows clock
Channels DVR Server container console next to Windows clock
Still getting the errors.
2024/11/03 09:15:02.888029 [ERR] Failed to download XMLTV-SamsungTVPlus: xmltv fetch: GET: http://192.168.1.3:8182/epg.xml.gz: 404 Not Found: "404: Not Found"
2024/11/03 09:20:17.855072 [ERR] Failed to download XMLTV-SamsungTVPlus: xmltv fetch: GET: http://192.168.1.3:8182/epg.xml.gz: 404 Not Found: "404: Not Found"
2024/11/06 09:21:12.003050 [ERR] Failed to request m3u for SamsungTVPlus: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
2024/11/06 09:21:24.003947 [ERR] Failed to request m3u for SamsungTVPlusGracenote: Get "http://192.168.1.3:8182/playlist.m3u8": context deadline exceeded (Client.Timeout exceeded while awaiting headers)
Lineup being updated daily. XMLTV guide updates hourly.