Skip to content

SIGABRT with "corrupted double-linked list" on multi-thread runtime #328

@zjp-CN

Description

@zjp-CN

I'm doing some basic benchmarks for io-uring related async runtimes.

For multi-thread tokio-uring, I got

Avg: 59384 (593841 / 10s) 👈 all tasks finishes, but I got reports below
corrupted double-linked list
fish: Job 1, 'cargo run --example server_toki…' terminated by signal SIGABRT (Abort)

The server code is

And the reproducible steps:

$ git clone https://github.com/os-checker/bench-uring.git
$ git checkout 103f6b22b673b5d335dbfc6f2d4205a6aa1436d4

# Terminal 1: wait for 10 seconds of handling requests to finish and exit
$ cargo run --example server_tokio_uring_mt
# Terminal 2
$ cargo run --example client_tokio_st

I didn't get the SIGABRT in single-threaded server_tokio_uring_st which shares the same implementation linked and exits normally.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions