You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
What package manager are you using / does the bug impact?
npm
What operating system are you using?
Linux
Describe the Bug
Hello,
For almost ~2 weeks now, we are experiencing some random crashes when using turbo prune command on our mono repo in a Docker alpine 3.17 container on a ubuntu 22.04 machine with 4 cores.
It is not happening every time, but few times a week. Retrying the exactly same CI step does not reproduce the issue, the command finally succeed.
We always use last version of turbo repo. (crash is present in 1.9 and 1.10 of turbo repo)
It seems happening more or less right after the 14 or 15 or 16 package iteration but its a guess.
We are using turbo repo remote cache (custom endpoint) but it is not used in this command as far as I know.
Klaitos
changed the title
[turborepo] some crashes when running turbo@1.10.1 prune
[turborepo] some crashes when running turbo prune --docker
Jun 5, 2023
Thanks for this report! This helped us track down a very interesting mistake we made with our FFI calls from Go to Rust. The description in #5230 has more information.
### Description
Fixes#5202
The underlying issue is how protobuf encodes a message with a single
optional field. If that single field is missing the message gets encoded
as a zero length string of bytes. This presents a problem with our usage
of `Vec::as_mut_ptr` which: ["Returns a dangling raw pointer valid for
zero sized reads if the vector didn’t
allocate."](https://doc.rust-lang.org/std/vec/struct.Vec.html#method.as_mut_ptr)
This caused us to send a buffer of length 0, but a dangling data pointer
instead of a null pointer. This wasn't a consistent failure as Go only
checks the validity of all the pointer in the stack under certain
conditions. Specifically when growing/shrinking the stack and needing to
[adjust pointers in a
frame](https://go.googlesource.com/go/+/refs/heads/master/src/runtime/stack.go#626).
### Testing Instructions
Added unit tests that deal with zero length buffers:
- Rust side ensure that if a protobuf message is zero length we return a
buffer with length `0` and the data pointer is the null pointer
- Go side the ensures that a buffer with `0` length and a null data
pointer gets converted to an empty byte slice
---------
Co-authored-by: Chris Olszewski <Chris Olszewski>
What version of Turborepo are you using?
1.10.1
What package manager are you using / does the bug impact?
npm
What operating system are you using?
Linux
Describe the Bug
Hello,
For almost ~2 weeks now, we are experiencing some random crashes when using turbo prune command on our mono repo in a Docker alpine 3.17 container on a ubuntu 22.04 machine with 4 cores.
It is not happening every time, but few times a week. Retrying the exactly same CI step does not reproduce the issue, the command finally succeed.
We always use last version of turbo repo. (crash is present in 1.9 and 1.10 of turbo repo)
It seems happening more or less right after the 14 or 15 or 16 package iteration but its a guess.
We are using turbo repo remote cache (custom endpoint) but it is not used in this command as far as I know.
(package names have been anonymized)
I have also observed this slightly different error
FULL STACK TRACE
Thanks
Expected Behavior
The turpo repo prune command succeeded with a lighter package.json.
To Reproduce
Not able to reproduce every time, it seems to be very hazardous.
Reproduction Repo
No response
The text was updated successfully, but these errors were encountered: