-
Notifications
You must be signed in to change notification settings - Fork 4.9k
fixes for ARM32 #34559
fixes for ARM32 #34559
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -48,13 +48,21 @@ public NtAuthServer(AuthenticationSchemes authSchemes) | |
{ | ||
// Ignore. | ||
} | ||
catch (ObjectDisposedException) | ||
{ | ||
// Ignore. | ||
} | ||
catch (InvalidOperationException) | ||
{ | ||
// Ignore. | ||
} | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This seems like it's hiding a symptom. Is there an underlying problem we should be fixing instead? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I could be wrong but I don't think so. We initialize instances when the class loads. And then we skip the test and we immediately hit Dispose() Now, on busy/slow system this happens before the task runs end executes the listener call. That can either lead to timeout, object disposed exception or invalid operation based on exact timing. In that case I saw on ARM32 the actual test was skipped but hit "Error: (not Fail) just loading and unloading the test class. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
What's the stack of the exceptions you're seeing? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This is from my x64 VM Machine
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I see, ok. GetContext documents both InvalidOperationException and ObjectDisposedException as occurring in cases like this, where the HttpListener may not be listening or has been disposed of already, so... ok. Subsequently it might be nice to try to restructure the tests to avoid this, but I agree your tactical fix is good to go ahead with now. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I originally started on path to add synchronization. |
||
}); | ||
} | ||
|
||
public void Dispose() | ||
{ | ||
_listener.Stop(); | ||
_serverTask.Wait(); | ||
_serverTask.Wait(TestHelper.PassingTestTimeoutMilliseconds); | ||
} | ||
|
||
public string BaseUrl { get; private set; } | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's probably worth opening a bug against curl, even if we have a work around. Their bug tracker is here.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was thinking about it. I would need to probably isolate C repo and show behavior with some public server.