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
Inconsistent path handling results in miscompilation on Windows systems #170767
Comments
Thanks for creating this issue! It looks like you may be using an old version of VS Code, the latest stable release is 1.74.2. Please try upgrading to the latest version and checking whether this issue remains. Happy Coding! |
The issue exists in all releases newer than 1.73.1. |
Thanks. This is a great find. At first I will fix the pipeline scripts, second we will think about the fact that serialization depends on private object state |
fyi @alexdima This is about * As of today this bug is the only case where unequal mangling happens, the names are generated in a deterministic fashion and for types that aren't involved in inheritance things are simple. Tho, we might wanna implement |
* use normalized path when checking for mangled new contents, #170767 * add missing js file
@jrieken created a PR #172739 fixing the bug reported in this comment |
Thanks @jeanp413 |
Does this issue occur when all extensions are disabled?: Yes
Steps to Reproduce:
yarn --frozen-lockfile
yarn gulp compile-build
On Windows systems the
data.path
field invscode/build/lib/compilation.ts
Line 130 in 70c45ba
is
\
separated but the TS compiler that generates thenewContentsByFileName
map uses/
slashes. Therefore none of the replacements done by the mangler are found.In the context of the remote extension hosts this leads to problems when the Windows built Windows client connects to, i.e., a Linux built Linux client. Names of private fields leak in the
JSON.stringify()
serialization invscode/src/vs/workbench/services/extensions/common/remoteExtensionHost.ts
Line 160 in 612d2c8
and cause surprising bugs. (These bugs are VSCode-OSS specific even though they are filled against VSCodium).
A possible solution can be found here: VSCodium/vscodium#1370
The text was updated successfully, but these errors were encountered: