Subject: Re: redo-ifchange hangs when called with many arguments

From: Sergey Matveev <[email-masked]>
Date: Tue, 19 Oct 2021 18:26:28 +0300

*** goredo [2021-10-19 14:56]:
>So, I may have hit the bug again?

Go and goredo should not ignore any errors from OS. But many OSes are
known to be buggy (have unexpected behaviour), like:
http://pod.tst.eu/http://cvs.schmorp.de/libev/ev.pod#OS_X_AND_DARWIN_BUGS (is not related to Go)
or previously well-known "bug" with deadlocked native Go's syslog logger:
https://github.com/golang/go/issues/5932
https://github.com/cloudfoundry/lager/issues/15
https://github.com/driskell/log-courier/issues/90
and here everything was related to the bug in Linux epoll itself,
however many people treated it like Go's bug. Many people just used
workarounds of that deadlocking behaviour, but Go's authors do not want
to fix OS errors/bad behaviour. So probably I really believe that could
be a problem of the OS itself, because there were so many of them already.

Twice a year I got harsh panic in the deepest levels of Go syscalls
itself when opening file (os.File) -- it is/was a problem of some
exact FreeBSD version.

Of course possibly there is a bug in goredo's code/logic, but it should
be reproducible somehow: I have not seen any kind of deadlocks with
several thousands targets, but all of that was done on FreeBSD exclusively.

-- 
Sergey Matveev (http://www.stargrave.org/)
OpenPGP: CF60 E89A 5923 1E76 E263  6422 AE1A 8109 E498 57EF