I’ve had two server oses here: alma linux and debian(currently). On both of them, they will hang when I shut them down from cockpit, and they hang at the end of the shutdown.
Also, it takes an hour to a day to have this issue start. if it’s restarted two times in a row quickly, it works perfectly fine for some reason.
What I’ve tried:
- setting “acpi=off” and “acpi=force” kernel parameters in grub
- removing my nvidia gpu(i was using nouveau drivers)
- changing distros
nothing worked. here are some things that both distros had in common with eachother:
- systemd
- cockpit
- libvirt & qemu
- docker
does anyone have advice? nothing i’ve seen online has worked. thank you for suggestions
Hardware? Do they shut down properly if you do it from the console or ssh?
I will try to restart it using the
reboot
command.The computer consists of:
- i3-10100
- 16gb ddr4 ram
- MSI h410m pro
Interesting. BIOS update? Maybe check through all the settings, or do a factory reset on the BIOS? I have a similar board (H510 something) running proxmox and it works fine.
I would like to note that this may have been caused by a bios update, as it started sometime after it. i’ll try another update now.
edit: already on the latest bios version.
@potentiallynotfelix As a diagnostic, I would suggest trying shutting them down by ssh in and then using systemctl to shut them down, if that works then you know the issue is with cockpit. If it hangs even when systemd is asked to halt then I would consider reverting to the previous bios and see if the problem persists.
Ok. Cockpit uses the shutdown command to shut down[src], but systemctl poweroff might work. I will also attempt to revert bioses if msi supports it. thank you very much!
@potentiallynotfelix Ok bet of luck. I’ve had all sorts of weird issues with systemd as of late, but not sure how many of those are inherent to systemd itself and how many are Ubuntu’s config of same.
sudo systemctl reboot
did the same. I’m starting to think this is bios related.@potentiallynotfelix Well flash to an older and see how it goes. I’ve seen some wired bios issues. I’ve got an i7=6850k machine on an Asus motherboard, and after I flashed to the latest bios, the USB power strobed on and off every few seconds so keyboard and mouse would work then not work then work then not work. I thought something was broken with hardware but then found others had the same issue with the most current BIOS, flashed to one release earlier and all good.
Thank you!
@potentiallynotfelix You’re most welcome!
Flashing an older bios seemed to succeed! I gave it 14 hours or so before attempting a reboot, and if seemed to reboot without stalling. I’ll give it a few more days now and try another, but that seemed to have fixed it.
@potentiallynotfelix Ya gotta love it!
reboot: machine restart
This makes me think it’s a motherboard issue.
The system is done with its shutdown process and issued the reboot command, but the motherboard didn’t restart.
There could be some electronics components which get wedged over time. My sound card will occasionally not boot unless it has been completely powered off for 30 seconds or so.
a bios update revert fixed this. you were correct that it was mobo related.
That’s great, it beats having to buy new hardware!
halt -p
thanks for the suggestion, could you elaborate on what this would do differently from the regular shutdown command that systemctl uses? thanks again
My understanding is that ‘halt’ had been an alias for ‘halt -p’, but that changed recently. -p tells the command to power off. Without it, it just shuts down process.
halt -p
did nothing different. still hung on shutdown.
deleted by creator
Your machine isn’t shutting down, it’s trying to sleep.
You also have active KVM instances which are fighting to keep it alive.
can you elaborate on why you suspect this? The cockpit reboot or shutdown button uses the
shutdown
command directly along with a--reboot
or--poweroff
flag.onSubmit(event) { const Dialogs = this.context; const arg = this.props.shutdown ? "--poweroff" : "--reboot"; if (!this.props.shutdown) cockpit.hint("restart"); cockpit.spawn(["shutdown", arg, this.state.when, this.state.message], { superuser: "require", err: "message" }) .then(this.props.onClose || Dialogs.close) .catch(e => this.setState({ error: e.toString() })); event.preventDefault(); return false; }
(source)