Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Raft uv_timer leak when creating and destroying node #504

Open
MathieuBordere opened this issue Apr 24, 2023 · 1 comment
Open

Raft uv_timer leak when creating and destroying node #504

MathieuBordere opened this issue Apr 24, 2023 · 1 comment
Labels
Bug Confirmed to be a bug

Comments

@MathieuBordere
Copy link
Contributor

MathieuBordere commented Apr 24, 2023

src/server.c:176: dqlite__close: Assertion 'rv == 0' failed.

Reported by @stgraber, see failures here https://jenkins.linuxcontainers.org/job/lxd-github-commit/4903/

It's related to a TODO . This timer is not properly closed when only calling dqlite_node_create and dqlite_node_destroy without starting and stopping the node. This sequence of calls is hit in the node recovery logic, where we explicitly don't want to run the node and made visible by the newly introduced assert in this change that asserts the rv of uv_loop_close.

I will remove the newly introduced assert to fix the LXD test suite and track the proper fix in this issue.

@MathieuBordere
Copy link
Contributor Author

Additionally, the sequence dqlite_node_create, dqlite_node_set_bind_address, dqlite_node_destroy will lead to triggering the assertion because the listener handle here

rv = transport__stream(&t->loop, fd, &t->listener);
is still active.

@MathieuBordere MathieuBordere added the Bug Confirmed to be a bug label Jun 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Confirmed to be a bug
Projects
None yet
Development

No branches or pull requests

1 participant