-
Notifications
You must be signed in to change notification settings - Fork 21
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
Support for 7.3 #116
Merged
Merged
Support for 7.3 #116
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
PierreZ
force-pushed
the
feat/fdb73
branch
3 times, most recently
from
January 29, 2024 14:50
b0e0f83
to
99a803c
Compare
PierreZ
added
the
correctness
run hundred of iterations on the bindingTester during CI
label
Jan 29, 2024
PierreZ
force-pushed
the
feat/fdb73
branch
3 times, most recently
from
January 29, 2024 16:32
aac959b
to
bf750d7
Compare
PierreZ
force-pushed
the
feat/fdb73
branch
2 times, most recently
from
February 5, 2024 16:56
d3eca2f
to
5895d38
Compare
Pull Request Test Coverage Report for Build 7903433981Details
💛 - Coveralls |
PierreZ
force-pushed
the
feat/fdb73
branch
3 times, most recently
from
February 12, 2024 14:42
427cb2f
to
1f0ff28
Compare
In fdb 7.3, it seems we can create a DB from an invalid path. As the test is testing the fact that we must set the api-version once, I decided to remove the createDB call.
In 7.3, flow is now manipulating a symbol called `dl_iterate_phdr`. The symbol is exposed through the libc and searched through RTLD_NEXT as you can see in [1]. [1] https://github.com/apple/foundationdb/blob/release-7.3/flow/SignalSafeUnwind.cpp#L40C70-L40C79 The `RTLD_NEXT` means that it will find the next occurrence of the desired symbol in the search order after the current object. By inspecting binaries using `ldd`, we can see that libc is imported **before** libfdb, making it undiscoverable at runtime. ```shell ❯ ldd ../target/debug/bindingtester linux-vdso.so.1 (0x00007ffc9b163000) libc.so.6 => /nix/store/7jiqcrg061xi5clniy7z5pvkc4jiaqav-glibc-2.38-27/lib/libc.so.6 (0x00007f173b417000) /nix/store/7jiqcrg061xi5clniy7z5pvkc4jiaqav-glibc-2.38-27/lib/ld-linux-x86-64.so.2 => /nix/store/7jiqcrg061xi5clniy7z5pvkc4jiaqav-glibc-2.38-27/lib64/ld-linux-x86-64.so.2 (0x00007f173bd3b000) libm.so.6 => /nix/store/7jiqcrg061xi5clniy7z5pvkc4jiaqav-glibc-2.38-27/lib/libm.so.6 (0x00007f173bc57000) libfdb_c.so => /nix/store/g6n9n6mnw4ri9k291yvmd3b0vcyklg1j-libfdb_c-7.3.27/include/libfdb_c.so (0x00007f1739c00000) ``` By adding libc as a dep of foundationdb-sys, the order is fixed: ``` ❯ ldd ../target/debug/bindingtester linux-vdso.so.1 (0x00007ffd70bd6000) libfdb_c.so => /nix/store/g6n9n6mnw4ri9k291yvmd3b0vcyklg1j-libfdb_c-7.3.27/include/libfdb_c.so (0x00007f2f1ee00000) libgcc_s.so.1 => /nix/store/np3cndfk53miqg2cilv7vfdxckga665h-gcc-13.2.0-lib/lib/libgcc_s.so.1 (0x00007f2f205db000) libm.so.6 => /nix/store/7jiqcrg061xi5clniy7z5pvkc4jiaqav-glibc-2.38-27/lib/libm.so.6 (0x00007f2f204f9000) libc.so.6 => /nix/store/7jiqcrg061xi5clniy7z5pvkc4jiaqav-glibc-2.38-27/lib/libc.so.6 (0x00007f2f1ec17000) ```
Codecov ReportAttention:
❗ Your organization needs to install the Codecov GitHub app to enable full functionality. Additional details and impacted files@@ Coverage Diff @@
## main #116 +/- ##
==========================================
- Coverage 83.02% 81.78% -1.24%
==========================================
Files 23 23
Lines 4919 4925 +6
==========================================
- Hits 4084 4028 -56
- Misses 835 897 +62 ☔ View full report in Codecov by Sentry. |
Closed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.