-
Notifications
You must be signed in to change notification settings - Fork 70
fix: Update cargo-raze -> crate_universe #399
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
Conversation
Had to update platforms for crate_universe compatibility. Had to update Abseil due to local build issues. Wasmsign is not quite working yet (wasmtime not tried yet): ``` $ bazelisk test --verbose_failures --test_output=errors --define engine=null --config=clang -- //test/... ... ERROR: /usr/local/google/home/mstevenson/git/proxy-wasm-cpp-host/test/test_data/BUILD:22:17: in (an implicit dependency) attribute of wasm_rust_binary_rule rule //test/test_data:abi_export.wasm: @crates_vendor__wasmsign-0.1.2//:wasmsign does not refer to a valid executable target. Since this rule was created by the macro 'wasm_rust_binary', the error might have been caused by the macro implementation ERROR: /usr/local/google/home/mstevenson/git/proxy-wasm-cpp-host/test/test_data/BUILD:22:17: Analysis of target '//test/test_data:abi_export.wasm' failed ``` Signed-off-by: Martijn Stevenson <[email protected]>
I noticed that the Maybe something needs to be tweaked to coax crate_universe to generate a binary rather than library build rule for |
Signed-off-by: Martijn Stevenson <[email protected]>
Signed-off-by: Martijn Stevenson <[email protected]>
Signed-off-by: Martijn Stevenson <[email protected]>
The windows error is
|
Reading through bazelbuild/rules_rust#1120, it sounds like the issue hasn't been fixed in rules_rust yet, though there is mention of workarounds that involve patching rules_rust to shorten auto-generated workspace names. We might need to do that. (The particular scheme used in that comment, of taking the first letter of each _ separated comment, seems a little collision-prone to me, I wonder if using a SHA hash of the path name would be safer.) |
I'd suggest starting from that, since the current version is more than a year old, and |
This moves ProxyWasm past Envoy Abseil 20230802.1. Relevant ASAN failure: ``` external/com_google_absl/absl/strings/numbers.cc:199:73: runtime error: unsigned integer overflow: 0 - 8 cannot be represented in type 'unsigned long long' #0 0x562c730539f9 in absl::lts_20230802::(anonymous namespace)::EncodeTenThousand(unsigned int, char*) numbers.cc proxy-wasm#1 0x562c73053f25 in absl::lts_20230802::numbers_internal::FastIntToBuffer(unsigned long, char*) ``` Relevant Abseil rollback: abseil/abseil-cpp@e7858c7 Signed-off-by: Martijn Stevenson <[email protected]>
Re: fuzzing failures, it turns out Envoy's version of Abseil (abseil-cpp-20230802.1) has a bug in an optimization that was rolled back. Upgrading to the latest LTS release (abseil-cpp-20240116.2) fixes this. CI running to confirm. |
Shorten generated paths with repository_name = "cu" - old: `@wasmtime__humantime__2_1_0//:humantime` - new: `@crates_vendor__humantime-2.1.0//:humantime` - fixed: `@cu__humantime-2.1.0//:humantime` Signed-off-by: Martijn Stevenson <[email protected]>
Woohoo, I successfully hacked around the Windows path length issue:
|
Signed-off-by: Martijn Stevenson <[email protected]>
Pick up this fix: abseil/abseil-cpp#1187 Bump past Envoy to pick up another fix found in fuzz tests: proxy-wasm#399 (comment) Signed-off-by: Martijn Stevenson <[email protected]>
That's a great find/fix! Would keeping the old prefix work on Windows? While it's probably not an issue, due to the use of If you cannot use the full prefix (i.e. |
Good point, but perhaps this is a benefit? Any reason to load the same dep twice? |
Signed-off-by: Martijn Stevenson <[email protected]>
Debugging build issues... but having both pointing to the same dependency is probably better for the happy path, so let's leave it as-is. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
FYI, macOS failures are due to using too old OS version on the runners ( Perhaps another PR updating it to |
Bump Abseil to fix Linux build issues Pick up this fix: abseil/abseil-cpp#1187 Bump past Envoy to pick up another fix found in fuzz tests: #399 (comment) Signed-off-by: Martijn Stevenson <[email protected]>
Fixes #388.
Had to update platforms for crate_universe compatibility.
Reviewers: ignore generated files (
Cargo.Bazel.lock
+bazel/cargo/*/remote/
)Steps:
.github/workflows/format.yml