Skip to content

Update rules_rust to 1.69.0, rust to 1.93.1.#496

Open
leonm1 wants to merge 6 commits intoproxy-wasm:mainfrom
leonm1:update/rust
Open

Update rules_rust to 1.69.0, rust to 1.93.1.#496
leonm1 wants to merge 6 commits intoproxy-wasm:mainfrom
leonm1:update/rust

Conversation

@leonm1
Copy link
Contributor

@leonm1 leonm1 commented Feb 26, 2026

No description provided.

Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Copy link
Member

@PiotrSikora PiotrSikora left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You need to regenerate crates (use bazelisk run //bazel/cargo/wasmsign:crates_vendor without arguments to avoid updating dependencies, since that's going to pollute PR).

Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
Signed-off-by: Matt Leon <mattleon@google.com>
@leonm1 leonm1 requested a review from PiotrSikora February 27, 2026 15:59
EXPECT_TRUE(host->isErrorLogged(" - std::panicking::begin_panic"));
// Check for the function name 'one' in the backtrace, which may appear with or without
EXPECT_TRUE(host->isErrorLogged(" - std::panicking"));
// Check for the function name 'two' in the backtrace, which may appear with or without
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code below still loook for function one not two as in the updated (outdated?) comment.

Comment on lines +39 to +41
// Proxy-Wasm only prints up to 9 stack frames in V8.
// Ensure that we can see the `one` frame in the stack trace for assertions by inlining two and
// three.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This test doesn't seem to be broken on main, so where does this new "9 stack frames" limit come from? Is the panic stacktrace so much longer in plugins built with recent Rust?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, this is what I get from local testing after reverting your changes in this file:

[ RUN      ] WasmEngines/TestVm.Trap/v8
TRACE from integration: [host->vm] trigger()
ERROR from integration: Function: trigger failed: Uncaught RuntimeError: unreachable
Proxy-Wasm plugin in-VM backtrace:
  0:  0x1792 - _RNvCsdBezzDwma51_7___rustc12___rust_abort
  1:  0x1ea - _RNvCsdBezzDwma51_7___rustc18___rust_start_panic
  2:  0x1f8 - _RNvCsdBezzDwma51_7___rustc10rust_panic
  3:  0x27ec - std::panicking::panic_with_hook::h51c5edeeb48e69d3
  4:  0x2568 - std::panicking::begin_panic::_$u7b$$u7b$closure$u7d$$u7d$::he40991d1daf020e4
  5:  0x252d - std::sys::backtrace::__rust_end_short_backtrace::haadd8ba7ebd902fa
  6:  0x26d4 - std::panicking::begin_panic::h3650af640422e449
  7:  0x186 - _wasm_trap_wasm::three::h2cc0537245992bde
  8:  0x16e - _wasm_trap_wasm::two::h8d62b9963e06f5ba
  9:  0x164 - _wasm_trap_wasm::one::h027a3f589f2f611c
[       OK ] WasmEngines/TestVm.Trap/v8 (114 ms)

So there indeed seems to be limit on the number of stack frames, since it doesn't show the trigger function, but there are 10 frames, not 9.

Copy link
Member

@PiotrSikora PiotrSikora Feb 27, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In any case, #499 might be a better approach than massaging tests to pass.

Comment on lines +39 to +41
// Proxy-Wasm only prints up to 9 stack frames in V8.
// Ensure that we can see the `one` frame in the stack trace for assertions by inlining two and
// three.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FYI, this is what I get from local testing after reverting your changes in this file:

[ RUN      ] WasmEngines/TestVm.Trap/v8
TRACE from integration: [host->vm] trigger()
ERROR from integration: Function: trigger failed: Uncaught RuntimeError: unreachable
Proxy-Wasm plugin in-VM backtrace:
  0:  0x1792 - _RNvCsdBezzDwma51_7___rustc12___rust_abort
  1:  0x1ea - _RNvCsdBezzDwma51_7___rustc18___rust_start_panic
  2:  0x1f8 - _RNvCsdBezzDwma51_7___rustc10rust_panic
  3:  0x27ec - std::panicking::panic_with_hook::h51c5edeeb48e69d3
  4:  0x2568 - std::panicking::begin_panic::_$u7b$$u7b$closure$u7d$$u7d$::he40991d1daf020e4
  5:  0x252d - std::sys::backtrace::__rust_end_short_backtrace::haadd8ba7ebd902fa
  6:  0x26d4 - std::panicking::begin_panic::h3650af640422e449
  7:  0x186 - _wasm_trap_wasm::three::h2cc0537245992bde
  8:  0x16e - _wasm_trap_wasm::two::h8d62b9963e06f5ba
  9:  0x164 - _wasm_trap_wasm::one::h027a3f589f2f611c
[       OK ] WasmEngines/TestVm.Trap/v8 (114 ms)

So there indeed seems to be limit on the number of stack frames, since it doesn't show the trigger function, but there are 10 frames, not 9.

if (engine_ == "v8") {
EXPECT_TRUE(host->isErrorLogged("Proxy-Wasm plugin in-VM backtrace:"));
EXPECT_TRUE(host->isErrorLogged(" - std::panicking::begin_panic"));
EXPECT_TRUE(host->isErrorLogged(" - std::panicking"));
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm fine with those, but for the record, those changes are not necessary, since the std::panicking::begin_panic is still in the backtrace.

@PiotrSikora PiotrSikora changed the title Update rules_rust to 1.69.0, rust to 1.93.0 Update rules_rust to 1.69.0, rust to 1.93.1. Feb 27, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants