Skip to content
This repository was archived by the owner on Jan 18, 2025. It is now read-only.

Long running process not ended on SIGINT, Rust 1.66+ (Mac M1 Ventura?) #249

Closed
MathieuTricoire opened this issue Feb 12, 2023 · 3 comments
Closed

Comments

@MathieuTricoire
Copy link

Hi!

I'd like to report what appears to be an issue with cargo-watch version 8.3.0 installed with Rust version 1.66+.

It seems that long running processes created by the binary are not terminated when receiving an interruption or termination signal. (Tested on a MacBook Pro M1 with Ventura 13.1)

I have created a repo to reproduce the error: MathieuTricoire/cargo-watch-signal-issue but any long running process should do the job.

For your information, it works fine with Rust 1.65, so maybe it's related to changes in Rust 1.66. I have no idea but maybe the following pull request could be relevant: rust-lang/rust#101077
Changelog: https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1660-2022-12-15

Steps to reproduce the issue

Install cargo-watch with Rust 1.66+ toolchain:
cargo +1.66 install --force cargo-watch

Launch the cargo-watch command:
cargo watch --debug -x run

Stop the process (either with ctrl-c on the ongoing cargo-watch process or pkill -SIGTERM cargo-watch)

You can see that the signal has been sent according to the logs DEBUG - Sending signal SIGTERM to process group id=1234 but the processes in group 1234 have not been terminated.

Thank you for your help.

@passcod
Copy link
Member

passcod commented Feb 12, 2023

Oh wow that might actually explain a few other bugs reported. Why the heck did they change a default behaviour

@passcod
Copy link
Member

passcod commented Feb 13, 2023

Fixed in 8.4.0

@MathieuTricoire
Copy link
Author

Nice! Thank you @passcod

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

No branches or pull requests

2 participants