trailofbits / sienna-locomotive

A user-friendly fuzzing and crash triage tool for Windows
https://blog.trailofbits.com/user-friendly-fuzzing-with-sienna-locomotive
GNU Affero General Public License v3.0
131 stars 24 forks source link

harness/instrument: Use taskkill to kill fuzzer gently #338

Closed woodruffw closed 5 years ago

woodruffw commented 5 years ago

Fixes #337.

This uses taskkill to "soft" terminate any timed-out fuzzing runs, falling back to the "hard" os.kill() to ensure that the process eventually gets killed. This works because taskkill sends a WM_CLOSE message to the PIDs that it kills, allowing them to run custom exit behavior first.

woodruffw commented 5 years ago

To explain why we do this instead of nudging the via drconfig.exe or using an internal DynamoRIO timer: