On 12/18/20 7:49 PM, Josef wrote: >> I'm happy to run _any_ reproducer, so please do let us know if you >> manage to find something that I can run with netty. As long as it >> includes instructions for exactly how to run it :-) > > cool :) I just created a repo for that: > https://github.com/1Jo1/netty-io_uring-kernel-debugging.git > > - install jdk 1.8 > - to run netty: ./mvnw compile exec:java > -Dexec.mainClass="uring.netty.example.EchoUringServer" > - to run the echo test: cargo run --release -- --address > "127.0.0.1:2022" --number 200 --duration 20 --length 300 > (https://github.com/haraldh/rust_echo_bench.git) > - process kill -9 > > async flag is enabled and these operation are used: OP_READ, > OP_WRITE, OP_POLL_ADD, OP_CLOSE, OP_ACCEPT > > (btw you can change the port in EchoUringServer.java) This is great! Not sure this is the same issue, but what I see here is that we have leftover workers when the test is killed. This means the rings aren't gone, and the memory isn't freed (and unaccounted), which would ultimately lead to problems of course, similar to just an accounting bug or race. The above _seems_ to be related to IOSQE_ASYNC. Trying to narrow it down... -- Jens Axboe