-
-
Notifications
You must be signed in to change notification settings - Fork 37
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
Blocking against static files (css/js) #14
Comments
That's quite interesting... warn: Ben.Diagnostics.BlockingMonitor[6]
Blocking method has been invoked and blocked, this can lead to threadpool starvation.
at System.IO.FileStream.ReadAsyncInternal(Memory`1 destination, CancellationToken cancellationToken, Int32& synchronousResult)
at System.IO.FileStream.ReadAsyncTask(Byte[] array, Int32 offset, Int32 count, CancellationToken cancellationToken)
at System.IO.FileStream.ReadAsync(Byte[] buffer, Int32 offset, Int32 count, CancellationToken cancellationToken)
at Microsoft.AspNetCore.Http.StreamCopyOperationInternal.CopyToAsync(Stream source, Stream destination, Nullable`1 count, Int32 bufferSize, CancellationToken cancel)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.ExecutionContextCallback(Object s)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext(Thread threadPoolThread)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AsyncStateMachineBox`1.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.<>c.<OutputWaitEtwEvents>b__12_0(Action innerContinuation, Task innerTask)
at System.Threading.Tasks.AwaitTaskContinuation.System.Threading.IThreadPoolWorkItem.Execute()
at System.Threading.ThreadPoolWorkQueue.Dispatch() /cc @stephentoub |
Presumably it's dotnet/runtime#16341. |
Am I doing something unique to put me in this situation, or is this happening across the board for anyone using static files? |
Sorry if this isn't the right place, but I'm starting here cause of the blocking detector package. I'm running in to another scenario that seems to be pointing back to the same IO issue. I have an ASP.NET Core 3.1 API returning a complex object (multiple objects as properties all of which recursively may have children objects). As it stands on my dev box (IIS Express, i7-6700k, 32GB RAM), the response of the request is triggering another blocking detector. The response data of the request is 62KB. I am returning a Edit - looks like 30KB is the limit before it buffers to disk? I see 32 instances of this blocker detected. Here are only the top couple lines of the stack trace.
|
I'd raise that in https://github.com/dotnet/aspnetcore the |
I am just getting started using the middleware, and I'm coming across some blocking notes against our html/css files. I am not sure how this should be handled. Any direction?
ASP.NET Core 3.1
Here's the Configure method.
The text was updated successfully, but these errors were encountered: