27

At shutdown I often get the message

watchdog did not stop!

and then the laptop freezes after few other lines without shutting down.

Any idea on how to fix this? Recently it happened very often, usually when the laptop was powered on for some time.

I am using Debian 8 on an Asus UX32LA

I found this systemd file (it shows a conflict with the shutdown.target), if it may help. My impression is that the problem depends on some issue coming from me trying to fix the backlight (which actually only works with the grub paramenter "acpi_osi=" )

[Unit]
Description=Load/Save Screen Backlight Brightness of %i
Documentation=man:systemd-backlight@.service(8)
DefaultDependencies=no
RequiresMountsFor=/var/lib/systemd/backlight
Conflicts=shutdown.target  
After=systemd-readahead-collect.service systemd-readahead-replay.service     systemd-remount-fs.service
Before=sysinit.target shutdown.target

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/lib/systemd/systemd-backlight load %i
ExecStop=/lib/systemd/systemd-backlight save %i
4
  • 1
    Can you try removing "rhgb quiet" from boot cmdline and then see what happens?
    – shubham
    Dec 16, 2015 at 7:26
  • Exactly what I was going to suggest. "rhgb quiet" suppresses messages at boot/shutdown that could be quite useful here.
    – Tim S.
    Jan 22, 2016 at 20:36
  • there is no "rhgb quiet" in /etc/default/grub (and grub is updated)
    – Reyx_0
    Jan 24, 2016 at 19:13
  • In Debian, the equivalent options to remove are "quiet splash".
    – telcoM
    Apr 1, 2019 at 6:17

3 Answers 3

23

The watchdog did not stop! line is normal behavior. systemd sets a "hardware watchdog" timer as a failsafe, to ensure that if the normal shutdown process freezes/fails that the computer will still shutdown after the specified period of time. This time period is defined in the variable ShutdownWatchdogSec= in the file /etc/systemd/system.conf. Here is the description from the docs:

RuntimeWatchdogSec=, ShutdownWatchdogSec=

Configure the hardware watchdog at runtime and at reboot. Takes a timeout value in seconds (or in other time units if suffixed with "ms", "min", "h", "d", "w"). If RuntimeWatchdogSec= is set to a non-zero value, the watchdog hardware (/dev/watchdog) will be programmed to automatically reboot the system if it is not contacted within the specified timeout interval. The system manager will ensure to contact it at least once in half the specified timeout interval. This feature requires a hardware watchdog device to be present, as it is commonly the case in embedded and server systems. Not all hardware watchdogs allow configuration of the reboot timeout, in which case the closest available timeout is picked. ShutdownWatchdogSec= may be used to configure the hardware watchdog when the system is asked to reboot. It works as a safety net to ensure that the reboot takes place even if a clean reboot attempt times out. By default RuntimeWatchdogSec= defaults to 0 (off), and ShutdownWatchdogSec= to 10min. These settings have no effect if a hardware watchdog is not available.

It sounds likely, as you indicated, that your actual problem is related to changing ACPI settings. The answers on this Debian forum thread suggest the following:

1) Edit the file at /etc/default/grub and edit the GRUB_CMDLINE_LINUX line to look like this: GRUB_CMDLINE_LINUX="reboot=bios"

2) run: update-grub

If reboot=bios doesn't work, they suggest retrying with reboot=acpi

Do either of these work for you?

5
  • I implemented the changes you suggested, and let you know soon. Thanks
    – Reyx_0
    Dec 22, 2015 at 21:59
  • unfortunately it does not work. and I suspect that the issue is related to this other problem I also have (i.e. laptop sporadically freezes on suspend): see bugzilla.kernel.org/show_bug.cgi?id=102091
    – Reyx_0
    Jan 24, 2016 at 19:11
  • 1
    I have found that /sbin/shutdown -r now works instead of shutdown -r now or reboot.
    – xinthose
    Jan 17, 2018 at 22:15
  • update-grub on my Centos7 says that command is not found
    – stiv
    May 25, 2019 at 6:28
  • @xinthose That tricky command works. The strange thing is, they are pointing to the same binary (systemctl), I have no idea why.
    – Junle Li
    Dec 20, 2019 at 1:22
1

I am on a MIO single board computer with the same problem: sudo reboot or [CTRL]+[ALT]+[DEL] leads to hanging at

watchdog did not stop

None of the above worked for me, but thankfully a combination of them did the job:

  1. Use GRUB_CMDLINE_LINUX="reboot=bios" (reboot=acpi did not work for me)

  2. Use systemctl reboot -i, to successfully reboot the system. (link)

0

I had the same issue, however, watchdog is not the issue itself. It turned out to be fixed by setting use_lvmetad = 0 in /etc/lvm/lvm.conf. Might be different services in any case.

If, after this, you experience long bootup times, run systemd-analyze blame. In my case, I found that systemd-udev-settle.service caused heavy delays, which can be mitigated by running systemctl mask systemd-udev-settle.

Not the answer you're looking for? Browse other questions tagged or ask your own question.