e-dant / watcher

Filesystem watcher. Works anywhere. Simple, efficient and friendly.
MIT License
639 stars 32 forks source link

Broken Sanitizers #21

Closed e-dant closed 1 year ago

e-dant commented 1 year ago

There are some problems with the sanitizers on Linux and Windows that we need to fix.

On Linux hosts, the address and memory sanitizers seem to be broken.

The address sanitizer fails here.

Which, as best I can tell, is a bug in LLVM's asan. Others seem to have similar issues, although their workarounds don't work locally, and CI time adds up, so I haven't deployed their workarounds.

The memory sanitizer is also in a bad state, saying that some standard library string functions are being used uninitialized from Catch.

The sanitizers on windows, I'm assuming, have different link options. The documentation is unhelpful because it should work as-is and seems to only support one sanitizer, asan.

e-dant commented 1 year ago

We also need to look into why the thread sanitizer is having difficulty with mutexes on Darwin.

This isn't an issue on Linux.

The (only) mutex here is identical across all platforms.

e-dant commented 1 year ago

There are still some bugs with some sanitizers on some platforms, but I think we're getting enough coverage for now.

I may re-open this later on.