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

dangernoodle-io / TaipanMiner / 26483138987
90%

Build:
DEFAULT BRANCH: main
Ran 27 May 2026 12:27AM UTC
Jobs 3
Files 102
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

27 May 2026 12:27AM UTC coverage: 90.151%. Remained the same
26483138987

push

github

web-flow
fix(pool_stats): stop wiping per-pool stats on every boot (#432)

s_sanitize_slot validated last_seen_us against the wall-clock range
(1577836800..4102444800). But last_seen_us is esp_timer_get_time()
microseconds-since-boot, not a wall-clock timestamp — so after every
reboot it's a small value (e.g. 12886795 = ~12.88 s) that fails the
range check and gets reset to 0.

find_or_alloc then walks the slot table looking for a host:port match
but skips any slot whose last_seen_us is 0 (treats it as empty). On
the next stratum connect it finds "no match", picks the same slot as
the empty target, memsets it, and the loaded shares/hashes/best_diff
are lost. Every boot effectively wipes accumulated per-pool stats.

confirmed on bitaxe-650 boot log:
  W: pool_stats: slot 0 last_seen_us corrupt (raw=12886795); reset to 0
  I: pool_stats: slot 0: digi.hmpool.io:3334 shr=13
followed by /api/pool showing shares=0 minutes later.

fix: replace the wall-clock range check on last_seen_us with the only
real corruption signature (negative). esp_timer is monotonic and
non-negative, so any value ≥ 0 is legitimate. last_block_ts, best_diff_ts,
and lifetime_last_block_ts remain wall-clock seconds and keep their
existing validation.

regression test test_pool_stats_init_then_find_or_alloc_preserves_shares
pre-seeds a slot with shr=4541 and last_seen_us=12886795, runs init,
then asserts find_or_alloc returns the same slot with shr=4541 intact.

2549 of 3217 branches covered (79.24%)

Branch coverage included in aggregate %.

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

5158 of 5332 relevant lines covered (96.74%)

154876.84 hits per line

Jobs
ID Job ID Ran Files Coverage
1 e2e - 26483138987.1 27 May 2026 12:29AM UTC 55
56.56
GitHub Action Run
2 native - 26483138987.2 27 May 2026 12:27AM UTC 29
90.48
GitHub Action Run
3 webui - 26483138987.3 27 May 2026 12:28AM UTC 73
91.16
GitHub Action Run
Source Files on build 26483138987
  • Tree
  • List 102
  • Changed 1
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #26483138987
  • df9c344e on github
  • Prev Build on main (#26481556363)
  • Next Build on main (#26484919082)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc