On Wed, May 28, 2025 at 08:12:58AM +0200, Nam Cao wrote: > On Wed, May 28, 2025 at 07:57:26AM +0200, Holger Hoffstätte wrote: > > I have been running with v2 on 6.15.0 without any issues so far, but just > > found this in my server's kern.log: > > Thanks for testing! > > > It seems the condition (!n) in __ep_remove is not always true and the WARN_ON triggers. > > This is the first and only time I've seen this. Currently rebuilding with v3. > > Yeah this means __ep_remove() thinks the item is in epoll's rdllist and > attempt to remove it, but then couldn't actually find the item in the list. > > __ep_remove() relies on the 'ready' flag, and this flags is quite > complicated. And as my colleague pointed out off-list, I got memory > ordering wrong for this flag. Therefore it is likely that you stepped on a > bug with this flag. > > I got rid of this flag in v3, so hopefully the problem goes away. Sorry, I have been staring at this but still have no clue why. None of my stress test can reproduce the issue. Let me know if testing for v3 goes well. Best regards, Nam