The service type is oneshot and run after multi-user.target and post-resume.target. This means it runs after every successful resume from hibernation or sleep. When it runs after multi-user.target, the undervolt is applied successfully, but after that it crashes because it fails to find a VID. This is because every time the script runs it subtracts from the current P-state voltages, which is a design flaw. This issue can be mitigated by checking if the voltage is already at the desired value.