Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Startup and timing issues #707

Closed
imobachgs opened this issue Aug 18, 2023 · 1 comment
Closed

Startup and timing issues #707

imobachgs opened this issue Aug 18, 2023 · 1 comment
Assignees
Labels
bug Something isn't working d-bus research

Comments

@imobachgs
Copy link
Contributor

imobachgs commented Aug 18, 2023

The issue described in the bug report could result from several troubles. Let's try to collect them here. We are still investigating the problem, so our conclusions can be correct... or not.

Manager status on single-product scenarios

All Agama services implement the ServiceStatus D-Bus interface, which determines whether the service is busy. In a nutshell, when a service receives a request to perform a "blocking" operation (like probing, installing, etc.), it sets its status as busy. You can check the storage D-Bus method as an example.

However, the current implementation has a small problem: it works at D-Bus level. So when the operation is not triggered through D-Bus, the status is not updated. And that's precisely the case in single-product scenarios (like ALP). The manager jumps into the next phase automatically (see Agama::Manager#startup_phase).

In that case, any client may think that the service is idle when it is not (it might reading the repositories). In case of the auto-installation, it may try to start the installation producing the Could not start the installation... message.

Fixed by #708.

Manager timeout

In a single-product scenario, Agama analyzes the storage devices and reads the repositories from the beginning. In this situation, the manager service might be unresponsive while waiting for storage and software services. This problem is mitigated by dispatching D-Bus calls during progress reporting, but sometimes that's not enough.

It might be the reason behind Failed to activate service 'org.opensuse.Agama1': timed out messages.

@imobachgs
Copy link
Contributor Author

After a few successful tests we are considering the issue as fixed. We will open a new bug report (with fresh data) if tests fail again.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working d-bus research
Projects
None yet
Development

No branches or pull requests

1 participant