Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Test Failed] FAILED: gen/src/controller/tests/data_model/TestRead_run.pw_pystamp tests/TestRead ERR ../../third_party/pigweed/repo/targets/host/run_test exited with status 255 OUT [Pid: 22671] '#0:','TestRead' #27829

Closed
woody-apple opened this issue Jul 8, 2023 · 1 comment · Fixed by #27870

Comments

@woody-apple
Copy link
Contributor

woody-apple commented Jul 8, 2023

Test issue(s)

https://github.com/project-chip/connectedhomeip/actions/runs/5490169427/jobs/10005272854

FAILED: gen/src/controller/tests/data_model/TestRead_run.pw_pystamp  python3 ../../third_party/pigweed/repo/pw_build/py/pw_build/python_runner.py --gn-root ../../ --current-path ../../src/controller/tests/data_model --default-toolchain=//build/toolchain/host:mac_x64_gcc --current-toolchain=//build/toolchain/host:mac_x64_gcc --touch gen/src/controller/tests/data_model/TestRead_run.pw_pystamp --capture-output --module pw_unit_test.test_runner --python-virtualenv-config python/gen/matter_build_venv/venv_metadata.json --python-dep-list-files gen/src/controller/tests/data_model/TestRead_run_metadata_path_list.txt -- --runner ../../third_party/pigweed/repo/targets/host/run_test --test tests/TestRead ERR ../../third_party/pigweed/repo/targets/host/run_test exited with status 255 OUT [Pid: 22671] '#0:','TestRead'

Anything else?

No response

@woody-apple woody-apple changed the title [Test Failed] FAILED: gen/src/controller/tests/data_model/TestRead_run.pw_pystamp python3 ../../third_party/pigweed/repo/pw_build/py/pw_build/python_runner.py --gn-root ../../ --current-path ../../src/controller/tests/data_model --default-toolchain=//build/toolchain/host:mac_x64_gcc --current-toolchain=//build/toolchain/host:mac_x64_gcc --touch gen/src/controller/tests/data_model/TestRead_run.pw_pystamp --capture-output --module pw_unit_test.test_runner --python-virtualenv-config python/gen/matter_build_venv/venv_metadata.json --python-dep-list-files gen/src/controller/tests/data_model/TestRead_run_metadata_path_list.txt -- --runner ../../third_party/pigweed/repo/targets/host/run_test --test tests/TestRead ERR ../../third_party/pigweed/repo/targets/host/run_test exited with status 255 OUT [Pid: 22671] '#0:','TestRead' [Test Failed] FAILED: gen/src/controller/tests/data_model/TestRead_run.pw_pystamp tests/TestRead ERR ../../third_party/pigweed/repo/targets/host/run_test exited with status 255 OUT [Pid: 22671] '#0:','TestRead' Jul 8, 2023
@bzbarsky-apple
Copy link
Contributor

[1688763688702] [22672:90774] [DMG] Refresh LivenessCheckTime for 5224 milliseconds with SubscriptionId = 0xd14279e6 Peer = 02:0000000011223344
...
[1688763692084] [22672:90774] [DMG] IM RH moving to [AwaitingDestruction]
src/controller/tests/data_model/TestRead.cpp:1804: assertion failed: "callback.mOnError == 1"
src/controller/tests/data_model/TestRead.cpp:1805: assertion failed: "callback.mLastError == CHIP_ERROR_TIMEOUT"
src/controller/tests/data_model/TestRead.cpp:1806: assertion failed: "callback.mOnDone == 1"
'#3:','TestSubscribeAttributeTimeout                             ','FAILED'

No useful timestamps on those failures, but what is conspicuously missing is a line that says: Subscription Liveness timeout with SubscriptionID....

In other words, we are checking for "we timed out" before we actually time out.

The relevant part of the test looks like this:

        ctx.GetIOContext().DriveIOUntil(ComputeSubscriptionTimeout(System::Clock::Seconds16(maxIntervalCeilingSeconds)),
                                        [&]() { return callback.mOnError >= 1; });

where ComputeSubscriptionTimeout adds 100ms of slack on top of what I would expect the liveness timer to be set to. But if we lose the timeslice for > 100ms, it's possible that we will break out of the loop before we have processed the timer....

We should probably just use slightly more slack here.

bzbarsky-apple added a commit to bzbarsky-apple/connectedhomeip that referenced this issue Jul 10, 2023
100ms is not enough: we have tests losing the timeslice for that long, and then
we break out of our "waiting for timeout" loop before we process the firing of
the timeout timer.

Fixes project-chip#27829
@bzbarsky-apple bzbarsky-apple moved this from Todo to In Progress in [Build] Build Issues Jul 10, 2023
@woody-apple woody-apple added this to the 1.2 milestone Jul 11, 2023
@mergify mergify bot closed this as completed in #27870 Jul 11, 2023
mergify bot pushed a commit that referenced this issue Jul 11, 2023
)

100ms is not enough: we have tests losing the timeslice for that long, and then
we break out of our "waiting for timeout" loop before we process the firing of
the timeout timer.

Fixes #27829
@github-project-automation github-project-automation bot moved this from Todo to Done in [Platform] Darwin Jul 11, 2023
@github-project-automation github-project-automation bot moved this from In Progress to Done in [Build] Build Issues Jul 11, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Archived in project
Archived in project
Development

Successfully merging a pull request may close this issue.

2 participants