Snap with watchdog-timeout enters failed state

Hi.

I’ve been investigating the issue where one of services in our snap does not recover after being killed by watchdog.

err systemd snap.ping.service: Watchdog timeout (limit 15min)!
notice systemd snap.ping.service: Main process exited, code=killed, status=6/ABRT
notice systemd snap..ping.service: Unit entered failed state.
warning systemd snap.ping.service: Failed with result 'signal'.

This is the code in the snapcraft.yaml:

  ping:
    command: usr/bin/ping-service.sh
    daemon: simple
    restart-condition: always
    restart-delay: 60s
    watchdog-timeout: 15m

What are the preconditions for it to enter failed state? How can we make sure it always restarts?