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

xapi-project / xen-api / 35978699177
79%
master: 79%

Build:
Build:
LAST BUILD BRANCH: private/geralde/CP-312187
DEFAULT BRANCH: master
Ran 24 Sep 2026 09:02AM UTC
Jobs 1
Files 36
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

24 Sep 2026 09:01AM UTC coverage: 78.996%. Remained the same
35978699177

push

github

web-flow
CA-431283: Fix forkexecd exhausting dom0 memory (#7275)

**The problem**

A forkexecd helper allocates gigabytes memory in once and the control
domain runs out of memory, then it's killed by the OOM killer. forkexecd
is only the amplifier but the defect is in the tracing exporter.

Destination.Http.export wraps its socket in_channel/out_channel. It only
closes its socket but never closes in_channel/out_channel. So the
channel stills holds the socket number. An export that dies mid-body
leaves the buffer dirty (this can happen when receive 3xx).

When a forkexecd control socket later inherits that descriptor number,
the next flush (e.g. when xapi stops, it flushes all channels) writes
the buffered span JSON into it. The supervisor in wait_for_dontwaitpid
reads the first 12 bytes as a length header. span JSON carries
epoch-microsecond timestamps, so that window can be 12 digits, and
read_raw_rpc passes the value to Bytes.make unbounded.

**The fixes**

1. Each channel now gets a duplicated descriptor of its own, closed
under Fun.protect, so no descriptor leaks.
2. Reject a message length outside 0 to 16 MB, so a corrupt 12-byte
header cannot make read_raw_rpc allocate and zero gigabytes.
3. Print more logs so we can observe this easily in the future.
4. Regard 3xx as error so it can be observed.

3667 of 4642 relevant lines covered (79.0%)

0.79 hits per line

Jobs
ID Job ID Ran Files Coverage
1 python3.11 - 35978699177.1 24 Sep 2026 09:02AM UTC 36
79.0
GitHub Action Run
Source Files on build 35978699177
  • Tree
  • List 36
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #35978699177
  • 49e1e7c5 on github
  • Prev Build on gh-readonly-queue/master/pr-7288-4446aadc90e9cdcf17e2322231d785a0da7d569c (#35970849458)
  • Next Build on gh-readonly-queue/master/pr-7275-cd616a00437447041924f2e9899a85f1fc60f76f (#35978699004)
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