Daniel Jelinski
Daniel Jelinski
I modified the reproducer to use EPOLL_CTL_MOD instead of EPOLL_CTL_DEL + EPOLL_CTL_ADD, and the issue no longer reproduces. The updated code can be found here: https://gist.github.com/djelinski/5f7ef3b12843fed401a52c63ad11b16b @piscisaureus let me know...
Created a TCP-based reproducer. Unlike the UDP-based one, the TCP one also fails on more modern Windows versions like Windows 11 or Windows 2022. The reproducer can be found here:...
@piscisaureus thanks for your reply. Will EPOLL_CTL_ADD create a new group if the original is not full? I thought it only creates a new group if all existing ones monitor...
right. That line is also called when the epoll handle is updated while another thread is waiting on it, which is exactly what happens here. We can't really comment out...
It looks like AFD sometimes mixes up different IO status blocks related to the same socket handle; I added more logging, and found that sometimes when a socket gets stuck,...
I think so; these two, and also `-Wl,--high-entropy-va`.
Results before: ``` Benchmark Mode Cnt Score Error Units BigDecimals.testHugeLargeDivide avgt 15 115.176 ± 0.965 ns/op BigDecimals.testHugeSmallDivide avgt 15 82.652 ± 0.601 ns/op BigDecimals.testLargeSmallDivide avgt 15 6.601 ± 0.320 ns/op...
L.1096-1097 is a 32-bit by 32-bit division; I guess I could change it to use Integer.unsignedDivide. Let me look into it...
Thanks for the reviews! /integrate