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

Improve Recovery of Unterminated Regular Expressions #58289

Merged
merged 11 commits into from
May 24, 2024

Conversation

graphemecluster
Copy link
Contributor

@graphemecluster graphemecluster commented Apr 22, 2024

Since unterminated regexes are invalid that they don’t even form a complete RegularExpressionLiteral, we can do everything at our discretion as long as a syntax error is produced. But we should do all our best to parse the remaining parts with fewer subsequent syntax errors.

Instead of consuming all until the end of the line starting from the slash character, if we encounter an unbalanced bracket, which is likely a bracket balancing something before the regex, we stop scanning the regex here so as to increase the chance that a bracket forms a pair of syntax characters with the corresponding bracket before the regex.

Now that unterminated regexes are handled separately from the well-terminated ones and are no longer scanned (actually, parsed) by scanRegularExpressionWorker. This should make moving scanRegularExpressionWorker away to the parser or the checker in the future much easier.

#55600 (comment) no longer applies.

@typescript-bot typescript-bot added the For Uncommitted Bug PR for untriaged, rejected, closed or missing bug label Apr 22, 2024
@typescript-bot
Copy link
Collaborator

This PR doesn't have any linked issues. Please open an issue that references this PR. From there we can discuss and prioritise.

@@ -2389,7 +2390,8 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean
function reScanSlashToken(): SyntaxKind {
if (token === SyntaxKind.SlashToken || token === SyntaxKind.SlashEqualsToken) {
// Quickly get to the end of regex such that we know the flags
let p = tokenStart + 1;
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is eliminated for readability

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I know this is bad. Are there any solutions that does not affect pressing enter?

@@ -49,5 +49,5 @@ file.tsx(11,20): error TS1161: Unterminated regular expression literal.
!!! error TS2304: Cannot find name 'data'.
~
!!! error TS1005: ';' expected.
~~
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we include angle brackets (in addition to parens and braces) to the logic?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With respect to treating them as unterminated? I don't think that's necessary. (?<) will still produce an error during the grammar check pass while still maintaining a proper bound for the RegExp body.

Also, Annex B does not treat /\k</ as an error since the RegExp does not define a named capture group, which indicates that <> handling is not a lexical syntax error.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not too terribly concerned about this case, to be honest. Parsing falls off the rails here because of malformed JSX, not a malformed RegExp.

@graphemecluster
Copy link
Contributor Author

Comments marked “Outdated” are not actually outdated, they’re just due to the merge

@graphemecluster
Copy link
Contributor Author

Please inform me if you would like me to move the last commit to #58320 or a new PR.

@sandersn sandersn added this to Not started in PR Backlog May 7, 2024
@jakebailey
Copy link
Member

Please inform me if you would like me to move the last commit to #58320 or a new PR.

It seems unrelated, right? So should probably be separate?

@rbuckton
Copy link
Member

#58339 also addressed some of this. Can you update your PR with the latest changes from main?

@graphemecluster
Copy link
Contributor Author

It seems unrelated, right? So should probably be separate?

OK, I’ll do so if you don’t mind the number of PRs.

PR Backlog automation moved this from Not started to Waiting on author May 16, 2024
src/compiler/scanner.ts Outdated Show resolved Hide resolved
src/compiler/scanner.ts Show resolved Hide resolved
src/compiler/scanner.ts Outdated Show resolved Hide resolved
src/compiler/scanner.ts Outdated Show resolved Hide resolved
@@ -49,5 +49,5 @@ file.tsx(11,20): error TS1161: Unterminated regular expression literal.
!!! error TS2304: Cannot find name 'data'.
~
!!! error TS1005: ';' expected.
~~
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With respect to treating them as unterminated? I don't think that's necessary. (?<) will still produce an error during the grammar check pass while still maintaining a proper bound for the RegExp body.

Also, Annex B does not treat /\k</ as an error since the RegExp does not define a named capture group, which indicates that <> handling is not a lexical syntax error.

src/compiler/scanner.ts Outdated Show resolved Hide resolved
src/compiler/scanner.ts Outdated Show resolved Hide resolved
src/compiler/scanner.ts Show resolved Hide resolved
@graphemecluster
Copy link
Contributor Author

@jakebailey I’ve moved the changes related to flags scanning to #58612. After either PR is merged I will resolve the conflict of the other one.

@rbuckton
Copy link
Member

@typescript-bot perf test
@typescript-bot run dt
@typescript-bot test top400
@typescript-bot test tsserver top100
@typescript-bot user test this
@typescript-bot user test tsserver

@typescript-bot
Copy link
Collaborator

typescript-bot commented May 23, 2024

Starting jobs; this comment will be updated as builds start and complete.

Command Status Results
perf test ✅ Started 👀 Results
run dt ✅ Started ✅ Results
test top400 ✅ Started ✅ Results
test tsserver top100 ✅ Started 👀 Results
user test this ✅ Started ✅ Results
user test tsserver ✅ Started ✅ Results

@typescript-bot
Copy link
Collaborator

@rbuckton Here are the results of running the user tests comparing main and refs/pull/58289/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

Hey @rbuckton, the results of running the DT tests are ready.

Everything looks the same!

You can check the log here.

@typescript-bot
Copy link
Collaborator

@rbuckton Here are the results of running the user tests comparing main and refs/pull/58289/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

@rbuckton
The results of the perf run you requested are in!

Here they are:

tsc

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-Unions - node (v18.15.0, x64)
Errors 30 30 ~ ~ ~ p=1.000 n=6
Symbols 62,154 62,154 ~ ~ ~ p=1.000 n=6
Types 50,248 50,248 ~ ~ ~ p=1.000 n=6
Memory used 192,306k (± 0.09%) 192,922k (± 0.77%) ~ 192,212k 195,925k p=0.378 n=6
Parse Time 1.55s (± 1.76%) 1.58s (± 0.48%) +0.03s (+ 2.05%) 1.57s 1.59s p=0.032 n=6
Bind Time 0.86s (± 0.60%) 0.87s (± 0.73%) ~ 0.86s 0.88s p=0.091 n=6
Check Time 11.34s (± 0.69%) 11.34s (± 0.53%) ~ 11.26s 11.42s p=1.000 n=6
Emit Time 3.16s (± 0.26%) 3.16s (± 0.76%) ~ 3.14s 3.20s p=0.935 n=6
Total Time 16.91s (± 0.52%) 16.94s (± 0.20%) ~ 16.89s 16.99s p=0.146 n=6
angular-1 - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 944,110 944,110 ~ ~ ~ p=1.000 n=6
Types 407,140 407,140 ~ ~ ~ p=1.000 n=6
Memory used 1,222,030k (± 0.01%) 1,222,047k (± 0.00%) ~ 1,221,983k 1,222,139k p=0.810 n=6
Parse Time 8.06s (± 0.89%) 8.05s (± 0.41%) ~ 8.00s 8.09s p=0.573 n=6
Bind Time 2.23s (± 0.49%) 2.22s (± 0.66%) ~ 2.21s 2.24s p=0.232 n=6
Check Time 36.38s (± 0.33%) 36.47s (± 0.26%) ~ 36.33s 36.57s p=0.128 n=6
Emit Time 17.45s (± 0.65%) 17.42s (± 0.83%) ~ 17.22s 17.64s p=1.000 n=6
Total Time 64.12s (± 0.12%) 64.16s (± 0.30%) ~ 64.01s 64.50s p=1.000 n=6
mui-docs - node (v18.15.0, x64)
Errors 5 5 ~ ~ ~ p=1.000 n=6
Symbols 1,978,560 1,978,560 ~ ~ ~ p=1.000 n=6
Types 882,085 882,085 ~ ~ ~ p=1.000 n=6
Memory used 1,885,326k (± 0.00%) 1,885,324k (± 0.00%) ~ 1,885,271k 1,885,414k p=0.936 n=6
Parse Time 8.03s (± 0.23%) 8.05s (± 0.31%) ~ 8.02s 8.09s p=0.257 n=6
Bind Time 2.73s (± 0.59%) 2.73s (± 0.94%) ~ 2.71s 2.77s p=1.000 n=6
Check Time 71.85s (± 0.43%) 71.75s (± 0.77%) ~ 70.88s 72.36s p=1.000 n=6
Emit Time 0.17s (± 5.72%) 0.17s (± 3.72%) ~ 0.16s 0.18s p=1.000 n=6
Total Time 82.78s (± 0.37%) 82.70s (± 0.70%) ~ 81.81s 83.39s p=1.000 n=6
self-build-src - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,224,988 1,225,002 +14 (+ 0.00%) ~ ~ p=0.001 n=6
Types 260,660 260,757 +97 (+ 0.04%) ~ ~ p=0.001 n=6
Memory used 2,340,677k (± 0.04%) 2,341,457k (± 0.01%) ~ 2,341,075k 2,341,716k p=0.093 n=6
Parse Time 5.00s (± 1.16%) 4.97s (± 0.91%) ~ 4.90s 5.02s p=0.872 n=6
Bind Time 1.92s (± 0.55%) 1.90s (± 0.33%) -0.01s (- 0.78%) 1.89s 1.91s p=0.024 n=6
Check Time 33.96s (± 0.16%) 33.85s (± 0.43%) ~ 33.70s 34.09s p=0.149 n=6
Emit Time 2.67s (± 1.33%) 2.64s (± 3.27%) ~ 2.55s 2.78s p=0.471 n=6
Total Time 43.54s (± 0.21%) 43.38s (± 0.37%) ~ 43.18s 43.58s p=0.054 n=6
self-build-src-public-api - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 1,224,988 1,225,002 +14 (+ 0.00%) ~ ~ p=0.001 n=6
Types 260,660 260,757 +97 (+ 0.04%) ~ ~ p=0.001 n=6
Memory used 2,417,289k (± 0.03%) 2,417,114k (± 0.03%) ~ 2,416,476k 2,418,127k p=0.575 n=6
Parse Time 7.66s (± 0.87%) 7.69s (± 0.61%) ~ 7.63s 7.75s p=0.574 n=6
Bind Time 2.48s (± 0.42%) 2.50s (± 1.08%) ~ 2.46s 2.53s p=0.226 n=6
Check Time 49.84s (± 0.34%) 49.97s (± 0.57%) ~ 49.74s 50.48s p=0.630 n=6
Emit Time 3.93s (± 2.44%) 3.96s (± 2.18%) ~ 3.83s 4.04s p=0.471 n=6
Total Time 63.93s (± 0.27%) 64.14s (± 0.54%) ~ 63.85s 64.74s p=0.378 n=6
self-compiler - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 257,719 257,716 -3 (- 0.00%) ~ ~ p=0.001 n=6
Types 104,932 104,933 +1 (+ 0.00%) ~ ~ p=0.001 n=6
Memory used 426,507k (± 0.01%) 426,530k (± 0.01%) ~ 426,484k 426,549k p=1.000 n=6
Parse Time 3.38s (± 0.76%) 3.35s (± 0.12%) -0.03s (- 0.89%) 3.34s 3.35s p=0.003 n=6
Bind Time 1.32s (± 0.62%) 1.33s (± 0.63%) ~ 1.31s 1.33s p=0.718 n=6
Check Time 18.00s (± 0.42%) 18.04s (± 0.29%) ~ 17.96s 18.09s p=0.335 n=6
Emit Time 1.37s (± 1.36%) 1.36s (± 1.44%) ~ 1.33s 1.38s p=0.934 n=6
Total Time 24.07s (± 0.35%) 24.07s (± 0.17%) ~ 24.02s 24.12s p=0.810 n=6
ts-pre-modules - node (v18.15.0, x64)
Errors 35 35 ~ ~ ~ p=1.000 n=6
Symbols 224,575 224,575 ~ ~ ~ p=1.000 n=6
Types 93,785 93,785 ~ ~ ~ p=1.000 n=6
Memory used 369,818k (± 0.03%) 369,938k (± 0.03%) ~ 369,830k 370,158k p=0.230 n=6
Parse Time 2.33s (± 0.70%) 2.35s (± 1.06%) ~ 2.31s 2.38s p=0.333 n=6
Bind Time 1.33s (± 0.74%) 1.32s (± 1.77%) ~ 1.31s 1.37s p=0.190 n=6
Check Time 13.35s (± 0.35%) 13.32s (± 0.19%) ~ 13.27s 13.34s p=0.106 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 17.02s (± 0.26%) 16.99s (± 0.19%) ~ 16.93s 17.02s p=0.196 n=6
vscode - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 2,834,916 2,834,916 ~ ~ ~ p=1.000 n=6
Types 960,806 960,806 ~ ~ ~ p=1.000 n=6
Memory used 3,007,312k (± 0.00%) 3,007,382k (± 0.00%) ~ 3,007,292k 3,007,458k p=0.066 n=6
Parse Time 13.82s (± 0.23%) 13.83s (± 0.17%) ~ 13.80s 13.86s p=0.466 n=6
Bind Time 4.15s (± 0.29%) 4.16s (± 0.28%) ~ 4.14s 4.17s p=0.242 n=6
Check Time 74.98s (± 2.69%) 75.24s (± 2.83%) ~ 73.21s 77.26s p=0.575 n=6
Emit Time 21.71s (± 8.79%) 21.55s (± 9.98%) ~ 19.56s 23.61s p=0.748 n=6
Total Time 114.67s (± 0.18%) 114.78s (± 0.13%) ~ 114.53s 114.98s p=0.199 n=6
webpack - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 266,087 266,087 ~ ~ ~ p=1.000 n=6
Types 108,518 108,518 ~ ~ ~ p=1.000 n=6
Memory used 410,925k (± 0.02%) 410,944k (± 0.02%) ~ 410,785k 411,016k p=0.689 n=6
Parse Time 4.75s (± 0.91%) 4.76s (± 1.06%) ~ 4.71s 4.83s p=0.870 n=6
Bind Time 2.07s (± 1.12%) 2.06s (± 1.25%) ~ 2.02s 2.09s p=0.511 n=6
Check Time 21.05s (± 0.39%) 21.01s (± 0.52%) ~ 20.84s 21.17s p=0.748 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 27.87s (± 0.37%) 27.84s (± 0.42%) ~ 27.63s 27.99s p=0.748 n=6
xstate-main - node (v18.15.0, x64)
Errors 0 0 ~ ~ ~ p=1.000 n=6
Symbols 535,745 535,745 ~ ~ ~ p=1.000 n=6
Types 182,753 182,753 ~ ~ ~ p=1.000 n=6
Memory used 470,433k (± 0.01%) 470,413k (± 0.01%) ~ 470,371k 470,438k p=0.378 n=6
Parse Time 3.18s (± 0.74%) 3.18s (± 0.61%) ~ 3.16s 3.21s p=0.745 n=6
Bind Time 1.20s (± 0.53%) 1.20s (± 0.82%) ~ 1.19s 1.22s p=1.000 n=6
Check Time 18.39s (± 0.34%) 18.42s (± 0.38%) ~ 18.29s 18.49s p=0.419 n=6
Emit Time 0.00s 0.00s ~ ~ ~ p=1.000 n=6
Total Time 22.77s (± 0.33%) 22.80s (± 0.38%) ~ 22.64s 22.89s p=0.572 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • Compiler-Unions - node (v18.15.0, x64)
  • angular-1 - node (v18.15.0, x64)
  • mui-docs - node (v18.15.0, x64)
  • self-build-src - node (v18.15.0, x64)
  • self-build-src-public-api - node (v18.15.0, x64)
  • self-compiler - node (v18.15.0, x64)
  • ts-pre-modules - node (v18.15.0, x64)
  • vscode - node (v18.15.0, x64)
  • webpack - node (v18.15.0, x64)
  • xstate-main - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

tsserver

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
Compiler-UnionsTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 2,303ms (± 0.44%) 2,304ms (± 0.54%) ~ 2,284ms 2,316ms p=0.689 n=6
Req 2 - geterr 5,169ms (± 0.37%) 5,172ms (± 0.50%) ~ 5,143ms 5,218ms p=0.810 n=6
Req 3 - references 286ms (± 0.82%) 286ms (± 1.92%) ~ 280ms 293ms p=0.677 n=6
Req 4 - navto 229ms (± 1.13%) 229ms (± 0.70%) ~ 227ms 231ms p=0.934 n=6
Req 5 - completionInfo count 1,357 1,357 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 79ms (± 7.83%) 80ms (± 7.97%) ~ 77ms 93ms p=0.391 n=6
CompilerTSServer - node (v18.15.0, x64)
Req 1 - updateOpen 3,057ms (± 8.89%) 2,944ms (± 0.65%) ~ 2,920ms 2,979ms p=0.936 n=6
Req 2 - geterr 4,973ms (±11.67%) 4,782ms (± 9.43%) ~ 4,574ms 5,703ms p=0.336 n=6
Req 3 - references 389ms (±11.13%) 390ms (±11.85%) ~ 357ms 453ms p=0.872 n=6
Req 4 - navto 301ms (±10.46%) 303ms (± 9.15%) ~ 277ms 339ms p=0.688 n=6
Req 5 - completionInfo count 1,519 1,519 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 100ms (±14.46%) 95ms (±16.55%) ~ 82ms 125ms p=0.377 n=6
xstate-main-1-tsserver - node (v18.15.0, x64)
Req 1 - updateOpen 5,146ms (± 0.48%) 5,135ms (± 0.45%) ~ 5,109ms 5,167ms p=0.423 n=6
Req 2 - geterr 1,127ms (± 1.21%) 1,126ms (± 1.14%) ~ 1,103ms 1,137ms p=1.000 n=6
Req 3 - references 92ms (± 3.72%) 91ms (± 3.49%) ~ 87ms 95ms p=0.687 n=6
Req 4 - navto 453ms (± 0.72%) 443ms (± 4.32%) ~ 408ms 455ms p=0.561 n=6
Req 5 - completionInfo count 3,413 3,413 ~ ~ ~ p=1.000 n=6
Req 5 - completionInfo 871ms (± 1.81%) 859ms (± 1.45%) ~ 835ms 869ms p=0.230 n=6
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • CompilerTSServer - node (v18.15.0, x64)
  • Compiler-UnionsTSServer - node (v18.15.0, x64)
  • xstate-main-1-tsserver - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

startup

Comparison Report - baseline..pr
Metric baseline pr Delta Best Worst p-value
tsc-startup - node (v18.15.0, x64)
Execution time 228.29ms (± 0.24%) 228.02ms (± 0.17%) -0.27ms (- 0.12%) 226.02ms 234.14ms p=0.000 n=600
tsserver-startup - node (v18.15.0, x64)
Execution time 297.33ms (± 0.26%) 297.43ms (± 0.27%) +0.10ms (+ 0.03%) 290.15ms 303.89ms p=0.010 n=600
tsserverlibrary-startup - node (v18.15.0, x64)
Execution time 237.39ms (± 0.15%) 237.29ms (± 0.15%) -0.10ms (- 0.04%) 235.80ms 240.49ms p=0.004 n=600
typescript-startup - node (v18.15.0, x64)
Execution time 289.39ms (± 0.29%) 289.52ms (± 0.30%) ~ 282.69ms 296.62ms p=0.064 n=600
System info unknown
Hosts
  • node (v18.15.0, x64)
Scenarios
  • tsc-startup - node (v18.15.0, x64)
  • tsserver-startup - node (v18.15.0, x64)
  • tsserverlibrary-startup - node (v18.15.0, x64)
  • typescript-startup - node (v18.15.0, x64)
Benchmark Name Iterations
Current pr 6
Baseline baseline 6

Developer Information:

Download Benchmarks

src/compiler/scanner.ts Outdated Show resolved Hide resolved
@typescript-bot
Copy link
Collaborator

@rbuckton Here are the results of running the top 400 repos comparing main and refs/pull/58289/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

@rbuckton Here are the results of running the top 200 repos comparing main and refs/pull/58289/merge:

Something interesting changed - please have a look.

Details

Server exited prematurely with code unknown and signal SIGABRT

Server exited prematurely with code unknown and signal SIGABRT

Affected repos

backstage/backstage Raw error text: RepoResults8/backstage.backstage.rawError.txt in the artifact folder
Replay commands: RepoResults8/backstage.backstage.replay.txt in the artifact folder

Last few requests

{"seq":38,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/scripts/create-github-release.js","line":93,"offset":42}}
{"seq":39,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/scripts/create-github-release.js","line":193,"offset":4,"includeExternalModuleExports":false,"triggerKind":1}}
{"seq":40,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/scripts/create-github-release.js","line":193,"offset":4,"entryNames":["arguments"]}}
{"seq":41,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":[],"openFiles":[{"file":"@PROJECT_ROOT@/packages/techdocs-cli/cli-e2e-test.config.js","projectRootPath":"@PROJECT_ROOT@"}]}}

Repro steps

#!/bin/bash

git clone https://github.com/backstage/backstage --recurse-submodules
git -C "./backstage" reset --hard 024b530575d5d9d4d28d53db56d245d81a8c413c
# Install packages (exact steps are below, but it might be easier to follow the repo readme)
yarn --cwd "/mnt/ts_downloads/base/backstage" install --no-immutable --mode=skip-build
yarn --cwd "/mnt/ts_downloads/base/backstage/storybook" install --no-immutable --mode=skip-build
yarn --cwd "/mnt/ts_downloads/base/backstage/microsite" install --no-immutable --mode=skip-build
downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/161891/artifacts?artifactName=RepoResults8&api-version=7.0" | jq -r ".resource.downloadUrl")
wget -O RepoResults8.zip "$downloadUrl"
unzip -p RepoResults8.zip RepoResults8/backstage.backstage.replay.txt > backstage.backstage.replay.txt
npm install --no-save @typescript/server-replay

To run the repro:

# `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc.
npx tsreplay ./backstage ./backstage.backstage.replay.txt <PATH_TO_tsserver.js>

Server exited prematurely with code unknown and signal SIGABRT

Server exited prematurely with code unknown and signal SIGABRT

Affected repos

calcom/cal.com Raw error text: RepoResults7/calcom.cal.com.rawError.txt in the artifact folder
Replay commands: RepoResults7/calcom.cal.com.replay.txt in the artifact folder

Last few requests

{"seq":54,"type":"request","command":"navbar","arguments":{"file":"@PROJECT_ROOT@/packages/trpc/index.ts"}}
{"seq":55,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/packages/trpc/index.ts","line":1,"offset":7,"includeExternalModuleExports":false,"triggerKind":2,"triggerCharacter":" "}}
{"seq":56,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":["@PROJECT_ROOT@/checkly.config.ts"],"openFiles":[]}}
{"seq":57,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":[],"openFiles":[{"file":"@PROJECT_ROOT@/packages/prisma/zod-utils.test.ts","projectRootPath":"@PROJECT_ROOT@"}]}}

Repro steps

#!/bin/bash

git clone https://github.com/calcom/cal.com --recurse-submodules
git -C "./cal.com" reset --hard 64845c670da99c16c12a794ef5695dade0d7488a
yarn --cwd "/mnt/ts_downloads/base/cal.com" install --no-immutable --mode=skip-build
downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/161891/artifacts?artifactName=RepoResults7&api-version=7.0" | jq -r ".resource.downloadUrl")
wget -O RepoResults7.zip "$downloadUrl"
unzip -p RepoResults7.zip RepoResults7/calcom.cal.com.replay.txt > calcom.cal.com.replay.txt
npm install --no-save @typescript/server-replay

To run the repro:

# `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc.
npx tsreplay ./cal.com ./calcom.cal.com.replay.txt <PATH_TO_tsserver.js>

Server exited prematurely with code unknown and signal SIGABRT

Server exited prematurely with code unknown and signal SIGABRT

Affected repos

elastic/kibana Raw error text: RepoResults14/elastic.kibana.rawError.txt in the artifact folder
Replay commands: RepoResults14/elastic.kibana.replay.txt in the artifact folder

Last few requests

{"seq":805,"type":"request","command":"getOutliningSpans","arguments":{"file":"@PROJECT_ROOT@/x-pack/plugins/security_solution/common/translations.ts"}}
{"seq":806,"type":"request","command":"navtree","arguments":{"file":"@PROJECT_ROOT@/x-pack/plugins/security_solution/common/translations.ts"}}
{"seq":807,"type":"request","command":"navbar","arguments":{"file":"@PROJECT_ROOT@/x-pack/plugins/security_solution/common/translations.ts"}}
{"seq":808,"type":"request","command":"navto","arguments":{"searchValue":"a","maxResultCount":256}}

Repro steps

#!/bin/bash

git clone https://github.com/elastic/kibana --recurse-submodules
git -C "./kibana" reset --hard b1916090d03cb4038d0ae25507968dff0109a964
downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/161891/artifacts?artifactName=RepoResults14&api-version=7.0" | jq -r ".resource.downloadUrl")
wget -O RepoResults14.zip "$downloadUrl"
unzip -p RepoResults14.zip RepoResults14/elastic.kibana.replay.txt > elastic.kibana.replay.txt
npm install --no-save @typescript/server-replay

To run the repro:

# `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc.
npx tsreplay ./kibana ./elastic.kibana.replay.txt <PATH_TO_tsserver.js>

PR Backlog automation moved this from Waiting on author to Needs merge May 24, 2024
@rbuckton rbuckton merged commit d0ef028 into microsoft:main May 24, 2024
28 checks passed
PR Backlog automation moved this from Needs merge to Done May 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
For Uncommitted Bug PR for untriaged, rejected, closed or missing bug
Projects
No open projects
PR Backlog
  
Done
Development

Successfully merging this pull request may close these issues.

None yet

4 participants