FYI to the devs. Lost TVE auth again tonight. Rebooting my NAS (DS218+) fixed the issue. This is at least the second time this has happened, albeit not very frequently. In the past I think @tmm1 has mentioned there may be a known caching issue with YTTV. In the hopes that it might help get a fix, here are my logs showing the failures before, the reboot, and successes after.
2020/01/28 15:44:47 [TVE] action=auth mvpd=YouTubeTV requestor=nbcentertainment
2020/01/28 15:44:49 [TVE] action=mock
2020/01/28 15:44:49 [TVE] action=navigate url=https://sp.auth.adobe.com/adobe-services/authenticate/saml?noflash=true&mso_id=YouTubeTV&requestor_id=nbcentertainment&no_iframe=true&domain_name=adobe.com&redirect_url=https%3A%2F%2Fsp.auth.adobe.com%2Fadobe-services%2FcompletePassiveAuthentication
2020/01/28 15:44:49 [TVE] action=request type=Document method=GET url=https://sp.auth.adobe.com/adobe-services/authenticate/saml
2020/01/28 15:44:50 [TVE] action=wait_for_page
2020/01/28 15:44:50 [TVE] action=request type=Document method=POST url=https://youtube.auth-gateway.net/saml/saml2/idp/SSOService.php
2020/01/28 15:44:50 [TVE] action=auth_domain domain=youtube.auth-gateway.net
2020/01/28 15:44:50 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/firstbookend.php
2020/01/28 15:44:50 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/firstbookend.php
2020/01/28 15:44:50 [TVE] action=request type=Document method=GET url=https://accounts.google.com/o/oauth2/auth
2020/01/28 15:44:51 [TVE] action=request type=Document method=GET url=https://accounts.google.com/signin/oauth
2020/01/28 15:44:57 [TVE] action=page_ready
2020/01/28 15:44:57 [TVE] action=wait_for_page done=true reason=page_ready
2020/01/28 15:44:57 [TVE] action=fill_form [email protected]
2020/01/28 15:44:57 [TVE] action=tvejs msg="googleLogin"
2020/01/28 15:44:58 [TVE] action=wait_for_auth
2020/01/28 15:45:00 [TVE] action=tvejs msg="googleLoginPassword"
2020/01/28 15:45:01 [TVE] action=request type=Document method=GET url=https://accounts.google.com/CheckCookie
2020/01/28 15:45:01 [TVE] action=request type=Document method=GET url=https://accounts.youtube.com/accounts/SetSID
2020/01/28 15:45:01 [TVE] action=response path=/accounts/SetSID status=200
2020/01/28 15:45:01 [TVE] action=request type=Document method=GET url=https://accounts.google.com/signin/oauth/consent
2020/01/28 15:45:01 [TVE] action=request type=Document method=GET url=https://accounts.google.com/signin/oauth/consent
2020/01/28 15:45:02 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authgoogle/linkback.php
2020/01/28 15:45:04 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authSynacor/DiscoveryAssociationsResume.php
2020/01/28 15:45:04 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/lastbookend.php
2020/01/28 15:45:04 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/lastbookend.php
2020/01/28 15:45:04 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/ppp/restart.php
2020/01/28 15:45:10 [TVE] action=auth_timed_out
2020/01/28 15:45:10 [TVE] action=screenshot
2020/01/28 15:45:10 [TVE] action=screenshot size=21112
2020/01/28 15:45:10 [ERR] Could not start stream for TVE-YouTubeTV ch6141 ESPN2: TVE: chrome auth_timed_out
2020/01/28 15:45:29 [TVE] action=auth mvpd=YouTubeTV requestor=nbcentertainment
2020/01/28 15:45:30 [TVE] action=mock
2020/01/28 15:45:30 [TVE] action=navigate url=https://sp.auth.adobe.com/adobe-services/authenticate/saml?noflash=true&mso_id=YouTubeTV&requestor_id=nbcentertainment&no_iframe=true&domain_name=adobe.com&redirect_url=https%3A%2F%2Fsp.auth.adobe.com%2Fadobe-services%2FcompletePassiveAuthentication
2020/01/28 15:45:30 [TVE] action=request type=Document method=GET url=https://sp.auth.adobe.com/adobe-services/authenticate/saml
2020/01/28 15:45:30 [TVE] action=wait_for_page
2020/01/28 15:45:30 [TVE] action=request type=Document method=POST url=https://youtube.auth-gateway.net/saml/saml2/idp/SSOService.php
2020/01/28 15:45:30 [TVE] action=auth_domain domain=youtube.auth-gateway.net
2020/01/28 15:45:30 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/firstbookend.php
2020/01/28 15:45:31 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/firstbookend.php
2020/01/28 15:45:31 [TVE] action=request type=Document method=GET url=https://accounts.google.com/o/oauth2/auth
2020/01/28 15:45:31 [TVE] action=request type=Document method=GET url=https://accounts.google.com/signin/oauth
2020/01/28 15:45:38 [TVE] action=page_ready
2020/01/28 15:45:38 [TVE] action=wait_for_page done=true reason=page_ready
2020/01/28 15:45:38 [TVE] action=fill_form [email protected]
2020/01/28 15:45:38 [TVE] action=tvejs msg="googleLogin"
2020/01/28 15:45:38 [TVE] action=wait_for_auth
2020/01/28 15:45:41 [TVE] action=tvejs msg="googleLoginPassword"
2020/01/28 15:45:42 [TVE] action=request type=Document method=GET url=https://accounts.google.com/CheckCookie
2020/01/28 15:45:42 [TVE] action=request type=Document method=GET url=https://accounts.youtube.com/accounts/SetSID
2020/01/28 15:45:42 [TVE] action=response path=/accounts/SetSID status=200
2020/01/28 15:45:42 [TVE] action=request type=Document method=GET url=https://accounts.google.com/signin/oauth/consent
2020/01/28 15:45:42 [TVE] action=request type=Document method=GET url=https://accounts.google.com/signin/oauth/consent
2020/01/28 15:45:42 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authgoogle/linkback.php
2020/01/28 15:45:44 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authSynacor/DiscoveryAssociationsResume.php
2020/01/28 15:45:44 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/lastbookend.php
2020/01/28 15:45:44 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/lastbookend.php
2020/01/28 15:45:44 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/ppp/restart.php
2020/01/28 15:45:49 [TVE] action=page_ready
2020/01/28 15:45:49 [TVE] action=click_interstitial
2020/01/28 15:45:49 [TVE] action=screenshot
2020/01/28 15:45:49 [TVE] action=screenshot size=21112
2020/01/28 15:45:49 [TVE] action=script_error err=&runtime.ExceptionDetails{ExceptionID:1, Text:"Uncaught", LineNumber:15, ColumnNumber:8, ScriptID:"225", URL:"", StackTrace:(*runtime.StackTrace)(0xc012ce5940), Exception:(*runtime.RemoteObject)(0xc002210480), ExecutionContextID:0} exp=&runtime.RemoteObject{Type:"object", Subtype:"error", ClassName:"TypeError", Value:easyjson.RawMessage(nil), UnserializableValue:"", Description:"TypeError: Cannot read property 'click' of null\n at xfinityApprove (tveinterhelper.js:16:9)\n at tveinterhelper.js:22:5", ObjectID:"{"injectedScriptId":12,"id":2}", Preview:(*runtime.ObjectPreview)(nil), CustomPreview:(*runtime.CustomPreview)(nil)} exp_value=TypeError: Cannot read property 'click' of null
at xfinityApprove (tveinterhelper.js:16:9)
at tveinterhelper.js:22:5
2020/01/28 15:45:49 [ERR] Could not start stream for TVE-YouTubeTV ch6159 GOLF: TVE: encountered exception 'Uncaught' (15:8)
2020/01/28 15:47:49 [SYS] Shutting down...
2020/01/28 15:47:49 [SYS] Bonjour service stopped.
2020/01/28 15:47:50 [DVR] Recording engine stopped.
2020/01/28 15:47:51 [SYS] Goodbye.
2020/01/28 15:50:16 [SYS] Starting Channels DVR v2019.12.05.0128 (linux-x86_64 pid:10918) in /volume1/@appstore/ChannelsDVR/channels-dvr/data
2020/01/28 15:50:16 [HDR] Found 1 devices
2020/01/28 15:50:23 [SYS] Started HTTP Server
2020/01/28 15:50:40 [DVR] Recording engine started in /volume1/Channels DVR
2020/01/28 15:50:40 [SYS] Bonjour service running for dvr-mcintyre-nas.local. [192.168.1.251]
2020/01/28 15:50:41 [DVR] Waiting 1h39m8.109098784s until next job 1580250590-34 Pardon the Interruption
2020/01/28 15:50:52 [IDX] Pruned 192 expired airings from USA-OTA40356 in 889.078836ms.
2020/01/28 15:50:53 [IDX] Pruned 519 expired airings from X-TVE in 1.413745493s.
2020/01/28 15:51:01 [SYS] Created database snapshot: backup-20200128.155056
2020/01/28 15:51:01 [SYS] Removing old backup backup-20191229.230407
2020/01/28 15:53:15 [TVE] action=auth mvpd=YouTubeTV requestor=nbcentertainment
2020/01/28 15:53:16 [TVE] action=mock
2020/01/28 15:53:16 [TVE] action=navigate url=https://sp.auth.adobe.com/adobe-services/authenticate/saml?noflash=true&mso_id=YouTubeTV&requestor_id=nbcentertainment&no_iframe=true&domain_name=adobe.com&redirect_url=https%3A%2F%2Fsp.auth.adobe.com%2Fadobe-services%2FcompletePassiveAuthentication
2020/01/28 15:53:16 [TVE] action=request type=Document method=GET url=https://sp.auth.adobe.com/adobe-services/authenticate/saml
2020/01/28 15:53:17 [TVE] action=wait_for_page
2020/01/28 15:53:17 [TVE] action=request type=Document method=POST url=https://youtube.auth-gateway.net/saml/saml2/idp/SSOService.php
2020/01/28 15:53:17 [TVE] action=auth_domain domain=youtube.auth-gateway.net
2020/01/28 15:53:17 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/firstbookend.php
2020/01/28 15:53:17 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/firstbookend.php
2020/01/28 15:53:18 [TVE] action=request type=Document method=GET url=https://accounts.google.com/o/oauth2/auth
2020/01/28 15:53:18 [TVE] action=request type=Document method=GET url=https://accounts.google.com/signin/oauth
2020/01/28 15:53:25 [TVE] action=page_ready
2020/01/28 15:53:25 [TVE] action=wait_for_page done=true reason=page_ready
2020/01/28 15:53:25 [TVE] action=fill_form [email protected]
2020/01/28 15:53:25 [TVE] action=tvejs msg="googleLogin"
2020/01/28 15:53:25 [TVE] action=wait_for_auth
2020/01/28 15:53:27 [TVE] action=tvejs msg="googleLoginPassword"
2020/01/28 15:53:28 [TVE] action=request type=Document method=GET url=https://accounts.google.com/CheckCookie
2020/01/28 15:53:28 [TVE] action=request type=Document method=GET url=https://accounts.youtube.com/accounts/SetSID
2020/01/28 15:53:28 [TVE] action=response path=/accounts/SetSID status=200
2020/01/28 15:53:29 [TVE] action=request type=Document method=GET url=https://accounts.google.com/signin/oauth/consent
2020/01/28 15:53:29 [TVE] action=request type=Document method=GET url=https://accounts.google.com/signin/oauth/consent
2020/01/28 15:53:29 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authgoogle/linkback.php
2020/01/28 15:53:31 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authSynacor/DiscoveryAssociationsResume.php
2020/01/28 15:53:31 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/lastbookend.php
2020/01/28 15:53:31 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/lastbookend.php
2020/01/28 15:53:31 [TVE] action=request type=Document method=POST url=https://sp.auth.adobe.com/sp/saml/SAMLAssertionConsumer
2020/01/28 15:53:31 [TVE] action=request type=Document method=GET url=https://sp.auth.adobe.com/adobe-services/completePassiveAuthentication
2020/01/28 15:53:31 [TVE] action=authed
2020/01/28 15:53:31 [TVE] action=cookies num_domains=2 num_cookies=11
2020/01/28 15:53:36 [TNR] Opened connection to TVE-YouTubeTV for ch6141 ESPN2
2020/01/28 15:54:08 [TNR] Opened connection to TVE-YouTubeTV for ch6159 GOLF
2020/01/28 15:54:15 [TNR] Sharing existing connection to TVE-YouTubeTV for ch6141 ESPN2 (clients=2, len=0)
2020/01/28 15:54:16 [TNR] Closed connection to TVE-YouTubeTV for ch6159 GOLF
2020/01/28 17:01:03 [TNR] Closed connection to TVE-YouTubeTV for ch6141 ESPN2
2020/01/28 17:01:13 [TVE] action=mock
2020/01/28 17:01:13 [TVE] action=navigate url=https://api.auth.adobe.com/api/v1/authenticate?reg_code=FGTRDF2&mso_id=YouTubeTV&domain_name=adobe.com&requestor_id=fs2go&noflash=true&redirect_url=https%3A%2F%2Fsp.auth.adobe.com%2Fadobe-services%2FcompletePassiveAuthentication
2020/01/28 17:01:13 [TVE] action=request type=Document method=GET url=https://api.auth.adobe.com/api/v1/authenticate
2020/01/28 17:01:14 [TVE] action=request type=Document method=GET url=https://sp.auth.adobe.com/api/v1/authenticate
2020/01/28 17:01:14 [TVE] action=wait_for_page
2020/01/28 17:01:14 [TVE] action=request type=Document method=POST url=https://youtube.auth-gateway.net/saml/saml2/idp/SSOService.php
2020/01/28 17:01:14 [TVE] action=auth_domain domain=youtube.auth-gateway.net
2020/01/28 17:01:14 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/firstbookend.php
2020/01/28 17:01:14 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/firstbookend.php
2020/01/28 17:01:15 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authSynacor/DiscoveryAssociationsResume.php
2020/01/28 17:01:15 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/lastbookend.php
2020/01/28 17:01:15 [TVE] action=request type=Document method=GET url=https://youtube.auth-gateway.net/saml/module.php/authbypass/lastbookend.php
2020/01/28 17:01:15 [TVE] action=request type=Document method=POST url=https://sp.auth.adobe.com/sp/saml/SAMLAssertionConsumer
2020/01/28 17:01:16 [TVE] action=request type=Document method=GET url=https://sp.auth.adobe.com/adobe-services/completePassiveAuthentication
2020/01/28 17:01:16 [TVE] action=authed
2020/01/28 17:01:16 [TVE] action=wait_for_page done=true reason=auth_finished
2020/01/28 17:01:16 [TVE] action=cookies num_domains=3 num_cookies=13
2020/01/28 17:01:20 [TNR] Opened connection to TVE-YouTubeTV for ch6205 FS-RSN-FSNOH5
2020/01/28 17:06:37 [TNR] Closed connection to TVE-YouTubeTV for ch6205 FS-RSN-FSNOH5
2020/01/28 17:29:50 [DVR] Starting job 1580250590-34 Pardon the Interruption on ch=[6140]
2020/01/28 17:29:50 [DVR] Waiting 59m59.754494898s until next job 1580254190-34 Pardon the Interruption
2020/01/28 17:29:54 [TNR] Opened connection to TVE-YouTubeTV for ch6140 ESPN1
2020/01/28 17:29:54 [DVR] Recording for job 1580250590-34 from TVE-YouTubeTV ch6140 into "TV/Pardon the Interruption/Pardon the Interruption 2020-01-28-1729.mpg" for 35m9.754433272s
2020/01/28 17:29:54 [IDX] Generating video index for job 1580250590-34
2020/01/28 18:05:04 [TNR] Closed connection to TVE-YouTubeTV for ch6140 ESPN1
2020/01/28 18:05:04 [MTS] Statistics for "TV/Pardon the Interruption/Pardon the Interruption 2020-01-28-1729.mpg": skipped=0 unhandled_packets=0 discontinuity_detected=5 transport_errors=0 invalid_pts=0 invalid_dts=0 saw_pcr=false saw_pmt=true highest_pts=2123.766367
2020/01/28 18:05:04 [DVR] Finished job 1580250590-34 Pardon the Interruption
2020/01/28 18:05:05 [DVR] Processing file-1524: TV/Pardon the Interruption/Pardon the Interruption 2020-01-28-1729.mpg
2020/01/28 18:05:05 [DVR] Waiting 24m44.598730352s until next job 1580254190-34 Pardon the Interruption
2020/01/28 18:05:06 [DVR] Running commercial detection on file 1524 (TV/Pardon the Interruption/Pardon the Interruption 2020-01-28-1729.mpg)
2020/01/28 18:18:04 [DVR] Commercial detection finished with 4 markers.
2020/01/28 18:29:50 [DVR] Starting job 1580254190-34 Pardon the Interruption on ch=[6143]
2020/01/28 18:29:50 [DVR] Waiting 59m59.765137683s until next job 1580257790-29 Jeopardy!
2020/01/28 18:29:53 [TNR] Opened connection to TVE-YouTubeTV for ch6143 ESPNEWS
2020/01/28 18:29:53 [DVR] Recording for job 1580254190-34 from TVE-YouTubeTV ch6143 into "TV/Pardon the Interruption/Pardon the Interruption 2020-01-28-1829.mpg" for 35m9.765064621s
2020/01/28 18:29:54 [IDX] Generating video index for job 1580254190-34
2020/01/28 18:50:41 [DVR] Pruning watched recording Manifest S02E04 Black Box 2020-01-27-2200.mpg
2020/01/28 18:50:42 [DVR] Deleting /volume1/Channels DVR/TV/Manifest/Manifest S02E04 Black Box 2020-01-27-2200.mpg
2020/01/28 19:05:03 [TNR] Closed connection to TVE-YouTubeTV for ch6143 ESPNEWS
2020/01/28 19:05:03 [MTS] Statistics for "TV/Pardon the Interruption/Pardon the Interruption 2020-01-28-1829.mpg": skipped=0 unhandled_packets=0 discontinuity_detected=26 transport_errors=0 invalid_pts=0 invalid_dts=0 saw_pcr=false saw_pmt=true highest_pts=2121.133333
2020/01/28 19:05:03 [DVR] Finished job 1580254190-34 Pardon the Interruption
2020/01/28 19:05:04 [DVR] Waiting 24m45.661572111s until next job 1580257790-29 Jeopardy!
2020/01/28 19:05:04 [DVR] Processing file-1525: TV/Pardon the Interruption/Pardon the Interruption 2020-01-28-1829.mpg
2020/01/28 19:05:06 [DVR] Running commercial detection on file 1525 (TV/Pardon the Interruption/Pardon the Interruption 2020-01-28-1829.mpg)
2020/01/28 19:29:07 [DVR] Commercial detection finished with 4 markers.
2020/01/28 19:29:50 [DVR] Starting job 1580257790-29 Jeopardy! on ch=[27.1]
2020/01/28 19:29:50 [DVR] Waiting 1h29m59.984531251s until next job 1580263190-39 This Is Us
2020/01/28 19:29:50 [TNR] Opened connection to 1074FE32/0 for ch27.1 WKYT-HD