Skip to content
This repository has been archived by the owner on Dec 18, 2018. It is now read-only.

Multi-loop Kestrel on Windows blocked by libuv change #232

Closed
DamianEdwards opened this issue Sep 28, 2015 · 4 comments
Closed

Multi-loop Kestrel on Windows blocked by libuv change #232

DamianEdwards opened this issue Sep 28, 2015 · 4 comments
Assignees
Milestone

Comments

@DamianEdwards
Copy link
Member

We have a PR out to libuv to fix an issue that will re-enable the multi-loop support on Windows that we lost when we stopped shipping our own fork of libuv.

@muratg
Copy link
Contributor

muratg commented Oct 26, 2015

Just talked to @lodejard. Moving is issues to RC2.

@AspNetSmurfLab
Copy link

Latest info: the PR in libuv was merged! However, trying multi-loop on Windows with the updated libuv bits yields the following error:

Microsoft.AspNet.Server.Kestrel.Networking.UvException: Error -4071 EINVAL invalid argument
   at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Check(Int32 statusCode) in C:\code\github\aspnet\KestrelHttpServe
r\src\Microsoft.AspNet.Server.Kestrel\Networking\Libuv.cs:line 114
   at Microsoft.AspNet.Server.Kestrel.Networking.UvWriteReq.Write2(UvStreamHandle handle, ArraySegment`1 bufs, UvStreamH
andle sendHandle, Action`4 callback, Object state) in C:\code\github\aspnet\KestrelHttpServer\src\Microsoft.AspNet.Serve
r.Kestrel\Networking\UvWriteReq.cs:line 133
   at Microsoft.AspNet.Server.Kestrel.Http.ListenerPrimary.DispatchConnection(UvStreamHandle socket) in C:\code\github\a
spnet\KestrelHttpServer\src\Microsoft.AspNet.Server.Kestrel\Http\ListenerPrimary.cs:line 104
   at Microsoft.AspNet.Server.Kestrel.Networking.UvStreamHandle.UvConnectionCb(IntPtr handle, Int32 status) in C:\code\g
ithub\aspnet\KestrelHttpServer\src\Microsoft.AspNet.Server.Kestrel\Networking\UvStreamHandle.cs:line 137
   at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.NativeMethods.uv_run(UvLoopHandle handle, Int32 mode)
   at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.run(UvLoopHandle handle, Int32 mode) in C:\code\github\aspnet\Kes
trelHttpServer\src\Microsoft.AspNet.Server.Kestrel\Networking\Libuv.cs:line 150
   at Microsoft.AspNet.Server.Kestrel.KestrelThread.ThreadStart(Object parameter) in C:\code\github\aspnet\KestrelHttpSe
rver\src\Microsoft.AspNet.Server.Kestrel\Infrastructure\KestrelThread.cs:line 212
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNet.Server.Kestrel.KestrelThread.Stop(TimeSpan timeout) in C:\code\github\aspnet\KestrelHttpServer\sr
c\Microsoft.AspNet.Server.Kestrel\Infrastructure\KestrelThread.cs:line 86
   at Microsoft.AspNet.Server.Kestrel.KestrelEngine.Dispose() in C:\code\github\aspnet\KestrelHttpServer\src\Microsoft.A
spNet.Server.Kestrel\KestrelEngine.cs:line 44
   at Microsoft.AspNet.Server.Kestrel.KestrelServer.Dispose() in C:\code\github\aspnet\KestrelHttpServer\src\Microsoft.A
spNet.Server.Kestrel\KestrelServer.cs:line 120
   at Microsoft.AspNet.Hosting.Internal.HostingEngine.<>c__DisplayClass35_0.<Start>b__1()
   at Microsoft.AspNet.Hosting.WebApplication.Run(Type startupType, String[] args)
   at Microsoft.AspNet.Server.Kestrel.Program.Main(String[] args) in C:\code\github\aspnet\KestrelHttpServer\src\Microso
ft.AspNet.Server.Kestrel\Program.cs:line 15
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Microsoft.Dnx.Runtime.Common.EntryPointExecutor.Execute(Assembly assembly, String[] args, IServiceProvider service
Provider)
   at System.Threading.Tasks.Task`1.InnerInvoke()
   at System.Threading.Tasks.Task.Execute()

Unhandled Exception: Microsoft.AspNet.Server.Kestrel.Networking.UvException: Error -4082 EBUSY resource busy or locked
   at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Check(Int32 statusCode)
   at Microsoft.AspNet.Server.Kestrel.Networking.UvLoopHandle.ReleaseHandle()
   at System.Runtime.InteropServices.SafeHandle.InternalFinalize()
   at System.Runtime.InteropServices.SafeHandle.Finalize()

@DamianEdwards DamianEdwards assigned halter73 and unassigned lodejard Nov 6, 2015
benaadams added a commit to benaadams/KestrelHttpServer that referenced this issue Nov 13, 2015
@benaadams
Copy link
Contributor

Resolved by "Network thread count defaults" #378

benaadams added a commit to benaadams/KestrelHttpServer that referenced this issue Nov 13, 2015
benaadams added a commit to benaadams/KestrelHttpServer that referenced this issue Nov 13, 2015
benaadams added a commit to benaadams/KestrelHttpServer that referenced this issue Nov 13, 2015
@DamianEdwards
Copy link
Member Author

This is totally functional now and #378 deals with changing the default.

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

No branches or pull requests

6 participants