-
Notifications
You must be signed in to change notification settings - Fork 40
Crash when using WebListener and Negotiate auth scheme #326
Comments
OS? Windows 7 / 2008 R2? api-ms-win-core-io-l1-1-1.dll is a dependency not present on older Windows versions but can be bundled or installed. I'll work on a repro and a workaround. |
(or in case of standalone applications the application was published for a newer version of Windows that it is running on e.g. an app published for win8-x64 being run on win7-x64) |
It is a self contained app published with It is .net core Running on Windows 2008 R2 SP1 |
Just a bit more info from the customer. Their Local Intranet settings does in fact have a |
That call stack looks like a secondary exception (which we should fix), but it doesn't tell us what the primary exception was. Can they reproduce it reliably enough to capture the first chance exception with the debugger? |
Since it's a self-contained app, do you have 'api-ms-win-core-io-l1-1-1.dll' in your app directory? |
The dll is there.
I can send the dump file if you like?
…On Fri, 17 Mar 2017 at 19:35, Chris R ***@***.***> wrote:
Since it's a self-contained app, do you have
'api-ms-win-core-io-l1-1-1.dll' in your app directory?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<#326 (comment)>,
or mute the thread
<https://github.com/notifications/unsubscribe-auth/AAGaps-SGTZoOt6qjXOUXzLMaguodJIfks5rmuCZgaJpZM4Md5OB>
.
|
The dump file is here - https://drive.google.com/file/d/0B4zNlOLPdHfeYVdMT2lrT1FVOE0/view?usp=sharing |
Any update on this, customer = large international bank |
@jchannon urgent customer issues should be routed to Microsoft Support (https://support.microsoft.com/). The dev team does not have the bandwidth for all investigations. |
I found the primary exception in the dump:
It's actually the same error triggered slightly earlier: HttpSysServer/src/Microsoft.AspNetCore.Server.HttpSys/RequestProcessing/ResponseStreamAsyncResult.cs Line 247 in 8d61026
vs HttpSysServer/src/Microsoft.AspNetCore.Server.HttpSys/RequestProcessing/ResponseStreamAsyncResult.cs Line 270 in 8d61026
FailSilently would be called when the client disconnected before the response was completed. It's not clear why this would be related to Negotiate, unless they were writing their own 401 error page? However, it still comes down to not being able to load that dll. I have not been able to reproduce this issue with the 1.1.1 runtime, dev bits, and Win7x64. If you enable COREHOST_TRACE=1 is the specified dll in the trace? You should see something like |
Thanks will get this setup on the customer's install. Our application does have middleware that does return 401 in a couple of locations eg/XSRF checks, user validation |
Here's a log with the env var set. Thanks https://drive.google.com/file/d/0B3uxSfah57yBamxoTWhmMzR6cDA/view?usp=sharing |
Any update? Thanks 🙏 |
The log says the file was loaded but that it couldn't find the method within the file. I was not able to reproduce the issue. I don't think we'll be able to make any more progress here without directly debugging the customers app (or related repro app). Did you contact support? They're better set up for direct customer contact. |
I didnt yet contact MS support because in the past I have found it impenetrable. Sorry for the painfully basic question but what category will .Net Core fall into? Our customer is a very large Microsoft customer and ideally we'd like to be able to ask them to have one of their MS contacts step in and help us negotiate our way thru what needs doing. |
I'm not sure how support is structured, but organizationally .NET Core lives under Visual Studio, which is under Cloud and Enterprise. |
@livarcocc Should we move this bug to SDK or CLI under dotnet? |
@muratg At first sight, this seems more like a corefx issue. @Petermarcu can you help take a look at this? |
@gkhanna79 to help out. |
I agree though, this may be better served going through support. |
@Tratcher is correct that this binary was loaded - this is what was in the log:
The exception above is self-explanatory - the binary in question did not export the API. Can you open a VS Developer Command prompt and do the following against the above binary:
This will list the APIs exported by the above DLL and should confirm that CancelIOEx is not present in it. If confirmed, we will need to understand why @jchannon Can you help with the above data collection? Also, what version of .NET Core is this on? |
API Set docs: https://msdn.microsoft.com/en-us/library/windows/desktop/mt186421(v=vs.85).aspx We have not been able to reproduce this issue on other machines. |
@gkhanna79 Below is the output you asked for.
|
Note: We also appear to have
|
I see the same. Are API sets supposed to chain? Every doc I can find shows CancelIOEx in 1.1.1, and I haven't been able to repro this on my VMs. |
I've finally been able to repro this error message by directly invoking CancelIoEx on app launch. It's still not clear why this hasn't reproduced any other way. At least the fix is easy... |
Uh oh!
There was an error while loading. Please reload this page.
Scenario :
Server is running with
options.ListenerSettings.Authentication.Schemes = AuthenticationSchemes.Negotiate;
Client IE settings to automatically logon sites in the intranet zone. URL of site is not in the the sites list.
Client makes request to server and it crashes the server. Put the URL in the sites and auth takes place and all is well.
We ran DebugDiag to try and get a crash dump and below is the stack trace inside it (note this is reproducible on a customer installation currently 😢 ) :
The text was updated successfully, but these errors were encountered: