-
Notifications
You must be signed in to change notification settings - Fork 40
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
Stack overflow/segfault in RocksDB stress test #675
Labels
Bug
Incorrect or unexpected behavior
Comments
Also reproducible on arm64 Macos |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Running into a stack overflow/segfault when running RocksDB in
multiplayer::orb_can_render_peers_in_the_sphere_address_book
, discovered in #655.To summarize, introducing RocksDB causes a segfault in one of our stress tests, consistently reproducible locally and in CI, depending on things that we wouldn't expect to cause this, like the shape of some structs. In #655, we store a
Storage
instance inSphereDb
. This change alone causes the segfault:In #655, changing
RocksDbStore
'sname
property to be anArc
"fixes" the segfault:While
Arc
is more appropriate here anyway, it shouldn't have an effect on this segfault. Using an even more appropriateCow
instead still fails. That is to say, there is some spooky issue regardless of #655 and using RocksDB.Things we've tried:
ulimit -s unlimited
) had no effect. Only using 2MB of 8MB stack space according to measuring address pointers ingdb
.RUSTFLAGS="-Z sanitizer=memory" cargo +nightly test --target x86_64-unknown-linux-gnu --features rocksdb,test-kubo orb_can_render
WARN flush_to_writer{writer=SphereWriter { kind: Root { force_full_render: false }, paths: SpherePaths { root: "/tmp/.tmpRjestr" }, base: Once(Uninit), mount: Once(Uninit), private: Once(Uninit) }}: Content write failed: No such file or directory (os error 2)
rustc --test
) rust-lang/rust#39608rustc --test
) rust-lang/rust#39610Thread 4 "tokio-runtime-w" received signal SIGSEGV, Segmentation fault.
when setting a key and serializing a multihash (libp2p/ns)Stack trace of the offending stack:
The text was updated successfully, but these errors were encountered: