Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Archivo stuck Fetching recording #121

Open
chgoljc opened this issue May 2, 2018 · 67 comments
Open

Archivo stuck Fetching recording #121

chgoljc opened this issue May 2, 2018 · 67 comments

Comments

@chgoljc
Copy link

chgoljc commented May 2, 2018

Archivo stuck Fetching recordings and never pulls up. Anyone else having same issues?

@chgoljc
Copy link
Author

chgoljc commented May 4, 2018

10:36:49.759 [JavaFX Application Thread] INFO n.s.archivo.model.UserPrefs - Tools in '/Applications/Archivo.app/Contents/MacOS'
10:36:49.764 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Starting up Archivo 1.1.0...
10:36:49.764 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Running on Java 1.8.0_161 from Oracle Corporation
10:36:49.765 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - System is Mac OS X (version = 10.12.3, arch = x86_64)
10:36:49.771 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Volume / has 143920 MB free of 475840 MB
10:36:49.836 [JavaFX Application Thread] INFO n.s.archivo.model.ArchiveHistory - Loading archive history from /Users/lesliecervantes/Library/Application Support/Archivo/history.xml
10:36:51.263 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Setting status to 'Looking for TiVos...'
10:36:51.266 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - Starting search for TiVo devices...
10:36:51.283 [pool-2-thread-1] ERROR net.straylightlabs.hola.sd.Query - SocketException when joining group for FF02::FB, IPv6-only hosts will not be found
java.net.SocketException: Invalid argument
at java.net.PlainDatagramSocketImpl.join(Native Method)
at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:178)
at java.net.MulticastSocket.joinGroup(MulticastSocket.java:323)
at net.straylightlabs.hola.sd.Query.openSocket(Query.java:195)
at net.straylightlabs.hola.sd.Query.runOnceOn(Query.java:122)
at net.straylightlabs.archivo.net.TivoSearchTask.startSearch(TivoSearchTask.java:81)
at net.straylightlabs.archivo.net.TivoSearchTask.call(TivoSearchTask.java:68)
at net.straylightlabs.archivo.net.TivoSearchTask.call(TivoSearchTask.java:41)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
10:36:52.740 [pool-4-thread-1] INFO n.s.a.controller.UpdateCheckTask - Successfully fetched update URL
10:36:53.102 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Update check: This is the latest version of Archivo (1.1.0)
10:36:53.119 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - Found instances: [Instance{name='B6A DVR', addresses=[/10.0.0.24], port=1413, attributes={path=/, protocol=tivo-mindrpc, mindversion=7/28, swversion=21.8.1.RC6-USC-11-849, platform=tcd/Series6, TSN=8490001903FC83D}}]
10:36:53.121 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - isSupported = true for instance Instance{name='B6A DVR', addresses=[/10.0.0.24], port=1413, attributes={path=/, protocol=tivo-mindrpc, mindversion=7/28, swversion=21.8.1.RC6-USC-11-849, platform=tcd/Series6, TSN=8490001903FC83D}}
10:36:53.122 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - New device: Tivo[name=B6A DVR, tsn=8490001903FC83D, addresses=[/10.0.0.24], port=1413]
10:36:53.124 [JavaFX Application Thread] INFO n.s.archivo.model.UserPrefs - Last device = {"addresses":["CgAAGA=="],"port":1413,"name":"B6A DVR","tsn":"8490001903FC83D"}
10:36:53.125 [JavaFX Application Thread] INFO n.s.a.view.RecordingListController - Restoring previously used tivo: Tivo[name=B6A DVR, tsn=8490001903FC83D, addresses=[/10.0.0.24], port=1413]
10:36:53.130 [JavaFX Application Thread] INFO n.s.a.view.RecordingListController - New TiVo selected: Tivo[name=B6A DVR, tsn=8490001903FC83D, addresses=[/10.0.0.24], port=1413]
10:36:53.132 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Setting status to 'Fetching recordings...'
10:36:53.444 [pool-2-thread-1] ERROR n.s.archivo.net.MindTask - Error executing MindTask:
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_expired
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2033)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1135)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
at net.straylightlabs.archivo.net.MindRPC.connect(MindRPC.java:101)
at net.straylightlabs.archivo.net.MindRPC.connectAndAuthenticate(MindRPC.java:92)
at net.straylightlabs.archivo.net.MindRPC.send(MindRPC.java:143)
at net.straylightlabs.archivo.net.MindCommand.execute(MindCommand.java:81)
at net.straylightlabs.archivo.net.MindCommand.executeOn(MindCommand.java:89)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:42)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:28)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
10:36:53.446 [JavaFX Application Thread] ERROR n.s.a.view.RecordingListController - Error fetching recordings from B6A DVR:
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_expired
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2033)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1135)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
at net.straylightlabs.archivo.net.MindRPC.connect(MindRPC.java:101)
at net.straylightlabs.archivo.net.MindRPC.connectAndAuthenticate(MindRPC.java:92)
at net.straylightlabs.archivo.net.MindRPC.send(MindRPC.java:143)
at net.straylightlabs.archivo.net.MindCommand.execute(MindCommand.java:81)
at net.straylightlabs.archivo.net.MindCommand.executeOn(MindCommand.java:89)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:42)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:28)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
10:37:33.382 [JavaFX Application Thread] ERROR n.s.archivo.model.UserPrefs - Last folder was '/Users/lesliecervantes/Desktop/TIVO Recordings', but this folder no longer exists
10:37:33.383 [JavaFX Application Thread] INFO n.s.archivo.model.UserPrefs - Last folder = /Users/lesliecervantes/Movies
10:39:24.678 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Setting status to 'Looking for TiVos...'
10:39:24.679 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - Starting search for TiVo devices...
10:39:24.680 [pool-2-thread-1] ERROR net.straylightlabs.hola.sd.Query - SocketException when joining group for FF02::FB, IPv6-only hosts will not be found
java.net.SocketException: Invalid argument
at java.net.PlainDatagramSocketImpl.join(Native Method)
at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:178)
at java.net.MulticastSocket.joinGroup(MulticastSocket.java:323)
at net.straylightlabs.hola.sd.Query.openSocket(Query.java:195)
at net.straylightlabs.hola.sd.Query.runOnceOn(Query.java:122)
at net.straylightlabs.archivo.net.TivoSearchTask.startSearch(TivoSearchTask.java:81)
at net.straylightlabs.archivo.net.TivoSearchTask.call(TivoSearchTask.java:68)
at net.straylightlabs.archivo.net.TivoSearchTask.call(TivoSearchTask.java:41)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
10:39:25.789 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - Found instances: [Instance{name='B6A DVR', addresses=[/10.0.0.24], port=1413, attributes={path=/, protocol=tivo-mindrpc, mindversion=7/28, swversion=21.8.1.RC6-USC-11-849, platform=tcd/Series6, TSN=8490001903FC83D}}]
10:39:25.790 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - isSupported = true for instance Instance{name='B6A DVR', addresses=[/10.0.0.24], port=1413, attributes={path=/, protocol=tivo-mindrpc, mindversion=7/28, swversion=21.8.1.RC6-USC-11-849, platform=tcd/Series6, TSN=8490001903FC83D}}
10:39:25.790 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - New device: Tivo[name=B6A DVR, tsn=8490001903FC83D, addresses=[/10.0.0.24], port=1413]
10:39:25.790 [JavaFX Application Thread] INFO n.s.archivo.model.UserPrefs - Last device = {"addresses":["CgAAGA=="],"port":1413,"name":"B6A DVR","tsn":"8490001903FC83D"}
10:39:25.791 [JavaFX Application Thread] INFO n.s.a.view.RecordingListController - Restoring previously used tivo: Tivo[name=B6A DVR, tsn=8490001903FC83D, addresses=[/10.0.0.24], port=1413]
10:39:25.791 [JavaFX Application Thread] INFO n.s.a.view.RecordingListController - New TiVo selected: Tivo[name=B6A DVR, tsn=8490001903FC83D, addresses=[/10.0.0.24], port=1413]
10:39:25.791 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Setting status to 'Fetching recordings...'
10:39:26.199 [pool-2-thread-1] ERROR n.s.archivo.net.MindTask - Error executing MindTask:
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_expired
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2033)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1135)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
at net.straylightlabs.archivo.net.MindRPC.connect(MindRPC.java:101)
at net.straylightlabs.archivo.net.MindRPC.connectAndAuthenticate(MindRPC.java:92)
at net.straylightlabs.archivo.net.MindRPC.send(MindRPC.java:143)
at net.straylightlabs.archivo.net.MindCommand.execute(MindCommand.java:81)
at net.straylightlabs.archivo.net.MindCommand.executeOn(MindCommand.java:89)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:42)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:28)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
10:39:26.233 [JavaFX Application Thread] ERROR n.s.a.view.RecordingListController - Error fetching recordings from B6A DVR:
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_expired
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2033)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1135)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
at net.straylightlabs.archivo.net.MindRPC.connect(MindRPC.java:101)
at net.straylightlabs.archivo.net.MindRPC.connectAndAuthenticate(MindRPC.java:92)
at net.straylightlabs.archivo.net.MindRPC.send(MindRPC.java:143)
at net.straylightlabs.archivo.net.MindCommand.execute(MindCommand.java:81)
at net.straylightlabs.archivo.net.MindCommand.executeOn(MindCommand.java:89)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:42)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:28)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
10:39:59.077 [JavaFX Application Thread] INFO n.s.archivo.model.UserPrefs - Last folder = /Users/lesliecervantes/Movies
10:40:13.151 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Setting status to 'Looking for TiVos...'
10:40:13.152 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - Starting search for TiVo devices...
10:40:13.153 [pool-2-thread-1] ERROR net.straylightlabs.hola.sd.Query - SocketException when joining group for FF02::FB, IPv6-only hosts will not be found
java.net.SocketException: Invalid argument
at java.net.PlainDatagramSocketImpl.join(Native Method)
at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:178)
at java.net.MulticastSocket.joinGroup(MulticastSocket.java:323)
at net.straylightlabs.hola.sd.Query.openSocket(Query.java:195)
at net.straylightlabs.hola.sd.Query.runOnceOn(Query.java:122)
at net.straylightlabs.archivo.net.TivoSearchTask.startSearch(TivoSearchTask.java:81)
at net.straylightlabs.archivo.net.TivoSearchTask.call(TivoSearchTask.java:68)
at net.straylightlabs.archivo.net.TivoSearchTask.call(TivoSearchTask.java:41)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
10:40:14.676 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - Found instances: [Instance{name='B6A DVR', addresses=[/10.0.0.24], port=1413, attributes={path=/, protocol=tivo-mindrpc, mindversion=7/28, swversion=21.8.1.RC6-USC-11-849, platform=tcd/Series6, TSN=8490001903FC83D}}]
10:40:14.677 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - isSupported = true for instance Instance{name='B6A DVR', addresses=[/10.0.0.24], port=1413, attributes={path=/, protocol=tivo-mindrpc, mindversion=7/28, swversion=21.8.1.RC6-USC-11-849, platform=tcd/Series6, TSN=8490001903FC83D}}
10:40:14.677 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - New device: Tivo[name=B6A DVR, tsn=8490001903FC83D, addresses=[/10.0.0.24], port=1413]
10:40:14.679 [JavaFX Application Thread] INFO n.s.archivo.model.UserPrefs - Last device = {"addresses":["CgAAGA=="],"port":1413,"name":"B6A DVR","tsn":"8490001903FC83D"}
10:40:14.679 [JavaFX Application Thread] INFO n.s.a.view.RecordingListController - Restoring previously used tivo: Tivo[name=B6A DVR, tsn=8490001903FC83D, addresses=[/10.0.0.24], port=1413]
10:40:14.680 [JavaFX Application Thread] INFO n.s.a.view.RecordingListController - New TiVo selected: Tivo[name=B6A DVR, tsn=8490001903FC83D, addresses=[/10.0.0.24], port=1413]
10:40:14.680 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Setting status to 'Fetching recordings...'
10:40:14.925 [pool-2-thread-1] ERROR n.s.archivo.net.MindTask - Error executing MindTask:
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_expired
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2033)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1135)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
at net.straylightlabs.archivo.net.MindRPC.connect(MindRPC.java:101)
at net.straylightlabs.archivo.net.MindRPC.connectAndAuthenticate(MindRPC.java:92)
at net.straylightlabs.archivo.net.MindRPC.send(MindRPC.java:143)
at net.straylightlabs.archivo.net.MindCommand.execute(MindCommand.java:81)
at net.straylightlabs.archivo.net.MindCommand.executeOn(MindCommand.java:89)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:42)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:28)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
10:40:14.925 [JavaFX Application Thread] ERROR n.s.a.view.RecordingListController - Error fetching recordings from B6A DVR:
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_expired
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2033)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1135)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1385)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1413)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1397)
at net.straylightlabs.archivo.net.MindRPC.connect(MindRPC.java:101)
at net.straylightlabs.archivo.net.MindRPC.connectAndAuthenticate(MindRPC.java:92)
at net.straylightlabs.archivo.net.MindRPC.send(MindRPC.java:143)
at net.straylightlabs.archivo.net.MindCommand.execute(MindCommand.java:81)
at net.straylightlabs.archivo.net.MindCommand.executeOn(MindCommand.java:89)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:42)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:28)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)

@tjnordic
Copy link

tjnordic commented May 6, 2018

I have the same issue with the Windows 10 platform. I've confirmed the issue exists on all my PCs, but all are running Java 1.8.0_171 the logs show a certificate error, so I tried the disable certificate feature in Java. this only resulted in a recv failure communicating with each of my Tivo IP addresses. tivo box reset and Windows restore to last month does not clear this error. The Log is contained below.

15:35:11.212 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Starting up Archivo 1.1.0...
15:35:11.216 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Running on Java 1.8.0_171 from Oracle Corporation
15:35:11.216 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - System is Windows 10 (version = 10.0, arch = x86)
15:35:11.220 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Volume C:\ has 185424 MB free of 475428 MB
15:35:11.220 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Volume D:\ has 1227 MB free of 11693 MB
15:35:11.220 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Volume E:\ has 179 MB free of 256 MB
15:35:11.246 [JavaFX Application Thread] INFO n.s.archivo.model.ArchiveHistory - Loading archive history from C:\Users\tjnor\AppData\Roaming\Archivo\history.xml
15:35:12.041 [JavaFX Application Thread] INFO n.s.a.view.RecordingListController - New TiVo selected: Tivo[name=TiVo, tsn=unknown, addresses=[/192.168.1.124], port=1413]
15:35:12.045 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Setting status to 'Fetching recordings...'
15:35:12.826 [pool-4-thread-1] INFO n.s.a.controller.UpdateCheckTask - Successfully fetched update URL
15:35:12.836 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Update check: This is the latest version of Archivo (1.1.0)
15:35:21.395 [pool-2-thread-1] ERROR n.s.archivo.net.MindTask - Error executing MindTask:
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_expired
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at net.straylightlabs.archivo.net.MindRPC.connect(MindRPC.java:101)
at net.straylightlabs.archivo.net.MindRPC.connectAndAuthenticate(MindRPC.java:92)
at net.straylightlabs.archivo.net.MindRPC.send(MindRPC.java:143)
at net.straylightlabs.archivo.net.MindCommand.execute(MindCommand.java:81)
at net.straylightlabs.archivo.net.MindCommand.executeOn(MindCommand.java:89)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:42)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:28)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
15:35:21.397 [JavaFX Application Thread] ERROR n.s.a.view.RecordingListController - Error fetching recordings from TiVo:
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_expired
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.Alerts.getSSLException(Unknown Source)
at sun.security.ssl.SSLSocketImpl.recvAlert(Unknown Source)
at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
at net.straylightlabs.archivo.net.MindRPC.connect(MindRPC.java:101)
at net.straylightlabs.archivo.net.MindRPC.connectAndAuthenticate(MindRPC.java:92)
at net.straylightlabs.archivo.net.MindRPC.send(MindRPC.java:143)
at net.straylightlabs.archivo.net.MindCommand.execute(MindCommand.java:81)
at net.straylightlabs.archivo.net.MindCommand.executeOn(MindCommand.java:89)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:42)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:28)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

@Rik46
Copy link

Rik46 commented May 8, 2018

I'm using the latest Archivo 1.1.0 and mine too has stuck Fetching recordings and never pulls anything up.

@CipherDude
Copy link

Same here. I also get a "certificate expired" error.

@Francisco-DAnconia
Copy link

Me too. On 1.1.0 it just goes into an infinite loop fetching recordings the log shows a cert error. On 1.0.5 it reports the problem immediately: Fatal alert: certificate_expired

@metoast
Copy link

metoast commented May 12, 2018

I'm having the same issue.

@caringdesign
Copy link

Also with problem fetching recordings. My TIVO recently upgraded to the new UI they pushed out. It has been working for quite awhile, but was around the update time that the download seemed to break.

20:08:44.827 [pool-2-thread-1] ERROR n.s.archivo.net.MindTask - Error executing MindTask: java.net.SocketException: Software caused connection abort: recv failed at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at sun.security.ssl.InputRecord.readFully(Unknown Source) at sun.security.ssl.InputRecord.read(Unknown Source) at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at sun.security.ssl.SSLSocketImpl.waitForClose(Unknown Source) at sun.security.ssl.HandshakeOutStream.flush(Unknown Source) at sun.security.ssl.Handshaker.sendChangeCipherSpec(Unknown Source) at sun.security.ssl.ClientHandshaker.sendChangeCipherAndFinish(Unknown Source) at sun.security.ssl.ClientHandshaker.serverHelloDone(Unknown Source) at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) at sun.security.ssl.Handshaker.processLoop(Unknown Source) at sun.security.ssl.Handshaker.process_record(Unknown Source) at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at net.straylightlabs.archivo.net.MindRPC.connect(MindRPC.java:101) at net.straylightlabs.archivo.net.MindRPC.connectAndAuthenticate(MindRPC.java:92) at net.straylightlabs.archivo.net.MindRPC.send(MindRPC.java:143) at net.straylightlabs.archivo.net.MindCommand.execute(MindCommand.java:81) at net.straylightlabs.archivo.net.MindCommand.executeOn(MindCommand.java:89) at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:42) at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:28) at javafx.concurrent.Task$TaskCallable.call(Task.java:1423) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) 20:08:44.866 [JavaFX Application Thread] ERROR n.s.a.view.RecordingListController - Error fetching recordings from Family Room: java.net.SocketException: Software caused connection abort: recv failed at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.socketRead(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at java.net.SocketInputStream.read(Unknown Source) at sun.security.ssl.InputRecord.readFully(Unknown Source) at sun.security.ssl.InputRecord.read(Unknown Source) at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at sun.security.ssl.SSLSocketImpl.waitForClose(Unknown Source) at sun.security.ssl.HandshakeOutStream.flush(Unknown Source) at sun.security.ssl.Handshaker.sendChangeCipherSpec(Unknown Source) at sun.security.ssl.ClientHandshaker.sendChangeCipherAndFinish(Unknown Source) at sun.security.ssl.ClientHandshaker.serverHelloDone(Unknown Source) at sun.security.ssl.ClientHandshaker.processMessage(Unknown Source) at sun.security.ssl.Handshaker.processLoop(Unknown Source) at sun.security.ssl.Handshaker.process_record(Unknown Source) at sun.security.ssl.SSLSocketImpl.readRecord(Unknown Source) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source) at net.straylightlabs.archivo.net.MindRPC.connect(MindRPC.java:101) at net.straylightlabs.archivo.net.MindRPC.connectAndAuthenticate(MindRPC.java:92) at net.straylightlabs.archivo.net.MindRPC.send(MindRPC.java:143) at net.straylightlabs.archivo.net.MindCommand.execute(MindCommand.java:81) at net.straylightlabs.archivo.net.MindCommand.executeOn(MindCommand.java:89) at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:42) at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:28) at javafx.concurrent.Task$TaskCallable.call(Task.java:1423) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)

@alienmeatsack
Copy link

alienmeatsack commented May 19, 2018

Another me too here. Mine started yesterday at some point. I rebooted the Tivo, Mac, network, restarted Archivo, and so forth and just spins on Fetching Recordings.

I haven't tried it on another platform (don't have anything else) but seeing that others have the same issue at least makes me feel a bit better.

Just stinks because it was fine, and now my Tivo is filling with shows faster then I can offload.

I don't remember any updates in recent days or anything that might have caused it. I hadn't even upgraded the Mac for a while since everything was working so nicely.

Sadly, I don't think this is going to be fixed. There's no activity for 2 years if I read the git info correctly. even my last bug issue has been left unanswered. Hope I am wrong. Anyone else a programmer who can help make this happy again?

@jbrindle
Copy link

The embedded certificate (cdata.p12) expired on Apr 29 16:21:41 2018 GMT. I haven't tried it yet but I suspect generating a new one and putting it in the archivo.jar will fix it.

@metoast
Copy link

metoast commented May 20, 2018

Sounds promising jbrindle. Beyond what I can do, but hopefully that works.

@jbrindle
Copy link

Yes, this seems to be correct. The certs (I guess) are taken from other apps so kmttg has a newer one that expires in 2020. To get it download:
https://sourceforge.net/p/kmttg/code/HEAD/tree/trunk/images/cdata.p12?format=raw

The password is different on this new cert, and since we are just trying to drop it in place in archivo we'll need to change the password. Run this:

keytool -importkeystore -srckeystore cdata.p12 -srcstoretype PKCS12 -srcstorepass 5vPNhg6sV4tD -destkeystore new-cdata.p12 -deststoretype PKCS12 -deststorepass LwrbLEFYvG -destkeypass LwrbLEFYvG

Then rename new-cdata.p12 to cdata.p12. You will need to drop the new cdata.p12 into the archivo.jar that is installed on your system, in the resources directory. On Windows you'll need to copy the jar out of program files before doing the work, since you can't modify it in place.

Hope that helps.

@caringdesign
Copy link

Jbrindle, I think you might be right. kttmg was having trouble as well and I ran an update. Once I did that it was working again and connecting to my TIVO.

I pulled the cert and will follow the steps, have to turn my DEV computer on to do the recompile to the new JAR. but expect it will work also once that cert is updated. Wonder if anyone has access to do the Git update, and do a recompile for others to download, or even push as an update to Archivo. Doesn't look like there have been any updates for awhile, so not sure if it's still alive or not.

Ken

@jbrindle
Copy link

It fixed it for me, but I didn't do it in source, just modified the release build because I'm lazy.

As for generating a new build with the cert, it's github, fork it.

@metoast
Copy link

metoast commented May 22, 2018

jbrindle, What's the easy way to modify the release build?

@jbrindle
Copy link

There are instructions above:
#121 (comment)

@metoast
Copy link

metoast commented May 22, 2018 via email

@caringdesign
Copy link

Thanks jbrindle, I'm up and running again!

Ken

@Francisco-DAnconia
Copy link

Francisco-DAnconia commented May 23, 2018 via email

@caringdesign
Copy link

Mine was running on Windows, but since even the tools are Java tools, the steps should be the same.

Use jbrindle's steps above to update the certificate for Archivo. #121 (comment)

I downloaded the source files locally copied the new cert to the resources folder per the above instructions. I then downloaded the ANT compiler to make the new JAR file with the installer. There is a build.xml file so basically all I had to do was run it and done. I then copied all of the resulting JAR files into the local Archivo directory overwriting any of the old ones.

https://ant.apache.org/index.html

Run Archivo and had to reenter my TIVO key, but everything came up perfect after that. I was back up and running pulling videos down.

Since all the tools that I used (keytool, ANT, etc.) are all JAVA apps themselves, they should run under OS X also. There may be other ways to build the JAR depending on what you already have installed, but the above worked best for me.

  • Ken

@Francisco-DAnconia
Copy link

Francisco-DAnconia commented May 23, 2018 via email

@smgeisler
Copy link

As a non-developer, I have no idea how to do what's required to fix Archivo. Could someone send me a fixed version?

@metoast
Copy link

metoast commented Jun 11, 2018

smgeisler, I'm pretty much in the same boat. I've tried downloading the tools, but really don't have an understanding of how to do it. If I figure it out I'll share, but hope someone chimes in here with a lifeboat.

@caringdesign
Copy link

caringdesign commented Jun 11, 2018

You can try to see if this will work. I this is the JAR file (archivo.jar) that is updated with the new certificate. Copy it into your Archivo folder (Usually C:\Program Files (x86)\Archivo). Overwrite the old one.

I don't think you need the other files updated as nothing else changed but the cert, but let me know if it doesn't work and I'll see if I can come up with a different idea.

Archivo.zip

  • Ken

@smgeisler
Copy link

smgeisler commented Jun 11, 2018 via email

@mikemeinz
Copy link

@KenEpuk
A BIG Thank You for the ZIP file of the revised JAR file.
Archivo is now working for me again.

@metoast
Copy link

metoast commented Jun 13, 2018

Thank you thank you thank you Ken!! Yes it does indeed work. I'm having an issue on my main windows machine, but it's working on my backup 100%. I must have bolloxed something in my attempts to fix it myself. I need to do a clean windows install on that machine anyway so that should resolve it.

@MDDrayer
Copy link

MDDrayer commented Sep 3, 2018

Ken appreciate your insight. Any further suggestions from you or the board as I am trying to resolve this fetching issue with Archivo? Replaced the Jar file with the one you provided, but to no avail. I can get the TIVO to fetch via KMTTG, but a 6GB fie is downloaded as complete at 580MB, so was hoping Archivo could be the solution. My skills are pretty amateurish. Thanks

@mikemeinz
Copy link

@jbrindle & @KenEpuk,
A big thanks for your work to make Archivo work again.
I read above that the new certificate expires in 2020.
Will there be another updated certificate that will last a lot longer?

@tothebin
Copy link

tothebin commented Jan 6, 2020

Please have patience with a noob, without programming experience. I just installed Archivo on a Mac running sierra, and after putting in my MAK it is stuck fetching recordings. I read about the expired certs above, and it makes sense, but I don't know how to go about fixing that on a Mac. Any help would be greatly appreciated. The following is the log.txt file:

10:52:29.083 [JavaFX Application Thread] INFO n.s.archivo.model.UserPrefs - Tools in '/Applications/Archivo.app/Contents/MacOS'
10:52:29.087 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Starting up Archivo 1.1.0...
10:52:29.088 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Running on Java 1.8.0_231 from Oracle Corporation
10:52:29.088 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - System is Mac OS X (version = 10.12.6, arch = x86_64)
10:52:29.095 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Volume / has 242202 MB free of 953541 MB
10:54:39.311 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Setting status to 'Looking for TiVos...'
10:54:39.313 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - Starting search for TiVo devices...
10:54:39.328 [pool-2-thread-1] ERROR net.straylightlabs.hola.sd.Query - SocketException when joining group for FF02::FB, IPv6-only hosts will not be found
java.net.SocketException: Invalid argument
at java.net.PlainDatagramSocketImpl.join(Native Method)
at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:178)
at java.net.MulticastSocket.joinGroup(MulticastSocket.java:323)
at net.straylightlabs.hola.sd.Query.openSocket(Query.java:195)
at net.straylightlabs.hola.sd.Query.runOnceOn(Query.java:122)
at net.straylightlabs.archivo.net.TivoSearchTask.startSearch(TivoSearchTask.java:81)
at net.straylightlabs.archivo.net.TivoSearchTask.call(TivoSearchTask.java:68)
at net.straylightlabs.archivo.net.TivoSearchTask.call(TivoSearchTask.java:41)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
10:54:40.459 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - Found instances: [Instance{name='STS Spare Room', addresses=[/10.0.0.15], port=1413, attributes={path=/, protocol=tivo-mindrpc, mindversion=7/25, swversion=20.7.4b.RC3-A93-6-A93, platform=tcd/Series4, TSN=A93000191199E29}}, Instance{name='STS Living Room', addresses=[/10.0.0.13], port=1413, attributes={path=/, protocol=tivo-mindrpc, mindversion=7/25, swversion=20.7.4b.RC3-USC-11-849, platform=tcd/Series6, TSN=84900019042B814}}]
10:54:40.460 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - isSupported = false for instance Instance{name='STS Spare Room', addresses=[/10.0.0.15], port=1413, attributes={path=/, protocol=tivo-mindrpc, mindversion=7/25, swversion=20.7.4b.RC3-A93-6-A93, platform=tcd/Series4, TSN=A93000191199E29}}
10:54:40.460 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - isSupported = true for instance Instance{name='STS Living Room', addresses=[/10.0.0.13], port=1413, attributes={path=/, protocol=tivo-mindrpc, mindversion=7/25, swversion=20.7.4b.RC3-USC-11-849, platform=tcd/Series6, TSN=84900019042B814}}
10:54:40.461 [pool-2-thread-1] INFO n.s.archivo.net.TivoSearchTask - New device: Tivo[name=STS Living Room, tsn=84900019042B814, addresses=[/10.0.0.13], port=1413]
10:54:40.464 [JavaFX Application Thread] INFO n.s.a.view.RecordingListController - New TiVo selected: Tivo[name=STS Living Room, tsn=84900019042B814, addresses=[/10.0.0.13], port=1413]
10:54:40.465 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Setting status to 'Fetching recordings...'
10:54:40.565 [pool-2-thread-1] ERROR n.s.archivo.net.MindTask - Error executing MindTask:
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_expired
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2020)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1127)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1379)
at net.straylightlabs.archivo.net.MindRPC.connect(MindRPC.java:101)
at net.straylightlabs.archivo.net.MindRPC.connectAndAuthenticate(MindRPC.java:92)
at net.straylightlabs.archivo.net.MindRPC.send(MindRPC.java:143)
at net.straylightlabs.archivo.net.MindCommand.execute(MindCommand.java:81)
at net.straylightlabs.archivo.net.MindCommand.executeOn(MindCommand.java:89)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:42)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:28)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
10:54:40.566 [JavaFX Application Thread] ERROR n.s.a.view.RecordingListController - Error fetching recordings from STS Living Room:
javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_expired
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:2020)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1127)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1367)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1395)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1379)
at net.straylightlabs.archivo.net.MindRPC.connect(MindRPC.java:101)
at net.straylightlabs.archivo.net.MindRPC.connectAndAuthenticate(MindRPC.java:92)
at net.straylightlabs.archivo.net.MindRPC.send(MindRPC.java:143)
at net.straylightlabs.archivo.net.MindCommand.execute(MindCommand.java:81)
at net.straylightlabs.archivo.net.MindCommand.executeOn(MindCommand.java:89)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:42)
at net.straylightlabs.archivo.net.MindTask.call(MindTask.java:28)
at javafx.concurrent.Task$TaskCallable.call(Task.java:1423)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
10:54:40.611 [pool-4-thread-1] INFO n.s.a.controller.UpdateCheckTask - Successfully fetched update URL
10:54:40.615 [JavaFX Application Thread] INFO net.straylightlabs.archivo.Archivo - Update check: This is the latest version of Archivo (1.1.0)
11:04:08.358 [JavaFX Application Thread] INFO n.s.archivo.model.UserPrefs - Last folder = /Users/STS_Mac_Pro/Movies

Thanks for any help...

@dwh-1776
Copy link

Thank you CMH62 !! The instructions were perfect. I am back up and running again!

@CMH62
Copy link

CMH62 commented Jan 25, 2021

Thank you CMH62 !! The instructions were perfect. I am back up and running again!

You’re welcome! Makes me feel very good that folks could follow the instructions and that this could help someone else. Again, credit goes to jbrindle and tortured1 for listing the details of the “keytool” java command which I’d had zero experience before reading this comment section. 😁

The only thing I’m concerned about is if anyone will figure out what the password should be for Dec. 2022 and beyond. How to do that is beyond my knowledge base. Would LOVE for someone to comment here on how to do that.

@TeeBall1960
Copy link

Thanks! Putting the latest Archivo.jar file in the folder worked for me!

@CMH62
Copy link

CMH62 commented Feb 23, 2021

Most welcome! 👍😁

@metoast
Copy link

metoast commented Feb 24, 2021

Great Work!!! Replacing the .jar file worked for me as well.

@njenney
Copy link

njenney commented Dec 21, 2022

December 2022 is here and my Archivo is failing fetching recordings. Anyone have a cert fix yet?

Thanks.

@bbobbyl
Copy link

bbobbyl commented Dec 22, 2022 via email

@njenney
Copy link

njenney commented Dec 22, 2022

@bbobbyl looks to also be an abandoned project.

https://sourceforge.net/p/kmttg/wiki/Home/

@chgoljc
Copy link
Author

chgoljc commented Dec 22, 2022 via email

@getsmartthingsfb
Copy link

kmttg v2.6-I works fine, I'm able to download shows from my tivo but I miss the commercial cut function that Archivo has.

Here's a link to detailed instructions for the last build: #121 (comment)

I was able to get the cdata.p12 file out of the kmttg.jar but I can't find the passwords needed to put that cert in the Archivo.jar file. Does anyone have the new password?

@metoast
Copy link

metoast commented Dec 22, 2022 via email

@fflewddur
Copy link
Owner

Hey everyone, original author of Archivo here. I'm really happy to see how many folks still find this tool useful! I no longer have a TiVo myself, which is why Archivo's development stopped. I'll update the GitHub project shortly to clarify that it's unmaintained.

Since there seems to be interest in keeping it running, I'm happy to help a new maintainer take ownership of this code. For anyone interested, feel free to reach out and I'll try to answer any questions about the code and process for building the releases as best I can.

@metoast
Copy link

metoast commented Jan 3, 2023 via email

@njenney
Copy link

njenney commented Jan 3, 2023 via email

@getsmartthingsfb
Copy link

I found this post with instructions on how to fix the fetch problem: #121 (comment)

Reuse the new KMTTG cdata.p12 certificate in the Archivo app.
Last String password = "XF7x4714qw"; // expires 12/11/2022
New String password = "vlZaKoduom"; // expires 5/3/2025

The above kmttg cert code (passwords can be found on line 210) at this URL: mlippert/kmttg@dd78b5e

I'm working on it now, I'll update once I get it running.

@fflewddur
Copy link
Owner

I previously used the certificate from KMTTG, so I'm afraid I can only offer advice here. I took a quick look inside the TiVo Desktop 2.8.3 distribution, and it includes certificate.pem and privatekey.pem files, which make me think you should be able to generate the .p12 certificate from them. The command for this should be something like openssl pkcs12 -export -out cdata.p12 -inkey PrivateKey.pem -in Certificate.pem. You'll also need the password for the private key. Peeking at TivoServer.exe in a hex editor, I see the following:
image
That makes me think the password is 'test' (without quotes), so if you supply that when asked for a password, it should allow you to generate your own cdata.p12 certificate with your own preferred password and expiration date, which you can then repackage with Archivo. Since I don't have a TiVo myself to test with, though, this is only guesswork on my part.

If you'd like to take over maintenance of Archivo, I suggest forking this repo on GitHub and getting the certificate updated first. To create updated application bundles, you can use the 'archivo.dmg' and 'archivo.exe' build targets in build.xml. You'll need to use your own code signing certificates--I previously paid for these myself, but I think now you can get free ones from https://www.sigstore.dev/. The end result should be updated installers for macOS and Windows that include the new, non-expired certificate. At that point, I can update this repo's readme and description to point to your fork.

Happy to help if you have any other questions :)

@github-geek
Copy link

I found this post with instructions on how to fix the fetch problem: #121 (comment)

Reuse the new KMTTG cdata.p12 certificate in the Archivo app. Last String password = "XF7x4714qw"; // expires 12/11/2022 New String password = "vlZaKoduom"; // expires 5/3/2025

The above kmttg cert code (passwords can be found on line 210) at this URL: mlippert/kmttg@dd78b5e

I'm working on it now, I'll update once I get it running.

Has there been any progress on this certificate snafu?
I am reading a composite of how to fix this information but I'm short on experience to accomplish it myself. Like I don't know how to update the password for the certificate.. just what it should be, etc.
maybe a new Archivo.jar will be posted?
better yet a tool to update the cert easily?

thanks for all your folks efforts!

@momnotmom
Copy link

I was able to follow the instructions and create a new Archivo.jar and copy it into place on my Mac, and I at least get the list of recordings. Attached if you want to give it a go.

Note I couldn't upload Archivo.jar; had to rename it to Archivo.zip. So you'll need to rename it back to Archivo.jar.
Archivo.zip

@njenney
Copy link

njenney commented Mar 5, 2023

@momnotmom this solution works for me!

I am on Windows 10 and I saved your Archivo.zip file and renamed to Archivo.jar. Then I copied the JAR file to C:\Program Files\Archivo and overwrote the legacy Archivo.jar file and launched the Archivo app without any issues,

Thanks so much and nice work.

njenney

@metoast
Copy link

metoast commented Mar 8, 2023 via email

@github-geek
Copy link

It worked for me too... also curious for how long. I assume (call me ignorant) there's no way to expire the certificate in like 20 years? ;)

@modigm
Copy link

modigm commented Mar 9, 2023

I think the certificate is good until May 3 of next year.

@getsmartthingsfb
Copy link

getsmartthingsfb commented Mar 9, 2023 via email

@DHdude
Copy link

DHdude commented Sep 1, 2024

momnotmom's Archivo.jar file worked just fine for me when I first started using it in March of 2023, but now Archivo is once again giving me the familiar expired-certificate error message and gets stuck fetching recordings on startup. Is anybody else having that problem or is it just me? Does Archivo.jar need to be updated with a new certificate?

@njenney
Copy link

njenney commented Sep 1, 2024 via email

@bbobbyl
Copy link

bbobbyl commented Sep 1, 2024 via email

@metoast
Copy link

metoast commented Sep 2, 2024 via email

@CMH62
Copy link

CMH62 commented Sep 3, 2024

Haven't checked this thread in quite a while (don't really use Archivo anymore). I posted the detailed "how-to" about 3 yrs ago after the Dec 2020 password expired. I've been working on this issue again but with no success. I've downloaded the latest certificate from lart2150 (who has revived KMTTG software maintenance) and have the password for the cert which expires on 11/17/26. So far, I haven't been able to get it to work but haven't given up yet. Will keep trying but it's been very frustrating trying to get this wonderful, orphaned program working again. Of course if I get it to work, I'll post an archivo.jar file here and detailed instructions on what I did.

@CMH62
Copy link

CMH62 commented Sep 4, 2024

GREAT NEWS – I HAVE ARCHIVO WORKING AGAIN as of 9/3/24!

The “JUST GET ME BACK TO WORK” Part:
For those of you that want to just get back to work with the program immediately, I’ve attached below the patched Archivo.jar file that you need. Just download this file to your computer and replace your current Archivo.jar file with this one. On my Windows 10 machine, the file to be replaced is found at: C:\Program Files (x86)\Archivo\Archivo.jar
The new file below includes the latest cdata.p12 certificate from the KMTTG project and does not expire until 11/17/26. That’s right, more than 2 years left before we have to do this again!!

Here’s the file you need (be sure to just rename it from Archivo.zip to Archivo.jar after you download it):
Archivo.zip

The “TELL ME HOW YOU DID IT” Part:
If you look at past messages in this thread from Jan 2021, I posted a detailed how-to on how to patch the Archivo.jar file. After researching how to fix things this time, I understand a little better how all this stuff works so I’ve updated my original how-to. The purpose of the instructions below is two-fold:

  1. to remind ME how to do it again in about two years, and
  2. to teach others step-by-step how they can do this on their own so they don’t have to wait for someone to patch the file for them.

BACKGROUND:
• Based on the excellent “keytool” comments made by jbrindle & tortured1 several years ago.
• Successfully executed and tested by CMH62 on Sept 3, 2024 on a Windows 10 machine.
• These instructions are long for completeness to help noobs. If you are skilled enough to use Archivo to move files from your Tivo to your PC, then you are skilled enough to execute the instructions below. Just read through them once before you begin. :-)
• This fix depends on others who maintain the KMTTG program. Formerly KMTTG had been abandoned, but a very smart user named lart2150 has taken up maintenance of KMTTG and provides the new certificates and passwords that KMTTG requires to be able to access Tivo units. These same certificate files and passwords are what Archivo requires. The software and techniques that lart2150 uses to reverse engineer the certificates and passwords from various Android based Tivo related software clients are expert level and far beyond my knowledge base. So if lart2150 stops maintaining KMTTG in the future, then both KMTTG and Archivo will be dead as soon as the most current security certificate expires..

Detailed Steps Used To Create The New Archivo.jar file in Sept. 2024:
Quick Info: Because not everyone updated their Archivo certificates in the past, the easiest way to help the most people with one set of instructions (and the way I actually fixed my Archivo program in Sept 2024) is to have your operating system uninstall your current version of Archivo. In Windows, this is done with the “Add/Remove Programs” feature in the Settings app. After doing so, use File Explorer to ensure that the C:\Program Files (x86)\Archivo folder is also deleted.

Then go to https://straylightlabs.net/archivo/ to download a fresh copy of the program. I also suggest you keep a copy of that program installer in case that website ever disappears. Why reinstall the program? Well, this was part of my new learning. The version of the program from that website has an expired certificate BUT WE KNOW EXACTLY WHAT THE PASSWORD IS FOR THAT CERTIFICATE (pw = LwrbLEFYvG). In the keytool command you’ll read about below, you MUST know the exact password of your expired certificate in your Archivo.jar file. Those of you that have manually patched your Archivo.jar file yourself several times over the past few years probably know what your last expired certificate password is. BUT those of you who just downloaded a fixed Archivo.jar file from someone on this forum or who never patched your program may not know which certificate (and password) was your last one.

By starting from scratch with a “new” installation of Archivo, we can ensure that we know the password for the program’s expired certificate and thereby ensure that the keytool command down below will work. For those experts who may be reading this, feel free not to reinstall your Archivo program but rather just use the keytool command with the proper new and EXPIRED passwords in the right places in the command.

Specific Next Steps:

  1. Confirm you have Java installed. If you’ve run Archivo successfully before, you should already have it! For me, Java was located at: C:\Program Files\Java\jre1.8.0_421. For the purposes of this tutorial, I did upgrade my Java … was on 191 before and now I’m on 421.
    o If you need to download Java, you should be able to do so here: https://java.com/en/download/ or just Google "download Java". As of Sept 3, 2024, version 1.8.0_421 was the latest version.

  2. Determine where Java's "keytool.exe" program is located:
    o Use Windows File Explorer to find the file named “keytool.exe”.
    o Write down the location of keytool.exe ... mine was at: C:\Program Files\Java\jre1.8.0_421\bin

  3. Edit your Windows PATH environment setting to include the path to the keytool.exe file:
    o Click your Windows button in the lower left of the screen and select the Settings gear icon. In the "Find a Setting" search bar, type "path" (without quotes) and select "edit the system environment variables". Then click on the "Environment
    Variables" box at the bottom of the popup window.

  4. Edit your Path settings:
    o Click once on "Path", and then click the "Edit" button.
    o Double click on the first empty (blank space) line in that window and enter the file location of your keytool.exe file. Once again, mine was: C:\Program Files\Java\jre1.8.0_421\bin (yours may be different)
    o Click the OK buttons to close out the (most likely 3) open windows
    o Reboot your computer so the new Path environment is available to Windows
    o This will make using the keytool.exe command in the following steps much easier. We basically told Windows where to look to find the keytool.exe command no matter what directory we are working in when we use keytool.exe.

  5. Download the latest "cdata.p12" certificate file from the Github site that user lart2150 maintains and learn what the password is for the certificate:
    o As of Sept. 3 2024, this site was at: https://github.com/lart2150/kmttg
    o On that site, scroll down until you see the folder named "images", and then click on the word “images” (which is a link to another web page)
    o On the next page, look/scroll down until you see “cdata.p12”, and then click on the word “cdata.p12” (which is a link to another web page)
    o On the next mostly empty page, there will be a down-arrow icon on the right-hand side that will allow you to “download raw file”. Click on that icon to download the most recent cdata.p12 certificate to your computer.
    o Click back one page in your browser to the previous page where we saw the “cdata.p12” file and notice the description next to it that as of 9/3/24 said “feat: update cert to 11/17/2026”. This date is the expiration date of your new certificate! And then click on that “feat: update cert to 11/17/2026” link …. You will be taken to a portion of the KMTTG code that tells you what the password for the certificate is. For this certificate that expires on 11/17/26, the password is: piUYKNH7Sb

  6. Create a working folder on your hard drive with a short path. I suggest C:\WORKING or something simple like that.

  7. On your computer, go to the folder where your downloads reside and make sure the file you downloaded from github is named “cdata.p12” (without the quotes, of course). Rename it to that if needed. Then, move that cdata.p12 file to the new working directory you just created.

  8. Using File Explorer in Windows, find your "Archivo.jar" file in your Archivo program folder. Mine was in the C:\Program Files (x86)\Archivo folder. Rename your Archivo.jar file to Archivo.jar.orig to indicate this was your original Archivo.jar file (you can pick a different last extension like .bak or whatever if you prefer … it won’t be used again).

  9. Copy this Archivo.jar.orig file into the working directory you created earlier
    (C:\WORKING or whatever you named your working directory)

  10. Now, use your favorite Zipping/Unzipping program (I like 7zip) to UNZIP the copy of the Archivo.jar.orig file in your working directory. The unzipping process will create 3 folders (named: "META-INF", "net", and "resources") and 1 file (named "logback.html").

  11. Now we are ready to run the all-critical keytool.exe command to update the password for the cdata.p12 certificate file. (Credit once again to jbrindle and tortured1 for their comments about how to use the keytool command!!)

Open up a DOS command prompt session in Windows (I selected to run mine as Administrator just in case that mattered), navigate to your working directory (C:\WORKING on my computer), and issue the keytool.exe command below. This command replaces the expired certificate password (LwrbLEFYvG) with the newest one (which once again is piUYKNH7Sb for the certificate expiring on 11/17/26) and creates a new file called new-cdata.p12. Note that in the keytool.exe command, the "-" symbols always immediately precede an immediately following letter:

keytool -importkeystore -srckeystore cdata.p12 -srcstoretype PKCS12 -srcstorepass piUYKNH7Sb -destkeystore new-cdata.p12 -deststoretype PKCS12 -deststorepass LwrbLEFYvG -destkeypass LwrbLEFYvG

Note: you’ve probably figured out by now that our new password is used first and exactly once in the command above with the expired password being used exactly twice in the second half of the command. That is important!

  1. Use Windows File Explorer to open up the "resources" folder that your unzipping process created earlier and rename the "cdata.p12" file to something else, like "cdata.p12.orig". Then rename the file “new-cdata.p12” which our keytool.exe command created to “cdata.p12” (without the quotes, of course) and move it into the "resources folder".

  2. Now that you've "fixed" the cdata.p12 file, it's time to ZIP everything back up!
    First, delete the Archivo.jar.orig file in your working directory. Then in File Explorer in Windows, use the CTRL key and mouse clicks to highlight the 3 folders named "META-INF", "net", and "resources" and the 1 file named "logback.html". Once I did that, I then right clicked on them once and selected my ZIP program (7zip) to add them to a new archive which must be called Archivo.jar. I had to select the type of compression to use (using the 7zip program) and selected the "ZIP" option. I also selected a compression level of “0 – Store”. I don’t think that matters, but this setting worked for me. I think other settings do as well. The program then created a new Archivo.jar file. If your program creates the file with the name Archivo.jar.zip, just rename it to Archivo.jar.

  3. Lastly, now copy your new fixed Archivo.jar file back into the Archivo program folder on your hard drive. As mentioned before, this was at the C:\Program File (x86)\Archivo location for me.

SUMMARY - This process basically:
a) found and downloaded the latest KMTTG security certificate and password for enabling TiVO unit communication,
b) inserted that certificate back into a new Archivo.jar file and with the updated password, and
c) copied that Archivo.jar file back over to the Archivo program location on your computer.

Once I did this, the "fetching" exercise still took about 90 seconds on my computer but it DID complete and I could then see the list of Tivo recordings on my computer screen. I even downloaded a great episode of “Bob’s Burger’s” tonight just to give it a test run. 😉

All is well again ... at least until November 17, 2026 at which time I’ll try to remember to look at the forums again to see if anyone needs help. But with the instructions above, all you guys will probably be fixing your Archivo programs yourself.

Enjoy, and God bless you all! :-)

P.S. Bonus Material: here are the list of passwords and expiration dates I've seen. Just to have them in one place. And to the best of my knowledge, this is what the number "1" looks like and this is the letter "l" (pronounced "el") below.

Expired PW
04/29/18 LwrbLEFYvG
12/18/20 5vPNhg6sV4tD
12/11/22 XF7x4714qw
05/03/24 vlZaKoduom
01/24/26 KllX3KygL9
11/17/26 piUYKNH7Sb

@getsmartthingsfb
Copy link

Great job, thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests