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

openSUSE / agama / 7356884920
72%

Build:
DEFAULT BRANCH: master
Ran 29 Dec 2023 01:08PM UTC
Jobs 3
Files 661
Run time 26s
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

29 Dec 2023 01:03PM UTC coverage: 74.997% (-0.01%) from 75.009%
7356884920

push

github

web-flow
Avoid a deadlock updating the network D-Bus tree (#966)

## Problem

If the network service receives an `Apply` at the same time as any other
request, it may get blocked.

## Solution

Updating the tree must be done in a separate task. Otherwise, it could
fight with an incoming request for the ObjectServer mutex, blocking the
actions dispatching.

## Using tokio-console

I decided to use
[tokio-console](https://docs.rs/tokio-console/latest/tokio_console/) to
make it easier to find the problem. This tool collects and displays
information about the asynchronous tasks in your program. In the
screenshot below you can see that the D-Bus `Set` dispatchers are
blocked.

![Captura desde 2023-12-29
10-52-45](https://github.com/openSUSE/agama/assets/15836/648e5f1e-eb6b-431b-be40-45cdeaf9e980)

Once you find the problem, it is kind of "obvious", but it may take some
time until you figure out what is happening.

To use `tokio-console` you need to add some instrumentation to your
program and, at this point, it implies adding some unstable Tokio APIs.
So if you want to give it a try, you can try the code in the
[tokio-console
branch](https://github.com/openSUSE/agama/compare/tokio-console).

1426 of 2171 branches covered (0.0%)

Branch coverage included in aggregate %.

16064 of 21150 relevant lines covered (75.95%)

22.61 hits per line

Subprojects
ID Flag name Job ID Ran Files Coverage
1 rust 7356884920.1 29 Dec 2023 01:08PM UTC 64
41.69
GitHub Action Run
1 service 7347414791.1 28 Dec 2023 12:07PM UTC 304
84.99
GitHub Action Run
1 web 7329105109.1 26 Dec 2023 11:24AM UTC 293
74.26
GitHub Action Run
Source Files on build 7356884920
  • Tree
  • List 661
  • Changed 22
  • Source Changed 1
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #7356884920
  • d9b0131f on github
  • Prev Build on master (#7355696289)
  • Next Build on master (#7383825470)
  • Delete
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

© 2025 Coveralls, Inc