`ConnectionImplTest.MultiplexedPrecommitUpdated` failing in Kokoro Windows CMake build
Observed Behavior:
The ConnectionImplTest.MultiplexedPrecommitUpdated test is failing in our Windows CMake builds on Kokoro. The test fails with an Unexpected mock function call for StreamingRead, immediately followed by a fatal SEH exception with code 0xc0000005 (segmentation fault).
Error Log:
[ RUN ] ConnectionImplTest.MultiplexedPrecommitUpdated
unknown file: error:
Unexpected mock function call - returning default value.
Function call: StreamingRead((ptr = 0000024948901BC0, value = 384-byte object <00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 FF-FF FF-FF FF-FF FF-7F 00-00 00-00 01-00 00-00 ... 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00 00-00>), @0000024948946690 64-byte object <00-00 80-3F F6-7F 00-00 00-26 91-48 49-02 00-00 02-00 00-00 00-00 00-00 40-D0 91-48 49-02 00-00 C0-D0 91-48 49-02 00-00 C0-D0 91-48 49-02 00-00 07-00 00-00 00-00 00-00 08-00 00-00 00-00 00-00>, @0000024949256930 <
session: "multiplexed"
transaction {
id: "1234567890"
}
table: "table"
columns: "column1"
key_set {
all: true
}
request_options {
}
>)
Returns: (nullptr)
Google Mock tried the following 1 expectation, but it didn't match:
T:\src\github\google-cloud-cpp\google\cloud\spanner\internal\connection_impl_test.cc(3169): EXPECT_CALL(*mock, StreamingRead)...
Expected: all pre-requisites are satisfied
Actual: the following immediate pre-requisites are not satisfied:
T:\src\github\google-cloud-cpp\google\cloud\spanner\internal\connection_impl_test.cc(381): pre-requisite #0
(end of pre-requisites)
Expected: to be called once
Actual: never called - unsatisfied and active
unknown file: error: SEH exception with code 0xc0000005 thrown in the test body.
Stack trace:
[ FAILED ] ConnectionImplTest.MultiplexedPrecommitUpdated (4 ms)
Temporary Workaround:
The test has been temporarily disabled in the ci/kokoro/windows/builds/cmake.ps1 script by adding an exclusion to the ctest command. This unblocks the CI while a proper fix is investigated.
Action Required:
Investigate the ConnectionImplTest.MultiplexedPrecommitUpdated test to understand why the call order is incorrect and fix the test. Once the test is fixed, the exclusion should be removed from the cmake.ps1 build script.