On 2/19/20 10:25 PM, Glauber Costa wrote:
On Wed, Feb 19, 2020 at 3:13 PM Jens Axboe <axboe@xxxxxxxxx> wrote:
On 2/19/20 1:11 PM, Glauber Costa wrote:
On Wed, Feb 19, 2020 at 3:09 PM Jens Axboe <axboe@xxxxxxxxx> wrote:
On 2/19/20 9:23 AM, Glauber Costa wrote:
Hi,
I started using af0a72622a1fb7179cf86ae714d52abadf7d8635 today so I could consume the new fast poll flag, and one of my tests that was previously passing now crashes
Thanks for testing the new stuff! As always, would really appreciate a
test case that I can run, makes my job so much easier.
Trigger warning:
It's in C++.
As long as it reproduces, I don't really have to look at it :-)
Instructions:
1. clone https://github.com/glommer/seastar.git, branch uring-accept-crash
2. git submodule update --recursive --init, because we have a shit-ton
of submodules because why not.
Actually, seastar has only one submodule (dpdk) and it is optional, so
you need not clone it.
3. install all dependencies with ./install-dependencies.sh
note: that does not install liburing yet, you need to have at
least 0.4 (I trust you do), with the patch I just sent to add the fast
poll flag. It still fails sometimes in my system if liburing is
installed in /usr/lib instead of /usr/lib64 because cmake is made by
the devil.
3. ./configure.py --mode=release
--mode dev will compile many times faster
4. ninja -C build/release tests/unit/unix_domain_test
5. crash your system (hopefully) by executing
./build/release/tests/unit/unix_domain_test -- -c1
--reactor-backend=uring
s/release/dev/ in steps 4, 5 if you use dev mode.
I am finishing refactoring some of my code now. It's nothing
substantial so I am positive it will hit again. Once I re-reproduce
I'll send you instructions.
Reading the code it's not obvious to me how it happens, so it'll be
harder for me to cook up a simple C reproducer ATM.
I'll look here as well, as time permits.
--
Jens Axboe