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

xapi-project / xen-api / 23589632736
80%

Build:
DEFAULT BRANCH: master
Ran 26 Mar 2026 10:32AM UTC
Jobs 1
Files 34
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

26 Mar 2026 10:23AM UTC coverage: 80.459%. Remained the same
23589632736

push

github

web-flow
More detailed exception backtraces (#6969)

Newer OCaml 4.x versions provide more details about a backtrace:
* the location within a line (column), this is useful when you have a
long `|>` pipeline for example
* the name of the function (useful for a quick glance at what could be
wrong)

Previously `xapi-backtrace` used to parse the string formatted
exceptions, and tried to extract file and line number information from
it. Use the newer functions in `Printexc` to do this instead.
String formatting needs to remain in the our `backtrace` module, because
we want to consistently format backtraces from other languages too.

This is an example of how the backtrace would look like after these
changes:
```
Raised Db_exn.DBCache_NotFound("missing table", "Observer", "")
1/4 /opt/xensource/bin/xapi @ xrtmia-13-01 Raised at Xapi_database__Db_cache_types.TableSet.find in file "ocaml/database/db_cache_types.ml", line 298, characters 22-73
2/4 /opt/xensource/bin/xapi @ xrtmia-13-01 Called from Xapi_database__Db_cache_impl.read_refs in file "ocaml/database/db_cache_impl.ml", line 314, characters 12-70
3/4 /opt/xensource/bin/xapi @ xrtmia-13-01 Called from Db_actions.DB_Action.Observer.get_all in file "ocaml/xapi/db_actions.ml", line 23053, characters 40-69
4/4 /opt/xensource/bin/xapi @ xrtmia-13-01 Called from Xapi_observer_components.is_component_enabled.(fun) in file "ocaml/xapi/xapi_observer_components.ml", line 83, characters 26-56
```

Also prevent long `List.map` sequences in a backtrace, by deduplicating
adjacent identical entries in a backtrace.

These changes also speed up calls to `Backtrace.is_important` ~10x,
although performance isn't the main goal here (raising exceptions
shouldn't be on the common path)

3504 of 4355 relevant lines covered (80.46%)

0.8 hits per line

Jobs
ID Job ID Ran Files Coverage
1 python3.11 - 23589632736.1 26 Mar 2026 10:32AM UTC 34
80.46
GitHub Action Run
Source Files on build 23589632736
  • Tree
  • List 34
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line
  • Back to Repo
  • Github Actions Build #23589632736
  • 23101a67 on github
  • Prev Build on master (#23577801652)
  • Next Build on master (#23603768401)
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