Skip to content
This repository has been archived by the owner on Aug 13, 2019. It is now read-only.

Updating xsconsole RPM can kill important processes from the console #12

Open
stormi opened this issue Jun 28, 2019 · 3 comments
Open

Comments

@stormi
Copy link

stormi commented Jun 28, 2019

Due to

%systemd_postun_with_restart xsconsole.service
updating the xsconsole RPM restarts the xsconsole service.

Thus it kills any child process of the console, such as an interactive shell opened from there. Such shell could be running an important task, which gets killed.

In XCP-ng, we found out about this during the development phase of XCP-ng 8.0.0, because we updated the xsconsole RPM: right after installing the host, it is recommended to run yum update to get the latest updates, so one might open a shell from the console, run yum update, and when it reaches the point where the %postun scriptlet of the xsconsole RPM is executed, XSConsole restarts and the yum command is killed by that. This leaves the RPM database in an inconsistent state because the old xsconsole RPM cannot be removed (nor some other upgraded RPMs that were waiting for their turn to remove the old versions that had been upgraded). Then you need to install yum-utils and run yum-complete-transaction.

I think the same issue could occur if someone would open a shell from XSConsole to install a Citrix Hypervisor update from the update ISO if that update were to contain an updated xsconsole RPM.

I'm not sure about the best fix. Maybe avoid restarting the service and drop a file in /tmp instead to let a running XSConsole know that it should restart when it gets the opportunity to do it without killing subprocesses or running tasks?

@stormi
Copy link
Author

stormi commented Jul 9, 2019

Can someone acknowledge the reception of this issue? :)

@kc284
Copy link

kc284 commented Jul 9, 2019

Yes, I have forwarded the issue to our internal backlog for investigation.

@stormi
Copy link
Author

stormi commented Jul 9, 2019

Thanks. You are everywhere :-)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants