You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
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.
The text was updated successfully, but these errors were encountered:
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.The text was updated successfully, but these errors were encountered: