Skip to content

[C++][FlightRPC][MSVC] Flight SQL: Potential deadlock error after C++ 20 requirement is enabled #48714

Description

@alinaliBQ

Describe the bug, including details regarding any error messages, version, and platform.

On Windows MSVC, there are flakey mutex deadlock errors occurring in arrow-flight-sql-test.exe after C++ 20 is enabled 30809c6. This error impacts Arrow Flight SQL, it is is flakey and is not specific to any test.

I could not reproduce this error on MSYS2 which is the system tested in the CIs.

Log:

[ RUN      ] TestFlightSqlServer.TestCommandGetExportedKeys
[mutex.cc : 1426] RAW: Potential Mutex deadlock:
        @ 00007FFF10C00260
        @ 00007FFF10BF8EB3
        @ 00007FFF162DCE74
        @ 00007FFF15C12C4C
        @ 00007FFF15C13146
        @ 00007FFF15C14144
        @ 00007FFF156F8608
        @ 00007FFF154CD948
        @ 00007FFF154CDAB9
        @ 00007FFF162E0B26
        @ 00007FF84F09E8D7
        @ 00007FF8500EC53C

[mutex.cc : 1438] RAW: Acquiring absl::Mutex 0000023425BC70E0 while holding  0000023425B4B560; a cycle in the historical lock ordering graph has been observed
[mutex.cc : 1439] RAW: Cycle:
[mutex.cc : 1453] RAW: mutex@0000023425BC70E0 stack:
        @ 00007FFF10C00260
        @ 00007FFF10BF8EB3
        @ 00007FFF1539C999
        @ 00007FFF155DCC5C
        @ 00007FFF15921BEC
        @ 00007FFF159201B1
        @ 00007FFF15D031A3
        @ 00007FFF15B49440
        @ 00007FFF15B4B252
        @ 00007FFF15B4DC99
        @ 00007FFF15B4C2CD
        @ 00007FFF15B4A6F2
        @ 00007FFF15B495EC
        @ 00007FFF15D00323
        @ 00007FFF15CFD795
        @ 00007FFF15CF5BC4
        @ 00007FFF15CE7D3C
        @ 00007FFF15CEB341
        @ 00007FFF159F16EA
        @ 00007FFF159EE94B
        @ 00007FFF161109C3
        @ 00007FFF16110519
        @ 00007FFF16111283
        @ 00007FFF161112E6
        @ 00007FFF162E0B26
        @ 00007FF84F09E8D7
        @ 00007FF8500EC53C

[mutex.cc : 1453] RAW: mutex@0000023425B4B560 stack:
        @ 00007FFF10C00260
        @ 00007FFF10BF8EB3
        @ 00007FFF1539C999
        @ 00007FFF154CC90A
        @ 00007FFF1597861C
        @ 00007FFF15D2CE64
        @ 00007FFF15912BA3
        @ 00007FFF159128EC
        @ 00007FFF155BA141
        @ 00007FFF155BA33F
        @ 00007FFF155BA797
        @ 00007FFF155BCCF5
        @ 00007FFF155BDF9F
        @ 00007FFF15794EB5
        @ 00007FFF15793EA6
        @ 00007FFF155EB22D
        @ 00007FFF15483B81
        @ 00007FFF154548CA
        @ 00007FFF15368EBC
        @ 00007FFF152F4B0A
        @ 00007FF6C0C42D73
        @ 00007FFF24786AED
        @ 00007FFF24786723
        @ 00007FFF2474E76C
        @ 00007FFF2474F474
        @ 00007FFF2474FEF1
        @ 00007FFF247575C6
        @ 00007FFF24786BAD
        @ 00007FFF24786A33
        @ 00007FFF24750793
        @ 00007FFF24812DE3
        @ 00007FFF24812DB5
        @ 00007FF6C0D06809
        @ 00007FF6C0D066B2
        @ 00007FF6C0D0656E
        @ 00007FF6C0D0689E
        @ 00007FF84F09E8D7
        @ 00007FF8500EC53C

[mutex.cc : 1461] RAW: dying due to potential deadlock

To reproduce on PowerShell:

./arrow-flight-sql-test.exe --gtest --gtest_repeat=100

The test executable may need to be run multiple times before the error can show.

Component(s)

FlightRPC, C++

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions