Skip to content

0.11.x: avoid unwrapping VarInt decoding during parameter parsing#2559

Merged
djc merged 9 commits into0.11.xfrom
0.11.x-params-var-ints
Mar 9, 2026
Merged

0.11.x: avoid unwrapping VarInt decoding during parameter parsing#2559
djc merged 9 commits into0.11.xfrom
0.11.x-params-var-ints

Conversation

@djc
Copy link
Copy Markdown
Member

@djc djc commented Mar 9, 2026

@djc djc requested review from Ralith and gretchenfrage as code owners March 9, 2026 09:21
djc and others added 3 commits March 9, 2026 10:22
```
warning: called `unwrap` on `self.exit_probe_rtt_at` after checking its variant with `is_none`
   --> quinn-proto/src/congestion/bbr/mod.rs:247:48
    |
238 |             if self.exit_probe_rtt_at.is_none() {
    |             ----------------------------------- help: try: `if let Some(<item>) = self.exit_probe_rtt_at`
...
247 |             } else if is_round_start && now >= self.exit_probe_rtt_at.unwrap() {
    |                                                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
    |
    = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_unwrap
    = note: `#[warn(clippy::unnecessary_unwrap)]` on by default
```
@djc djc force-pushed the 0.11.x-params-var-ints branch 3 times, most recently from 3dcca3d to cb5ae6d Compare March 9, 2026 09:42
@djc djc force-pushed the 0.11.x-params-var-ints branch from cb5ae6d to a2ab220 Compare March 9, 2026 09:48
@djc
Copy link
Copy Markdown
Member Author

djc commented Mar 9, 2026

Not sure what's going on with these WASM failures:

---- tests::zero_rtt_incoming_buffer_size_total output ----
    error output:
        panicked at quinn-proto/src/connection/mod.rs:1674:58:
        called `Option::unwrap()` on a `None` value
        
        Stack:
        
        Error
            at /tmp/.tmpysR2Sh/wasm-bindgen-test.js:364:25
            at logError (/tmp/.tmpysR2Sh/wasm-bindgen-test.js:741:18)
            at __wbg_new_3b89a8aabb976b21 (/tmp/.tmpysR2Sh/wasm-bindgen-test.js:363:57)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.wasm_bindgen_test::__rt::Context::new::panic_handling::Error::new::__wbg_new_3b89a8aabb976b21::h563c362ecefee5f4 externref shim (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24101]:0x58dd33)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.wasm_bindgen_test::__rt::Context::new::panic_handling::Error::new::hbb3caa2beea4983b (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[13882]:0x51eda9)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.wasm_bindgen_test::__rt::Context::new::panic_handling::h6c5281a00456794c (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[5976]:0x42edb2)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.wasm_bindgen_test::__rt::Context::new::{{closure}}::{{closure}}::h3d4f3bf155db2337 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[15624]:0x53acc6)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.std::panicking::panic_with_hook::hb44ff7a7db1d4a36 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[5850]:0x428a6d)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.std::panicking::panic_handler::{{closure}}::hc45753d38c23abcf (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[9594]:0x4ba1c1)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.std::sys::backtrace::__rust_end_short_backtrace::hc8287529a3915aa1 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24466]:0x58ef37)
        
        
    
    JS exception that was thrown:
        RuntimeError: unreachable
            at quinn_proto-89a4b4fffc0bfc2d.wasm.__rustc[4425a7e20b4c8619]::__rust_abort (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24557]:0x58f18f)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.__rustc[4425a7e20b4c8619]::__rust_start_panic (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24524]:0x58f0f3)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.__rustc[4425a7e20b4c8619]::rust_panic (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24191]:0x58e200)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.std::panicking::panic_with_hook::hb44ff7a7db1d4a36 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[5850]:0x428aa6)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.std::panicking::panic_handler::{{closure}}::hc45753d38c23abcf (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[9594]:0x4ba1c1)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.std::sys::backtrace::__rust_end_short_backtrace::hc8287529a3915aa1 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24466]:0x58ef37)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.__rustc[4425a7e20b4c8619]::rust_begin_unwind (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[18568]:0x55f812)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.core::panicking::panic_fmt::hb8badb9a939ccf7a (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[15460]:0x538786)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.core::panicking::panic::h19814263112256c0 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[23805]:0x58c6fa)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.core::option::unwrap_failed::h8ebba99799176358 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24211]:0x58e361)

---- tests::zero_rtt_incoming_buffer_size output ----
    error output:
        panicked at quinn-proto/src/connection/mod.rs:1674:58:
        called `Option::unwrap()` on a `None` value
        
        Stack:
        
        Error
            at /tmp/.tmpysR2Sh/wasm-bindgen-test.js:364:25
            at logError (/tmp/.tmpysR2Sh/wasm-bindgen-test.js:741:18)
            at __wbg_new_3b89a8aabb976b21 (/tmp/.tmpysR2Sh/wasm-bindgen-test.js:363:57)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.wasm_bindgen_test::__rt::Context::new::panic_handling::Error::new::__wbg_new_3b89a8aabb976b21::h563c362ecefee5f4 externref shim (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24101]:0x58dd33)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.wasm_bindgen_test::__rt::Context::new::panic_handling::Error::new::hbb3caa2beea4983b (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[13882]:0x51eda9)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.wasm_bindgen_test::__rt::Context::new::panic_handling::h6c5281a00456794c (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[5976]:0x42edb2)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.wasm_bindgen_test::__rt::Context::new::{{closure}}::{{closure}}::h3d4f3bf155db2337 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[15624]:0x53acc6)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.std::panicking::panic_with_hook::hb44ff7a7db1d4a36 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[5850]:0x428a6d)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.std::panicking::panic_handler::{{closure}}::hc45753d38c23abcf (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[9594]:0x4ba1c1)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.std::sys::backtrace::__rust_end_short_backtrace::hc8287529a3915aa1 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24466]:0x58ef37)
        
        
    
    JS exception that was thrown:
        RuntimeError: unreachable
            at quinn_proto-89a4b4fffc0bfc2d.wasm.__rustc[4425a7e20b4c8619]::__rust_abort (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24557]:0x58f18f)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.__rustc[4425a7e20b4c8619]::__rust_start_panic (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24524]:0x58f0f3)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.__rustc[4425a7e20b4c8619]::rust_panic (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24191]:0x58e200)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.std::panicking::panic_with_hook::hb44ff7a7db1d4a36 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[5850]:0x428aa6)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.std::panicking::panic_handler::{{closure}}::hc45753d38c23abcf (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[9594]:0x4ba1c1)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.std::sys::backtrace::__rust_end_short_backtrace::hc8287529a3915aa1 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24466]:0x58ef37)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.__rustc[4425a7e20b4c8619]::rust_begin_unwind (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[18568]:0x55f812)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.core::panicking::panic_fmt::hb8badb9a939ccf7a (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[15460]:0x538786)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.core::panicking::panic::h19814263112256c0 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[23805]:0x58c6fa)
            at quinn_proto-89a4b4fffc0bfc2d.wasm.core::option::unwrap_failed::h8ebba99799176358 (wasm://wasm/quinn_proto-89a4b4fffc0bfc2d.wasm-0a5270be:wasm-function[24211]:0x58e361)

failures:

    tests::zero_rtt_incoming_buffer_size_total
    tests::zero_rtt_incoming_buffer_size

All of these changes are backported from main; merging without approval for release.

This was referenced Mar 14, 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