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

[1.42.2] Panic in serde_v8-0.181.0/ser.rs:267:34 when building with -fstack-clash-protection #23778

Closed
maunzCache opened this issue May 11, 2024 · 2 comments

Comments

@maunzCache
Copy link

maunzCache commented May 11, 2024

Version: Deno 1.42.2-2 (As built by ArchLinux. See https://gitlab.archlinux.org/archlinux/packaging/packages/deno)

This does not happen on the binary released on github. My rational to post this bug here is that i don't know if that is a build pipeline issue downstream because the flag -fstack-clash-protection must not be used or if that is an issue with the project.

When compiling deno with -fstack-clash-protection on clang, deno run might panic on a BorrowMutError in serde_v8 0.181.0. This especially happens when using JSX with react >= 17.

// test.jsx
import React from "npm:react@18.3.1";

<></>
$ deno run test.jsx

============================================================
Deno has panicked. This is a bug in Deno. Please report this
at https://github.com/denoland/deno/issues/new.
If you can reliably reproduce this panic, include the
reproduction steps and re-run with the RUST_BACKTRACE=1 env
var set and include the backtrace in your report.

Platform: linux x86_64
Version: 1.42.2
Args: ["deno", "run", "test.jsx"]

thread 'main' panicked at /build/.cargo/registry/src/index.crates.io-6f17d22bba15001f/serde_v8-0.181.0/ser.rs:267:34:
already borrowed: BorrowMutError
stack backtrace:
   0:     0x56b80648ba84 - <unknown>
   1:     0x56b8053919c3 - <unknown>
   2:     0x56b806453eae - <unknown>
   3:     0x56b80648ee5a - <unknown>
   4:     0x56b80648e749 - <unknown>
   5:     0x56b80648e32f - <unknown>
   6:     0x56b805258a77 - <unknown>
   7:     0x56b80648f40d - <unknown>
   8:     0x56b80648f1a4 - <unknown>
   9:     0x56b80648f0f9 - <unknown>
  10:     0x56b80648f0e6 - <unknown>
  11:     0x56b804c917b5 - <unknown>
  12:     0x56b804c91ae2 - <unknown>
  13:     0x56b806429aa5 - <unknown>
  14:     0x56b80554e0dc - <unknown>
  15:     0x56b80552f6ab - <unknown>
  16:     0x56b8070da5e4 - <unknown>

The issue might have been fixed in the 1.43.3 version of deno due to a bump in serde_v8. 0.189.0 updates the mentioned line where the error occurs.

@dsherret
Copy link
Member

dsherret commented May 11, 2024

The issue might have been fixed in the 1.43.3 version of deno due to a bump in serde_v8. 0.189.0 updates the mentioned line where the error occurs.

Yeah probably, but not sure. Skip 1.43.2

@mmastrac
Copy link
Contributor

It appears this code became problematic when using Rust 1.78.

I believe this was fixed by denoland/deno_core#735 -- please re-open if you continue to see it. Thanks for the report.

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

No branches or pull requests

3 participants