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

Support for 7.3 #116

Merged
merged 22 commits into from
Feb 15, 2024
Merged

Support for 7.3 #116

merged 22 commits into from
Feb 15, 2024

Conversation

PierreZ
Copy link
Member

@PierreZ PierreZ commented Jan 17, 2024

No description provided.

@PierreZ PierreZ force-pushed the feat/fdb73 branch 3 times, most recently from b0e0f83 to 99a803c Compare January 29, 2024 14:50
@PierreZ PierreZ added the correctness run hundred of iterations on the bindingTester during CI label Jan 29, 2024
@PierreZ PierreZ force-pushed the feat/fdb73 branch 3 times, most recently from aac959b to bf750d7 Compare January 29, 2024 16:32
@PierreZ PierreZ force-pushed the feat/fdb73 branch 2 times, most recently from d3eca2f to 5895d38 Compare February 5, 2024 16:56
@coveralls
Copy link

coveralls commented Feb 5, 2024

Pull Request Test Coverage Report for Build 7903433981

Details

  • -6 of 32 (81.25%) changed or added relevant lines in 4 files are covered.
  • 56 unchanged lines in 9 files lost coverage.
  • Overall coverage decreased (-0.3%) to 74.341%

Changes Missing Coverage Covered Lines Changed/Added Lines %
foundationdb/src/tenant.rs 6 12 50.0%
Files with Coverage Reduction New Missed Lines %
foundationdb/src/directory/directory_subspace.rs 1 90.58%
foundationdb/src/tenant.rs 1 31.86%
foundationdb/src/directory/mod.rs 2 93.39%
foundationdb/src/lib.rs 2 83.33%
foundationdb/src/database.rs 4 58.78%
foundationdb/src/directory/directory_layer.rs 7 93.62%
foundationdb/src/transaction.rs 8 85.35%
foundationdb-bindingtester/src/main.rs 15 87.96%
foundationdb/src/directory/directory_partition.rs 16 76.61%
Totals Coverage Status
Change from base Build 7897716307: -0.3%
Covered Lines: 4346
Relevant Lines: 5846

💛 - Coveralls

@PierreZ PierreZ force-pushed the feat/fdb73 branch 3 times, most recently from 427cb2f to 1f0ff28 Compare February 12, 2024 14:42
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-commenter
Copy link

Codecov Report

Attention: 12 lines in your changes are missing coverage. Please review.

Comparison is base (22da934) 83.02% compared to head (2928cc0) 81.78%.

Files Patch % Lines
foundationdb/src/tenant.rs 0.00% 12 Missing ⚠️

❗ 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.
📢 Have feedback on the report? Share it here.

@PierreZ PierreZ marked this pull request as ready for review February 14, 2024 08:00
@PierreZ PierreZ merged commit 9d7488d into foundationdb-rs:main Feb 15, 2024
46 checks passed
@PierreZ PierreZ mentioned this pull request Feb 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
correctness run hundred of iterations on the bindingTester during CI
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants