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

coverallsapp / coverage-reporter / 32207880847
95%

Build:
DEFAULT BRANCH: master
Ran 19 Aug 2026 02:19AM UTC
Jobs 1
Files 44
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

19 Aug 2026 02:15AM UTC coverage: 95.438% (+1.0%) from 94.434%
32207880847

push

github

web-flow
fix: pin Crystal to 1.20.3 to stop random "execution_context" crashes (#211)

* fix: pin Crystal to 1.20.3 to stop random "execution_context" crashes

v0.6.19 and v0.6.20 Linux binaries crash at random with:

    Unhandled exception: Thread#execution_context cannot be nil (NilAssertionError)

Cause is the toolchain, not any parser. #197 bumped the xbuild container from
hydrofoil-crystal:1.17 to :1.21, and Crystal 1.21 enables execution contexts
(RFC 0002) by default. That runtime starts a bare SYSMON monitor thread with no
execution context of its own, which races with main-thread initialization and
aborts the process when it loses. Open upstream regression, fix not yet merged:
https://github.com/crystal-lang/crystal/issues/17212

Confirmed by inspecting the shipped binaries: the string
"Thread#execution_context cannot be nil" and the SYSMON thread name are present
in the 0.6.19 and 0.6.20 x86_64 and aarch64 binaries and absent from 0.6.18 and
earlier, so the reported error can only originate from 0.6.19+.

1.20.3 is the newest Crystal whose default runtime predates execution contexts.
Rebuilding the xbuild container on it and cross-compiling produces a static
binary with no SYSMON thread and no execution-context strings, functionally
identical through the detect/parse/POST path.

Also:

- Move ci.yml from 1.17.1 to 1.20.3. Specs ran on 1.17.1 while releases were
  built on 1.21.0, so we never tested the runtime we distribute. That gap is how
  this reached users. Verified: 149 examples, 0 failures with
  --error-on-warnings, and ameba clean, on 1.20.3.
- Tell Dependabot to hold the base image below 1.21. Dependabot opened #197 and
  would otherwise re-propose the same bump next week.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>

* fix: replace deprecated Time.monotonic with Time.instant

Crystal 1.20 deprecates `Time.monotonic` in favour of `Time.instant`, and
ci.yml runs specs with `--error-on-warnings`, so the two call sites ... (continued)

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

1046 of 1096 relevant lines covered (95.44%)

2.23 hits per line

Uncovered Changes

Lines Coverage ∆ File
2
92.0
0.0% src/coverage_reporter/reporter.cr
Jobs
ID Job ID Ran Files Coverage
1 32207880847.1 19 Aug 2026 02:19AM UTC 44
95.44
GitHub Action Run
Source Files on build 32207880847
  • Tree
  • List 44
  • Changed 7
  • Source Changed 0
  • Coverage Changed 7
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #32207880847
  • 6ffd1536 on github
  • Prev Build on master (#32204811066)
  • Next Build on master (#32307096556)
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