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

Interrupted downloads should attempt to resume instead of instantly stopping #187

Open
VasilisThePikachu opened this issue Oct 29, 2024 · 0 comments

Comments

@VasilisThePikachu
Copy link
Member

VasilisThePikachu commented Oct 29, 2024

It appears that if a download is suddenly interrupted, potentially from an ISP interfering. It usually appears this would throw the following error as soon as it happens.

2024-10-28 19:25:23.575 -05:00 [DBG] Downloading content manifest from https://cdn.frontierstation14.com/fork/Frontier/version/879e22e343f980e1f66f78ee6ee1f79081b10706/manifest
2024-10-28 19:25:25.876 -05:00 [DBG] Parsing manifest into database...
2024-10-28 19:28:38.385 -05:00 [ERR] Exception while trying to run updates
System.IO.IOException: Received an unexpected EOF or 0 bytes from the transport stream.
   at System.Net.Security.SslStream.EnsureFullTlsFrameAsync[TIOAdapter](CancellationToken cancellationToken, Int32 estimatedSize)
   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
   at System.Net.Security.SslStream.ReadAsyncInternal[TIOAdapter](Memory`1 buffer, CancellationToken cancellationToken)
   at System.Runtime.CompilerServices.PoolingAsyncValueTaskMethodBuilder`1.StateMachineBox`1.System.Threading.Tasks.Sources.IValueTaskSource<TResult>.GetResult(Int16 token)
   at System.Net.Http.HttpConnection.ReadAsync(Memory`1 destination)
   at System.Net.Http.HttpConnection.ContentLengthReadStream.ReadAsync(Memory`1 buffer, CancellationToken cancellationToken)
   at SS14.Launcher.Utility.ZStdDecompressStream.ReadAsync(Memory`1 buffer, CancellationToken cancellationToken)
   at SS14.Launcher.Utility.Blake2BHasherStream.ReadAsync(Memory`1 buffer, CancellationToken cancellationToken)
   at System.IO.StreamReader.ReadBufferAsync(CancellationToken cancellationToken)
   at System.IO.StreamReader.ReadLineAsyncInternal(CancellationToken cancellationToken)
   at SS14.Launcher.Models.Updater.IngestContentManifest(ServerBuildInformation buildInfo, SqliteConnection con, Int64 versionId, Stopwatch swSqlite, CancellationToken cancel)
   at SS14.Launcher.Models.Updater.DownloadNewVersionManifest(ServerBuildInformation buildInfo, SqliteConnection con, Int64 versionId, CancellationToken cancel)
   at SS14.Launcher.Models.Updater.DownloadNewVersion(ServerBuildInformation buildInfo, SqliteConnection con, Lazy`1 moduleManifest, CancellationToken cancel, String engineVersion)
   at SS14.Launcher.Models.Updater.TouchOrDownloadContentUpdate(ServerBuildInformation buildInfo, SqliteConnection con, Lazy`1 moduleManifest, CancellationToken cancel)
   at SS14.Launcher.Models.Updater.TouchOrDownloadContentUpdateTransacted(ServerBuildInformation buildInfo, SqliteConnection con, Lazy`1 moduleManifest, CancellationToken cancel)
   at SS14.Launcher.Models.Updater.RunUpdate(ServerBuildInformation buildInfo, CancellationToken cancel)
   at SS14.Launcher.Models.Updater.GuardUpdateAsync[T](Func`1 func)

A bit of chatting with pjb suggested this may be because the download somehow gets interrupted suddenly.

Chatting with the user they reported the download screen was present for a bit before erroring out. Which may be the culprit.

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

1 participant