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

libcephsqlite: shutdown RADOS in destructor #42035

Merged
merged 2 commits into from Jun 29, 2021
Merged

Conversation

batrick
Copy link
Member

@batrick batrick commented Jun 25, 2021

Fixes: https://tracker.ceph.com/issues/50503
Fixes: https://tracker.ceph.com/issues/51372
Signed-off-by: Patrick Donnelly pdonnell@redhat.com

Checklist

  • References tracker ticket
  • Updates documentation if necessary
  • Includes tests for new functionality or reproducer for bug

Show available Jenkins commands
  • jenkins retest this please
  • jenkins test classic perf
  • jenkins test crimson perf
  • jenkins test signed
  • jenkins test make check
  • jenkins test make check arm64
  • jenkins test submodules
  • jenkins test dashboard
  • jenkins test api
  • jenkins test docs
  • jenkins render docs
  • jenkins test ceph-volume all
  • jenkins test ceph-volume tox

@github-actions github-actions bot added the libcephsqlite ceph SQLite3 VFS label Jun 25, 2021
@batrick batrick requested a review from neha-ojha June 25, 2021 18:41
batrick added a commit to batrick/ceph that referenced this pull request Jun 25, 2021
* refs/pull/42035/head:
	libcephsqlite: shutdown RADOS in destructor
@batrick
Copy link
Member Author

batrick commented Jun 25, 2021

Ya... not yet sure why.

batrick added a commit to batrick/ceph that referenced this pull request Jun 26, 2021
* refs/pull/42035/head:
	libcephsqlite: register atexit handler for cleanup
	libcephsqlite: shutdown RADOS in destructor
@batrick batrick force-pushed the i51372 branch 3 times, most recently from 438d20a to 9b69642 Compare June 27, 2021 02:28
We need to tear down the ceph vfs when sqlite3 (or other binaries) call
exit(). Otherwise global state gets destructed which can cause library
threads to segfault or raise exceptions.

Also pull vfs struct out of appdata. We need to be able to detect double
calls to the atexit handler which, sadly, can happen.

Fixes: https://tracker.ceph.com/issues/50503
Fixes: https://tracker.ceph.com/issues/51372
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
@batrick
Copy link
Member Author

batrick commented Jun 28, 2021

Pretty sure this will be fixed by the latest commits. Couldn't reproduce the crash anymore testing locally for 8 hours. QA results should be in soon but sepia appears down.

@batrick
Copy link
Member Author

batrick commented Jun 28, 2021

https://pulpito.ceph.com/pdonnell-2021-06-27_03:50:15-rados:basic-wip-pdonnell-testing-20210627.023003-distro-basic-smithi/

tests pass!

@tchaikov tchaikov merged commit 7fb626c into ceph:master Jun 29, 2021
@batrick batrick deleted the i51372 branch June 29, 2021 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
3 participants