jellyfin / TMDbLib

C#.Net library for TheMovieDB
MIT License
344 stars 128 forks source link

v 1.8.0 AccountChangeWatchlistStatusAsync HttpRequestException / Stream Object Disposed #371

Closed JWillard551 closed 3 years ago

JWillard551 commented 3 years ago

Upgrading to the latest version 1.8.0 (as of yesterday 4/5/21) appears to have caused problems with the AccountChangeWatchlistStatusAsync method/endpoint. I receive these exceptions on the latest version. If I downgrade back down to version 1.6.0, this endpoint appears to work again. Hoping to use 1.8.0 though for its added capabilities for watch providers. Let me know if I can help provide any more information on this. This might be affecting other methods as well, but I've only witnessed it with this specific one.

ex.Message = Error while copying content to a stream. ex.StackTrace:

at System.Net.Http.HttpContent.CopyToAsyncCore (System.Threading.Tasks.ValueTask copyTask) [0x00089] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/HttpContent.cs:375 at System.Net.Http.HttpConnection.SendRequestContentAsync (System.Net.Http.HttpRequestMessage request, System.Net.Http.HttpConnection+HttpContentWriteStream stream, System.Threading.CancellationToken cancellationToken) [0x00058] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnection.cs:796 at System.Net.Http.HttpConnection.SendAsyncCore (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x012e6] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnection.cs:748 at System.Net.Http.HttpConnectionPool.SendWithNtConnectionAuthAsync (System.Net.Http.HttpConnection connection, System.Net.Http.HttpRequestMessage request, System.Boolean doRequestAuth, System.Threading.CancellationToken cancellationToken) [0x000e6] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnectionPool.cs:330 at System.Net.Http.HttpConnectionPool.SendWithRetryAsync (System.Net.Http.HttpRequestMessage request, System.Boolean doRequestAuth, System.Threading.CancellationToken cancellationToken) [0x00101] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/HttpConnectionPool.cs:296 at System.Net.Http.RedirectHandler.SendAsync (System.Net.Http.HttpRequestMessage request, System.Threading.CancellationToken cancellationToken) [0x00070] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/SocketsHttpHandler/RedirectHandler.cs:32 at System.Net.Http.HttpClient.FinishSendAsyncBuffered (System.Threading.Tasks.Task`1[TResult] sendTask, System.Net.Http.HttpRequestMessage request, System.Threading.CancellationTokenSource cts, System.Boolean disposeCts) [0x0017e] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/HttpClient.cs:506 at TMDbLib.Rest.RestRequest.SendInternal (System.Net.Http.HttpMethod method, System.Threading.CancellationToken cancellationToken) [0x000c5] in <0bf9ad4d4bee45508f547e7237833830>:0 at TMDbLib.Rest.RestRequest.Post[T] (System.Threading.CancellationToken cancellationToken) [0x00077] in <0bf9ad4d4bee45508f547e7237833830>:0 at TMDbLib.Rest.RestRequestExtensions.PostOfT[T] (TMDbLib.Rest.RestRequest request, System.Threading.CancellationToken cancellationToken) [0x0007a] in <0bf9ad4d4bee45508f547e7237833830>:0 at TMDbLib.Client.TMDbClient.AccountChangeWatchlistStatusAsync (TMDbLib.Objects.General.MediaType mediaType, System.Int32 mediaId, System.Boolean isOnWatchlist, System.Threading.CancellationToken cancellationToken) [0x000e1] in <0bf9ad4d4bee45508f547e7237833830>:0 at MovieTracker.TMDbModel.Services.TMDbService.AccountChangeWatchlistStatusAsync (TMDbLib.Objects.General.MediaType mediaType, System.Int32 mediaId, System.Boolean isOnWatchlist, System.Threading.CancellationToken cancellationToken) [0x00040] in C:\Users\josep\Documents\Development\MovieTracker\MovieTracker.App\MovieTracker.TMDbModel\Services\TMDbService.cs:151

ex.InnerException.Message = Cannot access a closed Stream. ex.InnerException.StackTrace:

at System.IO.StreamHelpers.ValidateCopyToArgs (System.IO.Stream source, System.IO.Stream destination, System.Int32 bufferSize) [0x0003a] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/Common/src/CoreLib/System/IO/StreamHelpers.CopyValidation.cs:26 at System.IO.MemoryStream.CopyToAsync (System.IO.Stream destination, System.Int32 bufferSize, System.Threading.CancellationToken cancellationToken) [0x00000] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/Common/src/CoreLib/System/IO/MemoryStream.cs:531 at System.IO.Stream.CopyToAsync (System.IO.Stream destination, System.Threading.CancellationToken cancellationToken) [0x00007] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corert/src/System.Private.CoreLib/shared/System/IO/Stream.cs:133 at (wrapper remoting-invoke-with-check) System.IO.Stream.CopyToAsync(System.IO.Stream,System.Threading.CancellationToken) at System.Net.Http.StreamToStreamCopy.CopyAsync (System.IO.Stream source, System.IO.Stream destination, System.Int32 bufferSize, System.Boolean disposeSource, System.Threading.CancellationToken cancellationToken) [0x00000] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/StreamToStreamCopy.cs:33 --- End of stack trace from previous location where exception was thrown ---

at System.Net.Http.HttpContent.CopyToAsyncCore (System.Threading.Tasks.ValueTask copyTask) [0x00022] in /Users/builder/jenkins/workspace/archive-mono/2020-02/android/release/external/corefx/src/System.Net.Http/src/System/Net/Http/HttpContent.cs:361

LordMike commented 3 years ago

I see it. Thanks for reporting it.

I've pushed a fix, which will be available shortly.