oceanbase / oceanbase/powercontext
bug: flaky macOS native service lifecycle test
@Modo-me is already working on this.
Since Sep 15, 2026.
- Dominant language
- Python
- Stars
- 1.1k
- Forks
- 212
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 199
Description
Describe the bug
test_native_personal_service_lifecycle intermittently fails during service installation in the macos-launchagent CI job. Rerunning the same commit passed without code changes.
Observed on PR #1570, commit b2e59269.
Evidence
- Failed attempt: https://github.com/oceanbase/powercontext/actions/runs/34663181365/job/103469752578
Result: 1 failed, 3 passed, 1 skipped. - Successful rerun: https://github.com/oceanbase/powercontext/actions/runs/34663181365/job/103471384127
Result: 4 passed, 1 skipped.
Steps to reproduce
Run the Native personal service workflow on a disposable macOS runner. The failing test is:
tests/native/test_personal_service_lifecycle.py::test_native_personal_service_lifecycle
The failure is intermittent; a deterministic reproduction is not yet available.
Expected behavior
The registered LaunchAgent starts successfully and becomes reachable within the startup window.
Actual behavior
controller.install() raises:
the personal service was registered but did not become live: cannot reach http://127.0.0.1:49212
The controller uses a 30-second startup window. The reported server.stderr.log tail was empty.
The subsequent launchd diagnostic step reported that the service could not be found. The test performs cleanup in finally, so this diagnostic does not establish its state at the moment of failure.
Environment
- Python 3.12.10
- macOS 26.6.2, ARM64
- Runner image:
macos-26-arm64, version20260907.0351.1 - Both attempts used the same commit and runner image version.
Investigation
Capture launchd state and process diagnostics before test cleanup, then determine whether the intermittent failure comes from startup timing, runner conditions, or service behavior. The root cause is not yet confirmed.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.