QEMU 突然死を追う
再現方法
% ~/mona/tool/qemu/start.sh
% ab -n 30000 -c 20 http://localhost:8080/
調査
- virtio.c で breakpoint
- virio_net_receive で起きている
- これは Mona から見ると受信
- 2カ所でログをとる
- QEMU から見ると
は - <1304 1129>
- <1305 1130>
- <1306 1131>
- <1839 1132>
- のように推移。idx は現在データがある idx は vq->last_avail_idx。
- つまり Mona が vring->num 以上にバッファに余裕があるよといってしまっている
- Mona から見ると
- 1832
- 1833
- 1834
- 1835
- 1836
- 1837
- 1838
- あれ。ずっと間違った available_idx を指定している?
今日はここまで。