Skip to content

Connection Work Queue Hang #3513

Open
Open
@nibanks

Description

@nibanks

Describe the bug

https://github.com/microsoft/msquic/actions/runs/4428097375/jobs/7766686061#step:8:2260

[ RUN      ] Misc/WithAbortiveArgs.AbortiveShutdown/340
D:\a\msquic\msquic\src\test\lib\DataTest.cpp(1030): error: Client failed to get connected before timeout!
[  FAILED  ] Misc/WithAbortiveArgs.AbortiveShutdown/340, where GetParam() = v4/1/1/1/0/1/0/1/0/0 (2566 ms)
[----------] 1 test from Misc/WithAbortiveArgs (2567 ms total)

Looking at the logs, the problem seems to be the connection gets scheduled/queued but isn't actually run until after the test fails.

[0]0364.05B0::2023/03/15-16:30:10.057300900 [Microsoft-Quic][data][0x1D65B80CA40] Recv 1220 bytes (segment=1220) Src=192.168.1.12:60333 Dst=192.168.1.11:60332
[0]0364.05B0::2023/03/15-16:30:10.057301800 [Microsoft-Quic][data][0x1D65B80CA40] Recv 205 bytes (segment=205) Src=192.168.1.12:60333 Dst=192.168.1.11:60332
[0]0364.05B0::2023/03/15-16:30:10.057310400 [Microsoft-Quic][conn][0x1D65B80AAE0] Scheduling: 1(QUEUED)
[0]0364.12E0::2023/03/15-16:30:10.754888300 [Microsoft-Quic][test] FAILURE - D:\a\msquic\msquic\src\test\lib\DataTest.cpp:1030 - Client failed to get connected before timeout!
[1]0364.0E34::2023/03/15-16:30:10.839109500 [Microsoft-Quic][wrkr][0x1D65B806B90] IsActive = 1, Arg = 3740727204
[1]0364.0E34::2023/03/15-16:30:10.839116200 [Microsoft-Quic][conn][0x1D65B80AAE0] Scheduling: 2(PROCESSING)
[1]0364.0E34::2023/03/15-16:30:10.839118500 [Microsoft-Quic][conn][0x1D65B80AAE0] Execute: 1(FLUSH_RECV)

I can't tell why thread 0E34 wasn't run until afterwards. It took nearly 800 milliseconds before it ran. I guess it could be possible that something delayed it from running, outside the scope of our app, but that seems excessive.

Affected OS

  • Windows
  • Linux
  • macOS
  • Other (specify below)

Additional OS information

No response

MsQuic version

main

Steps taken to reproduce bug

Run automation

Expected behavior

All tests pass

Actual outcome

Occasional test failures

Additional details

quic.log

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions