On Tue, 11 Feb 2020 at 17:36, Alex Bennée <alex.ben...@linaro.org> wrote: > > Through a mechanism I don't quite yet understand we can find ourselves > with a left over RCU thread when we exit group. This is a racy failure > that occurs for example with: > > alpha-linux-user running testthread > with libhowvec.so plugin > but only when run from make > > This may not be the correct fix but it seems to alleviate the > symptoms.
This is weird. The only time we call preexit_cleanup() is when the next thing we do is to terminate the entire process all at once. (For some reason in one place we do that by calling _exit() and in another place by calling exit_group() -- I don't see why we need that inconsistency). I'm pretty sure the system emulation threads don't call rcu_unregister_thread() for the "whole process is going away" case, so something odd is happening here... thanks -- PMM