googleapis / googleapis/google-cloud-cpp

`ConnectionImplTest.MultiplexedPrecommitUpdated` failing in Kokoro Windows CMake build

Aperta
#15,584 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
priority: p3
Lingua principale
C++
Stelle
659
Fork
462
Merge medio
1g 2h
PR unite (30g)
89

Descrizione

**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.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia da google/cloud/spanner/internal/connection_impl_test.cc, in particolare dalle asserzioni intorno alle righe 381 e 3169, e ispeziona il test disabilitato in ci/kokoro/windows/builds/cmake.ps1. Riproduci il fallimento di CMake su Windows e traccia il motivo per cui StreamingRead si verifica prima del suo prerequisito. Il lavoro è completo quando il test ha esito positivo e la sua esclusione viene rimossa da cmake.ps1.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
cmake, cpp
Ambito
ci-cd, testing
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
42/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.