ShokoAnime / ShokoServer

Repository for Shoko Server.
https://shokoanime.com/
MIT License
405 stars 74 forks source link

Error on Regenerate TvDB Links #882

Closed MikePrime21 closed 3 years ago

MikePrime21 commented 3 years ago

VERSION INFORMATION

Server Version: 4.1.0 Stable

Desktop Version: N/A

LOG FILE

2021-05-19T23:58:43.4626578Z System.InvalidOperationException: Synchronous operations are disallowed. Call WriteAsync or set AllowSynchronousIO to true instead. at Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http.HttpResponseStream.Write(Byte[] buffer, Int32 offset, Int32 count) at System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder) at System.IO.StreamWriter.Dispose(Boolean disposing) at System.IO.TextWriter.Dispose() at Shoko.Server.API.v2.Models.core.APIMessage.ExecuteResult(ActionContext context) in /usr/src/app/source/Shoko.Server/API/v2/Models/core/APIMessage.cs:line 66 at Microsoft.AspNetCore.Mvc.ActionResult.ExecuteResultAsync(ActionContext context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeNextResultFilterAsync[TFilter,TFilterAsync]() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.gAwaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync() --- End of stack trace from previous location --- at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope) at Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext) at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext) at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider) at Shoko.Server.API.Startup.<>c.<b9_0>d.MoveNext() in /usr/src/app/source/Shoko.Server/API/Startup.cs:line 191

DESCRIPTION

On the Actions tab, I clicked run for 'Regenerate TvDB Links'. It gave me the above error. Synchronous operations are disallowed.

STEPS TO REPRODUCE

I don't think I did anything special to produce that error, but I did disable the Auto Link setting under tvdb. Then I imported all my anime. Finally I enabled that setting again and tried to run the 'Regenerate TvDB Links' action.

da3dsoul commented 3 years ago

I don't know why this is a thing. It definitely didn't use to happen. This commit stands out to me. https://github.com/ShokoAnime/ShokoServer/commit/f40e5da202144e46fce8f554da87632c595c22cd @Baine I'll be looking at it, but do you have a defense for it?

da3dsoul commented 3 years ago

According to the interwebs, that's supposed to fix it. @MikePrime21 can you grab a daily and try that? For windows, they can be found in the Actions tab. For docker, you simply append :daily to the image name

Baine commented 3 years ago

I don't know why this is a thing. It definitely didn't use to happen. This commit stands out to me. f40e5da @Baine I'll be looking at it, but do you have a defense for it?

yeah, that commit was specifically done to fix those errors, and was coordinated with cazzar

MikePrime21 commented 3 years ago

It looks like it works on the docker :daily image. When I run it I don't get an error and it says the command was successfully sent. From the dashboard I see nothing... No command processing, nothing in the log. On the other hand, the docker stdout log is filled with tvdb stuff. So I guess it works?

Doesn't do what I expected... but that could just be my fault for clicking buttons.

da3dsoul commented 3 years ago

Good to know that works. Yeah it probably doesn't do what you thought. That button regenerates the episode to episode matchings for each series

Cazzar commented 3 years ago

Reportedly fixed in 4.1.1 comment if it’s still occurring