• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

DarkiT / zcli / 33862548068
55%

Build:
DEFAULT BRANCH: master
Ran 04 Sep 2026 10:19AM UTC
Jobs 1
Files 32
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

04 Sep 2026 10:16AM UTC coverage: 55.297% (+0.3%) from 54.986%
33862548068

push

github

cnb
fix(service): 保证强制退出定时器的排布先于运行收尾

Stop 原本在 stopMu 临界区之外排强制退出定时器,而 Run 的启动同样要持有
stopMu。两者没有顺序保证时,Run 可能在定时器排布之前就收尾:它的
cancelForceExit 空跑,随后排下的定时器再没有运行来取消,最终误触发强制
退出——把一个正常的进程杀掉。

「停止意图」修复(d58e0f7)之后这个问题被放大:Run 领受意图时会立即返回,
收尾大幅提早,竞争窗口随之变宽。实测 TestForceExit_CancelledBeforeTimeout
失败率 4/10(GitHub 线 2/10),此前 3 轮全绿只是运气。

修复方式是把 scheduleForceExit 移进 stopMu 临界区内,用锁序保证
「先排定时器、后收尾」,而不是用 running 之类的状态判断——后者会误伤
daemon 模式下「服务从未启动也要兜底强杀」的场景
(TestForceExit_DaemonOnly/daemon_schedules_force_exit 会失败)。

验证:
- go test -race -count=10 -run TestForceExit . → 0 失败(修复前 4/10)
- go test -race -count=3 ./... → 全绿,含 tests/e2e

6 of 6 new or added lines in 1 file covered. (100.0%)

226 existing lines in 5 files now uncovered.

2641 of 4776 relevant lines covered (55.3%)

50.67 hits per line

Coverage Regressions

Lines Coverage ∆ File
65
65.33
0.0% builder.go
65
70.05
-2.62% service_commands.go
62
65.45
1.14% service_runtime.go
31
82.76
2.66% service.go
3
82.69
-1.68% service_support.go
Jobs
ID Job ID Ran Files Coverage
1 33862548068.1 04 Sep 2026 10:18AM UTC 32
55.3
GitHub Action Run
Source Files on build 33862548068
  • Tree
  • List 32
  • Changed 5
  • Source Changed 0
  • Coverage Changed 5
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • cca1abcb on github
  • Prev Build on master (#32235032360)
  • Delete
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc