-
-
Notifications
You must be signed in to change notification settings - Fork 538
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
Breaking changes v9.0.0 -> v9.1.0? #1283
Comments
Is there a list of binaries which must be globally installed to reproduce this? I'm seeing errors about |
These are the errors preventing the reproduction from working as expected. (I assume) Is the reproduction incomplete? Are there additional steps which need to be run? |
Apologies! Those are probably required for VS Code. I spoke to @code-asher and he was able to provide a minimal reproduction setup. Here's the repo: |
Okay so we couldn't reproduce in the minimal reproduction. One observation: we're both testing using Node v12, but the repro GH action suite uses LTS. If you run Node v14, the issue isn't reproducible (locally). And in 9.1.0, the tests for 12.16 were removed: #1148 So I guess that means this is a bug in Node and not |
fwiw, I reproduced in GH actions with v12: TypeStrong/ts-node-repros#8 |
Thanks, I'm seeing the same. I see it on node 12.21.0 but not node 15.12.0. I suspect this has something to do with the way node's |
I found something interesting. Switching the
Do you know, are we allowed to use file descriptor 0 for an IPC channel? If so, how does the child process learn that file descriptor 0 is an IPC channel? I am also double-checking to be sure that |
That is a fantastic question...This is waay out of my wheelhouse. I have no idea. |
Nice find! I'm not entirely sure why we're using fd 0 for IPC. 🤔 It was probably due to some kind of misunderstanding. We'll switch to doing it the correct way. I have no idea if IPC is "supposed" to work on fd 0 so I don't know if this is still technically a bug, but this resolves our issue at the very least! Thank you for figuring this out! |
Feel free to close this if you'd like! You ended up helping us find the underlying bug in our own codebase and we really appreciate that! |
Excellent, glad to hear that. I'm going to keep this open a bit longer
because it might still be a bug on our end, or at least something we can
avoid, if I can figure out what to tweak.
…On Mon, Apr 5, 2021 at 3:15 PM Joe Previte ***@***.***> wrote:
Feel free to close this if you'd like! You ended up helping us find the
underlying bug in our own codebase and we really appreciate that!
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
<#1283 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAC35OCVLIGXX5QNTFOHVOLTHID6PANCNFSM4ZYK3WSQ>
.
|
I came back to this and found the culprit. Doing I guess that node 12.16.1 had some initialize-on-demand behavior that was triggered by a getter on However, if we did need to implement a workaround, the solution is to avoid calling It is worth repeating for anyone reading this in the future: this bug does not happen on newer versions of node. |
Expected Behavior
ts-node
executes start script and app starts on on port8080
like it used to.Actual Behavior
Strange behavior affecting between the child process and the parent process in our app. The child sends a message, the parent gets the process and sends a message back but the child never gets it.
Steps to reproduce the problem
git clone https://github.com/cdr/code-server.git && git checkout jsjoeio/ts-node-repro
yarn && yarn add -D ts-node@9.1.0
yarn watch
8080
)Minimal reproduction
^See reproduction steps above. If that doesn't suffice or overcomplicates things, feel free to close this issue.
Specifications
Additional Context
The
ts-node
upgrade came through dependabot in coder/code-server#2919. Our tests were passing so we thought it was fine to merge. (And now we have a note to write a test for testing our dev workflow, including use ofts-node
to prevent this in the future).After hours of debugging yesterday, my co-maintainer and I realized something in
9.1.0
(tested both9.1.0
and9.1.1
) started causing issues. We looked at the release notes but didn't see anything unusual.I figured it could be helpful to report this just in case.
The text was updated successfully, but these errors were encountered: