On 2020-07-04 05:43:32 [+0200], Udo van den Heuvel wrote: > > I *think* this happened within the loop in __fget_files(). This function > > is inlined by __fget_light() and the loop has a RCU-section so it would > > make sense. > > Do you run something at an elevated priority in the system? > > ntpd (ntpsec) elevates itself. To the highest possible. Wonderful. > > I don't know > > what the other part was doing but somehow one of the file descriptors > > (network sockets probably) was about to be closed while the other side > > tried to poll() on it. > > Thanks for explaining. I'm puzzled. On dup() and otherwise on replacement / closing the file pointer is replaced (with an incremented reference count or NULL ) and then the reference count of the old file pointer is decremented. So the zero count could be observed once and then the new pointer should be seen. So it should not loop for seconds. And then, dup2() is only used at startup. > Kind regards, > Udo Sebastian