microsoft / msquic

Cross-platform, C implementation of the IETF QUIC protocol, exposed to C, C++, C# and Rust.
MIT License
4.05k stars 530 forks source link

Basic/WithFamilyArgs.PathValidationTimeout/1 failed #1727

Open nibanks opened 3 years ago

nibanks commented 3 years ago

Describe the bug

Latest main pipeline has the following test failure on Windows user mode BVT:

https://dev.azure.com/ms/msquic/_build/results?buildId=180914&view=logs&j=c40b63a5-7dbb-5cb5-fce9-4bc98709706d&t=db2c8b2a-4837-55b9-0021-0a534936d219&l=366

[ RUN      ] Basic/WithFamilyArgs.PathValidationTimeout/1
D:\a\1\msquic\src\test\lib\TestConnection.cpp(184): error: WaitForShutdownComplete timed out after 2000 ms.
[  FAILED  ] Basic/WithFamilyArgs.PathValidationTimeout/1, where GetParam() = v6 (2343 ms)

Logs: PathValidationTimeout.log

ThadHouse commented 3 years ago

We ran into this while writing a new path test, where amplification would cause keep alives to be blocked, which would cause the test to timeout. This is likely a similar issue where we need to ensure that our reply gets through. We likely need more testing here as well.

nibanks commented 3 years ago

In the attached log, the problem is that the keep alive raced with the delayed ACK timer, so the ACK was the only thing let through, and not the keep alive. The test should wait longer to ensure the delayed ACK had time to process.

ami-GS commented 1 year ago

Again? Basic/WithFamilyArgs.PathValidationTimeout/0 https://dev.azure.com/ms/msquic/_build/results?buildId=428840&view=logs&j=44c54f96-d052-501a-1eab-420ec83f49e0&t=2f8f1e74-971c-50a0-ed66-5e5e756cac00