Skip to content

Fixed accidental propagation of caching-related objectFlags #52546

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

Merged
merged 2 commits into from
Feb 1, 2023

Conversation

Andarist
Copy link
Contributor

@Andarist Andarist commented Feb 1, 2023

@typescript-bot typescript-bot added the For Backlog Bug PRs that fix a backlog bug label Feb 1, 2023
@@ -16285,7 +16285,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker {
let type = unionTypes.get(id);
if (!type) {
type = createType(TypeFlags.Union) as UnionType;
type.objectFlags = objectFlags | getPropagatingFlagsOfTypes(types, /*excludeKinds*/ TypeFlags.Nullable);
type.objectFlags = (objectFlags | getPropagatingFlagsOfTypes(types, /*excludeKinds*/ TypeFlags.Nullable)) & ~(ObjectFlags.IsUnknownLikeUnionComputed | ObjectFlags.IsUnknownLikeUnion);
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 a naive~ fix for the issue. I think that it would be best to remove those object flags and use a different mechanism to cache this information. This would prevent accidental propagation like this as this information should be unique to any given type.

I'm just not sure what's the preferred place to keep this sort of information. Let me know what is your preferred solution for this kind of caching and I will adjust the PR.

cc @ahejlsberg

Copy link
Member

Choose a reason for hiding this comment

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

Thanks for tracking this down. The call to getUnionTypeFromSortedList that causes the issue comes from filterType. I'd suggest changing that call to

return getUnionTypeFromSortedList(filtered, (type as UnionType).objectFlags & (ObjectFlags.PrimitiveUnion | ObjectFlags.ContainsIntersections), /*aliasSymbol*/ undefined, /*aliasTypeArguments*/ undefined, newOrigin);

i.e. filter the flags there and leave getUnionTypeFromSortedList alone. It might make sense to also change the parameter name from objectFlags to precomputedObjectFlags just to make its use clear. BTW, strictly speaking it isn't correct to reuse the old ObjectFlags.ContainsIntersections in filterType since the filtering operation may have removed all intersections. However, that flag is just an optimization hint, so no harm comes from propagating it.

Copy link
Member

Choose a reason for hiding this comment

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

Regarding where to put the flags, I think they're fine where they are. We really don't want to introduce another property for this.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

You mention PrimitiveUnion and ContainsIntersections in the suggested change and in the following comment. I'm a little bit lost on how this relates to the reused IsUnknownLikeUnionComputed and IsUnknownLikeUnion that I have identified to be the root cause here.

Copy link
Member

Choose a reason for hiding this comment

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

Those two flags are the only ones we want propagated into the new union type. All other flags should be zero. Including the ones you identified as the root cause.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Ah, I see - that makes sense. I pushed out the requested change.

@jakebailey
Copy link
Member

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

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the diff-based user code test suite on this PR at 3e34273. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the parallelized Definitely Typed test suite on this PR at 3e34273. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the diff-based user code test suite (tsserver) on this PR at 3e34273. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the perf test suite on this PR at 3e34273. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the diff-based top-repos suite on this PR at 3e34273. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the diff-based top-repos suite (tsserver) on this PR at 3e34273. You can monitor the build here.

Update: The results are in!

@typescript-bot
Copy link
Collaborator

typescript-bot commented Feb 1, 2023

Heya @jakebailey, I've started to run the extended test suite on this PR at 3e34273. You can monitor the build here.

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the user test suite comparing main and refs/pull/52546/merge:

Everything looks good!

1 similar comment
@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the user test suite comparing main and refs/pull/52546/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

Heya @jakebailey, I've run the RWC suite on this PR - assuming you're on the TS core team, you can view the resulting diff here.

@typescript-bot
Copy link
Collaborator

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

Here they are:

Compiler

Comparison Report - main..52546
Metric main 52546 Delta Best Worst
Angular - node (v18.10.0, x64)
Memory used 359,874k (± 0.01%) 359,868k (± 0.01%) -6k (- 0.00%) 359,800k 359,920k
Parse Time 4.01s (± 0.90%) 3.97s (± 0.98%) -0.04s (- 0.91%) 3.90s 4.00s
Bind Time 1.18s (± 0.88%) 1.17s (± 0.47%) -0.00s (- 0.14%) 1.17s 1.18s
Check Time 8.67s (± 0.64%) 8.66s (± 0.27%) -0.01s (- 0.12%) 8.62s 8.69s
Emit Time 7.67s (± 1.17%) 7.63s (± 0.67%) -0.04s (- 0.56%) 7.57s 7.71s
Total Time 21.54s (± 0.57%) 21.44s (± 0.41%) -0.09s (- 0.43%) 21.34s 21.59s
Compiler-Unions - node (v18.10.0, x64)
Memory used 195,384k (± 1.63%) 194,352k (± 1.52%) -1,032k (- 0.53%) 192,190k 198,220k
Parse Time 1.64s (± 1.72%) 1.63s (± 1.95%) -0.00s (- 0.20%) 1.60s 1.67s
Bind Time 0.80s (± 0.65%) 0.79s (± 0.95%) -0.01s (- 0.63%) 0.78s 0.80s
Check Time 9.74s (± 0.51%) 9.62s (± 0.38%) -0.11s (- 1.18%) 9.58s 9.67s
Emit Time 2.87s (± 4.74%) 2.86s (± 4.33%) -0.01s (- 0.23%) 2.80s 3.11s
Total Time 15.03s (± 0.89%) 14.91s (± 0.91%) -0.13s (- 0.83%) 14.77s 15.16s
Monaco - node (v18.10.0, x64)
Memory used 343,981k (± 0.01%) 343,978k (± 0.02%) -4k (- 0.00%) 343,917k 344,089k
Parse Time 2.96s (± 1.00%) 2.97s (± 0.97%) +0.01s (+ 0.23%) 2.93s 3.01s
Bind Time 1.04s (± 0.78%) 1.04s (± 0.81%) -0.01s (- 0.80%) 1.02s 1.04s
Check Time 7.08s (± 0.41%) 7.05s (± 0.46%) -0.03s (- 0.40%) 7.02s 7.10s
Emit Time 4.36s (± 1.24%) 4.33s (± 0.71%) -0.03s (- 0.76%) 4.30s 4.38s
Total Time 15.44s (± 0.69%) 15.38s (± 0.53%) -0.06s (- 0.38%) 15.33s 15.54s
TFS - node (v18.10.0, x64)
Memory used 300,399k (± 0.01%) 300,387k (± 0.01%) -11k (- 0.00%) 300,365k 300,418k
Parse Time 2.26s (± 1.13%) 2.24s (± 1.11%) -0.02s (- 0.81%) 2.22s 2.29s
Bind Time 1.17s (± 0.44%) 1.17s (± 0.64%) -0.00s (- 0.14%) 1.16s 1.18s
Check Time 6.53s (± 0.30%) 6.53s (± 0.41%) -0.00s (- 0.00%) 6.50s 6.56s
Emit Time 3.92s (± 0.45%) 3.92s (± 0.63%) -0.00s (- 0.04%) 3.89s 3.96s
Total Time 13.89s (± 0.29%) 13.87s (± 0.46%) -0.02s (- 0.16%) 13.79s 13.96s
material-ui - node (v18.10.0, x64)
Memory used 476,736k (± 0.01%) 476,739k (± 0.00%) +3k (+ 0.00%) 476,697k 476,767k
Parse Time 3.55s (± 0.56%) 3.55s (± 0.63%) -0.00s (- 0.05%) 3.52s 3.58s
Bind Time 0.97s (± 0.84%) 0.97s (± 0.53%) -0.01s (- 0.68%) 0.96s 0.97s
Check Time 17.24s (± 0.88%) 17.07s (± 0.39%) -0.17s (- 0.97%) 16.99s 17.16s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 21.76s (± 0.64%) 21.59s (± 0.33%) -0.17s (- 0.79%) 21.50s 21.67s
xstate - node (v18.10.0, x64)
Memory used 548,518k (± 0.01%) 548,717k (± 0.03%) +198k (+ 0.04%) 548,543k 548,917k
Parse Time 4.59s (± 0.50%) 4.59s (± 0.97%) +0.00s (+ 0.00%) 4.54s 4.67s
Bind Time 1.72s (± 0.71%) 1.72s (± 1.00%) -0.01s (- 0.39%) 1.69s 1.74s
Check Time 2.73s (± 0.50%) 2.74s (± 0.56%) +0.01s (+ 0.49%) 2.72s 2.76s
Emit Time 0.09s (± 6.44%) 0.09s (± 6.44%) 0.00s ( 0.00%) 0.08s 0.09s
Total Time 9.13s (± 0.41%) 9.14s (± 0.55%) +0.01s (+ 0.13%) 9.06s 9.21s
Angular - node (v16.17.1, x64)
Memory used 359,224k (± 0.00%) 359,204k (± 0.01%) -20k (- 0.01%) 359,181k 359,239k
Parse Time 4.19s (± 0.28%) 4.18s (± 0.28%) -0.01s (- 0.24%) 4.17s 4.20s
Bind Time 1.22s (± 0.45%) 1.22s (± 0.68%) 0.00s ( 0.00%) 1.21s 1.23s
Check Time 9.42s (± 0.22%) 9.41s (± 0.39%) -0.01s (- 0.11%) 9.36s 9.46s
Emit Time 8.07s (± 0.34%) 8.05s (± 0.62%) -0.02s (- 0.23%) 8.00s 8.12s
Total Time 22.91s (± 0.13%) 22.87s (± 0.29%) -0.04s (- 0.17%) 22.79s 22.99s
Compiler-Unions - node (v16.17.1, x64)
Memory used 194,241k (± 0.04%) 194,814k (± 0.66%) +573k (+ 0.30%) 194,172k 197,451k
Parse Time 1.82s (± 0.54%) 1.81s (± 0.70%) -0.01s (- 0.46%) 1.79s 1.82s
Bind Time 0.85s (± 0.61%) 0.85s (± 0.61%) 0.00s ( 0.00%) 0.84s 0.85s
Check Time 10.39s (± 0.79%) 10.40s (± 0.58%) +0.01s (+ 0.14%) 10.31s 10.48s
Emit Time 3.07s (± 1.14%) 3.05s (± 0.71%) -0.01s (- 0.49%) 3.02s 3.08s
Total Time 16.12s (± 0.75%) 16.11s (± 0.43%) -0.01s (- 0.06%) 16.00s 16.20s
Monaco - node (v16.17.1, x64)
Memory used 343,254k (± 0.01%) 343,237k (± 0.01%) -17k (- 0.00%) 343,212k 343,264k
Parse Time 3.18s (± 1.28%) 3.12s (± 0.77%) -0.06s (- 1.78%) 3.10s 3.16s
Bind Time 1.11s (± 0.46%) 1.11s (± 0.46%) 0.00s ( 0.00%) 1.11s 1.12s
Check Time 7.73s (± 0.52%) 7.74s (± 0.55%) +0.01s (+ 0.09%) 7.69s 7.81s
Emit Time 4.57s (± 1.37%) 4.54s (± 0.45%) -0.03s (- 0.66%) 4.52s 4.57s
Total Time 16.59s (± 0.52%) 16.51s (± 0.31%) -0.08s (- 0.48%) 16.44s 16.58s
TFS - node (v16.17.1, x64)
Memory used 299,779k (± 0.01%) 299,772k (± 0.01%) -8k (- 0.00%) 299,752k 299,811k
Parse Time 2.49s (± 0.82%) 2.46s (± 0.67%) -0.03s (- 1.34%) 2.44s 2.48s
Bind Time 1.26s (± 0.65%) 1.26s (± 0.60%) +0.00s (+ 0.13%) 1.25s 1.27s
Check Time 7.20s (± 0.37%) 7.17s (± 0.36%) -0.03s (- 0.44%) 7.14s 7.20s
Emit Time 4.21s (± 0.40%) 4.21s (± 0.42%) 0.00s ( 0.00%) 4.19s 4.24s
Total Time 15.16s (± 0.28%) 15.09s (± 0.16%) -0.07s (- 0.44%) 15.06s 15.12s
material-ui - node (v16.17.1, x64)
Memory used 476,109k (± 0.02%) 476,071k (± 0.01%) -39k (- 0.01%) 476,008k 476,193k
Parse Time 3.72s (± 0.26%) 3.73s (± 0.40%) +0.01s (+ 0.22%) 3.71s 3.75s
Bind Time 1.02s (± 0.50%) 1.02s (± 0.40%) -0.00s (- 0.16%) 1.02s 1.03s
Check Time 18.10s (± 0.28%) 18.12s (± 0.52%) +0.01s (+ 0.07%) 17.98s 18.26s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 22.84s (± 0.19%) 22.87s (± 0.40%) +0.02s (+ 0.10%) 22.73s 23.01s
xstate - node (v16.17.1, x64)
Memory used 546,298k (± 0.01%) 546,372k (± 0.03%) +74k (+ 0.01%) 546,188k 546,623k
Parse Time 4.79s (± 0.40%) 4.77s (± 0.51%) -0.02s (- 0.45%) 4.74s 4.81s
Bind Time 1.84s (± 0.56%) 1.81s (± 3.81%) -0.03s (- 1.81%) 1.67s 1.85s
Check Time 2.97s (± 0.45%) 3.01s (± 2.64%) +0.04s (+ 1.23%) 2.97s 3.17s
Emit Time 0.10s (± 4.15%) 0.09s (± 5.53%) 🟩-0.01s (- 5.08%) 0.09s 0.10s
Total Time 9.71s (± 0.38%) 9.68s (± 0.30%) -0.03s (- 0.27%) 9.65s 9.73s
Angular - node (v14.15.1, x64)
Memory used 352,857k (± 0.01%) 352,820k (± 0.00%) -37k (- 0.01%) 352,804k 352,850k
Parse Time 4.25s (± 0.66%) 4.25s (± 0.39%) -0.00s (- 0.08%) 4.23s 4.26s
Bind Time 1.28s (± 0.40%) 1.28s (± 0.32%) -0.00s (- 0.13%) 1.28s 1.29s
Check Time 9.73s (± 0.34%) 9.73s (± 0.68%) -0.00s (- 0.02%) 9.66s 9.84s
Emit Time 8.40s (± 0.68%) 8.40s (± 0.59%) -0.00s (- 0.02%) 8.32s 8.45s
Total Time 23.66s (± 0.29%) 23.65s (± 0.27%) -0.00s (- 0.01%) 23.56s 23.75s
Compiler-Unions - node (v14.15.1, x64)
Memory used 189,775k (± 0.74%) 189,705k (± 0.69%) -70k (- 0.04%) 189,098k 192,366k
Parse Time 1.86s (± 0.88%) 1.85s (± 0.84%) -0.01s (- 0.36%) 1.84s 1.88s
Bind Time 0.87s (± 0.60%) 0.86s (± 0.60%) -0.00s (- 0.38%) 0.86s 0.87s
Check Time 10.49s (± 0.31%) 10.40s (± 0.26%) -0.08s (- 0.76%) 10.36s 10.44s
Emit Time 3.33s (± 5.48%) 3.44s (± 4.11%) +0.10s (+ 3.15%) 3.15s 3.51s
Total Time 16.54s (± 0.95%) 16.56s (± 0.90%) +0.02s (+ 0.09%) 16.26s 16.68s
Monaco - node (v14.15.1, x64)
Memory used 338,031k (± 0.01%) 338,036k (± 0.00%) +5k (+ 0.00%) 338,019k 338,054k
Parse Time 3.27s (± 1.55%) 3.23s (± 0.65%) -0.04s (- 1.22%) 3.21s 3.27s
Bind Time 1.11s (± 0.75%) 1.11s (± 0.88%) -0.00s (- 0.30%) 1.10s 1.13s
Check Time 8.09s (± 0.29%) 8.07s (± 0.40%) -0.03s (- 0.31%) 8.03s 8.12s
Emit Time 4.78s (± 1.03%) 4.75s (± 0.26%) -0.02s (- 0.45%) 4.74s 4.77s
Total Time 17.26s (± 0.32%) 17.17s (± 0.31%) -0.09s (- 0.52%) 17.11s 17.25s
TFS - node (v14.15.1, x64)
Memory used 294,547k (± 0.01%) 294,549k (± 0.00%) +3k (+ 0.00%) 294,531k 294,563k
Parse Time 2.75s (± 0.75%) 2.77s (± 0.50%) +0.02s (+ 0.67%) 2.75s 2.79s
Bind Time 1.11s (± 0.37%) 1.11s (± 0.93%) -0.00s (- 0.15%) 1.09s 1.12s
Check Time 7.50s (± 0.40%) 7.47s (± 0.56%) -0.03s (- 0.44%) 7.41s 7.53s
Emit Time 4.60s (± 0.83%) 4.62s (± 1.51%) +0.01s (+ 0.25%) 4.53s 4.74s
Total Time 15.96s (± 0.34%) 15.96s (± 0.68%) -0.01s (- 0.04%) 15.85s 16.13s
material-ui - node (v14.15.1, x64)
Memory used 471,576k (± 0.00%) 471,570k (± 0.00%) -6k (- 0.00%) 471,561k 471,586k
Parse Time 3.95s (± 0.54%) 3.94s (± 0.60%) -0.01s (- 0.21%) 3.91s 3.98s
Bind Time 1.05s (± 0.93%) 1.04s (± 1.16%) -0.01s (- 0.79%) 1.03s 1.06s
Check Time 19.13s (± 0.93%) 19.03s (± 0.41%) -0.10s (- 0.54%) 18.93s 19.12s
Emit Time 0.00s (± 0.00%) 0.00s (± 0.00%) 0.00s ( NaN%) 0.00s 0.00s
Total Time 24.13s (± 0.79%) 24.01s (± 0.38%) -0.12s (- 0.49%) 23.91s 24.15s
xstate - node (v14.15.1, x64)
Memory used 534,448k (± 0.01%) 534,474k (± 0.01%) +25k (+ 0.00%) 534,368k 534,528k
Parse Time 5.19s (± 0.93%) 5.17s (± 0.76%) -0.03s (- 0.51%) 5.12s 5.22s
Bind Time 1.72s (± 0.77%) 1.72s (± 0.24%) +0.00s (+ 0.19%) 1.72s 1.73s
Check Time 3.10s (± 0.70%) 3.09s (± 0.49%) -0.01s (- 0.32%) 3.07s 3.11s
Emit Time 0.10s (± 0.00%) 0.10s (± 0.00%) 0.00s ( 0.00%) 0.10s 0.10s
Total Time 10.12s (± 0.63%) 10.08s (± 0.37%) -0.04s (- 0.40%) 10.04s 10.15s
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Angular - node (v18.10.0, x64)
  • Angular - node (v16.17.1, x64)
  • Angular - node (v14.15.1, x64)
  • Compiler-Unions - node (v18.10.0, x64)
  • Compiler-Unions - node (v16.17.1, x64)
  • Compiler-Unions - node (v14.15.1, x64)
  • Monaco - node (v18.10.0, x64)
  • Monaco - node (v16.17.1, x64)
  • Monaco - node (v14.15.1, x64)
  • TFS - node (v18.10.0, x64)
  • TFS - node (v16.17.1, x64)
  • TFS - node (v14.15.1, x64)
  • material-ui - node (v18.10.0, x64)
  • material-ui - node (v16.17.1, x64)
  • material-ui - node (v14.15.1, x64)
  • xstate - node (v18.10.0, x64)
  • xstate - node (v16.17.1, x64)
  • xstate - node (v14.15.1, x64)
Benchmark Name Iterations
Current 52546 6
Baseline main 6

TSServer

Comparison Report - main..52546
Metric main 52546 Delta Best Worst
Compiler-UnionsTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,545ms (± 2.30%) 2,510ms (± 1.24%) -36ms (- 1.39%) 2,476ms 2,555ms
Req 2 - geterr 5,530ms (± 0.35%) 5,506ms (± 0.38%) -24ms (- 0.43%) 5,488ms 5,545ms
Req 3 - references 366ms (± 1.79%) 368ms (± 1.28%) +2ms (+ 0.55%) 363ms 376ms
Req 4 - navto 285ms (± 0.63%) 285ms (± 0.82%) -1ms (- 0.18%) 280ms 286ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 66ms (± 2.96%) 67ms (± 3.71%) +1ms (+ 1.51%) 65ms 71ms
CompilerTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 2,753ms (± 1.17%) 2,741ms (± 1.26%) -12ms (- 0.44%) 2,710ms 2,785ms
Req 2 - geterr 4,074ms (± 0.52%) 4,048ms (± 0.55%) -26ms (- 0.63%) 4,030ms 4,079ms
Req 3 - references 370ms (± 0.44%) 368ms (± 0.75%) -2ms (- 0.41%) 365ms 372ms
Req 4 - navto 300ms (± 0.65%) 298ms (± 0.55%) -2ms (- 0.67%) 297ms 301ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 82ms (± 1.50%) 81ms (± 5.90%) -1ms (- 1.02%) 71ms 83ms
xstateTSServer - node (v18.10.0, x64)
Req 1 - updateOpen 3,514ms (± 0.57%) 3,485ms (± 0.43%) -29ms (- 0.82%) 3,457ms 3,502ms
Req 2 - geterr 1,425ms (± 1.24%) 1,417ms (± 2.15%) -7ms (- 0.51%) 1,365ms 1,453ms
Req 3 - references 103ms (± 1.46%) 104ms (± 1.92%) +1ms (+ 0.65%) 101ms 106ms
Req 4 - navto 360ms (± 1.84%) 356ms (± 0.68%) -4ms (- 1.16%) 353ms 359ms
Req 5 - completionInfo count 3,175 (± 0.00%) 3,175 (± 0.00%) 0 ( 0.00%) 3,175 3,175
Req 5 - completionInfo 471ms (± 1.51%) 471ms (± 1.34%) +1ms (+ 0.18%) 464ms 479ms
Compiler-UnionsTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,790ms (± 0.73%) 2,772ms (± 1.00%) -18ms (- 0.64%) 2,742ms 2,802ms
Req 2 - geterr 5,899ms (± 0.30%) 5,914ms (± 0.42%) +16ms (+ 0.27%) 5,896ms 5,961ms
Req 3 - references 383ms (± 1.33%) 377ms (± 1.27%) -6ms (- 1.53%) 372ms 384ms
Req 4 - navto 280ms (± 1.14%) 279ms (± 0.55%) -1ms (- 0.48%) 276ms 280ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 73ms (± 8.34%) 75ms (± 5.41%) +2ms (+ 2.29%) 70ms 80ms
CompilerTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 2,943ms (± 0.47%) 2,944ms (± 0.74%) +0ms (+ 0.01%) 2,927ms 2,984ms
Req 2 - geterr 4,421ms (± 0.65%) 4,401ms (± 0.61%) -20ms (- 0.44%) 4,368ms 4,441ms
Req 3 - references 383ms (± 1.14%) 380ms (± 0.67%) -3ms (- 0.78%) 376ms 383ms
Req 4 - navto 289ms (± 0.69%) 288ms (± 0.51%) -1ms (- 0.29%) 286ms 290ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 72ms (± 0.72%) 72ms (± 0.77%) -0ms (- 0.23%) 71ms 72ms
xstateTSServer - node (v16.17.1, x64)
Req 1 - updateOpen 3,653ms (± 0.29%) 3,629ms (± 0.31%) -24ms (- 0.65%) 3,616ms 3,647ms
Req 2 - geterr 1,567ms (± 0.68%) 1,564ms (± 0.48%) -3ms (- 0.21%) 1,555ms 1,574ms
Req 3 - references 110ms (± 1.06%) 112ms (± 1.04%) +2ms (+ 1.51%) 110ms 113ms
Req 4 - navto 344ms (± 1.16%) 342ms (± 1.22%) -2ms (- 0.58%) 337ms 348ms
Req 5 - completionInfo count 3,175 (± 0.00%) 3,175 (± 0.00%) 0 ( 0.00%) 3,175 3,175
Req 5 - completionInfo 477ms (± 1.05%) 482ms (± 1.25%) +5ms (+ 0.94%) 474ms 487ms
Compiler-UnionsTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 2,920ms (± 0.52%) 2,911ms (± 0.33%) -9ms (- 0.32%) 2,899ms 2,926ms
Req 2 - geterr 6,316ms (± 0.57%) 6,302ms (± 0.77%) -15ms (- 0.23%) 6,219ms 6,351ms
Req 3 - references 393ms (± 0.94%) 389ms (± 0.80%) -4ms (- 0.93%) 384ms 392ms
Req 4 - navto 284ms (± 1.31%) 283ms (± 0.74%) -1ms (- 0.18%) 281ms 287ms
Req 5 - completionInfo count 1,356 (± 0.00%) 1,356 (± 0.00%) 0 ( 0.00%) 1,356 1,356
Req 5 - completionInfo 86ms (± 9.26%) 87ms (± 4.45%) +1ms (+ 0.77%) 80ms 92ms
CompilerTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,093ms (± 0.84%) 3,089ms (± 1.16%) -4ms (- 0.13%) 3,065ms 3,161ms
Req 2 - geterr 4,680ms (± 0.32%) 4,688ms (± 0.39%) +8ms (+ 0.17%) 4,661ms 4,714ms
Req 3 - references 407ms (± 0.87%) 404ms (± 0.55%) -3ms (- 0.78%) 401ms 407ms
Req 4 - navto 294ms (± 0.59%) 293ms (± 0.68%) -1ms (- 0.45%) 290ms 296ms
Req 5 - completionInfo count 1,518 (± 0.00%) 1,518 (± 0.00%) 0 ( 0.00%) 1,518 1,518
Req 5 - completionInfo 82ms (± 3.25%) 83ms (± 4.52%) +2ms (+ 1.84%) 80ms 88ms
xstateTSServer - node (v14.15.1, x64)
Req 1 - updateOpen 3,991ms (± 0.31%) 3,977ms (± 0.73%) -14ms (- 0.35%) 3,942ms 4,015ms
Req 2 - geterr 1,526ms (± 1.20%) 1,521ms (± 1.47%) -5ms (- 0.31%) 1,503ms 1,564ms
Req 3 - references 135ms (± 2.17%) 133ms (± 1.89%) -3ms (- 1.97%) 129ms 136ms
Req 4 - navto 376ms (± 0.78%) 376ms (± 0.86%) +0ms (+ 0.09%) 372ms 381ms
Req 5 - completionInfo count 3,175 (± 0.00%) 3,175 (± 0.00%) 0 ( 0.00%) 3,175 3,175
Req 5 - completionInfo 510ms (± 1.99%) 504ms (± 2.23%) -6ms (- 1.24%) 486ms 515ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v18.10.0, x64)
  • node (v16.17.1, x64)
  • node (v14.15.1, x64)
Scenarios
  • Compiler-UnionsTSServer - node (v18.10.0, x64)
  • Compiler-UnionsTSServer - node (v16.17.1, x64)
  • Compiler-UnionsTSServer - node (v14.15.1, x64)
  • CompilerTSServer - node (v18.10.0, x64)
  • CompilerTSServer - node (v16.17.1, x64)
  • CompilerTSServer - node (v14.15.1, x64)
  • xstateTSServer - node (v18.10.0, x64)
  • xstateTSServer - node (v16.17.1, x64)
  • xstateTSServer - node (v14.15.1, x64)
Benchmark Name Iterations
Current 52546 6
Baseline main 6

Startup

Comparison Report - main..52546
Metric main 52546 Delta Best Worst
tsc-startup - node (v16.17.1, x64)
Execution time 142.71ms (± 0.22%) 142.56ms (± 0.19%) -0.15ms (- 0.11%) 141.89ms 145.51ms
tsserver-startup - node (v16.17.1, x64)
Execution time 228.15ms (± 0.31%) 227.12ms (± 0.15%) -1.02ms (- 0.45%) 226.16ms 229.99ms
tsserverlibrary-startup - node (v16.17.1, x64)
Execution time 231.83ms (± 0.42%) 229.28ms (± 0.18%) -2.55ms (- 1.10%) 228.13ms 236.17ms
typescript-startup - node (v16.17.1, x64)
Execution time 212.33ms (± 0.40%) 210.01ms (± 0.17%) -2.32ms (- 1.09%) 209.15ms 214.55ms
System
Machine Namets-ci-ubuntu
Platformlinux 5.4.0-135-generic
Architecturex64
Available Memory16 GB
Available Memory15 GB
CPUs4 × Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz
Hosts
  • node (v16.17.1, x64)
Scenarios
  • tsc-startup - node (v16.17.1, x64)
  • tsserver-startup - node (v16.17.1, x64)
  • tsserverlibrary-startup - node (v16.17.1, x64)
  • typescript-startup - node (v16.17.1, x64)
Benchmark Name Iterations
Current 52546 6
Baseline main 6

Developer Information:

Download Benchmark

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the top-repos suite comparing main and refs/pull/52546/merge:

Everything looks good!

@typescript-bot
Copy link
Collaborator

@jakebailey Here are the results of running the top-repos suite comparing main and refs/pull/52546/merge:

Something interesting changed - please have a look.

Details

nocodb/nocodb

⚠️ Note that built also had errors ⚠️
Req #7539 - completionInfo
    at getMembersOfSymbol (/typescript-main/built/local/tsserver.js:56572:19)
    at getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode (/typescript-main/built/local/tsserver.js:61344:11)
    at getTypeFromTypeNodeWorker (/typescript-main/built/local/tsserver.js:61712:16)
    at getTypeFromTypeNode (/typescript-main/built/local/tsserver.js:61638:41)
    at map (/typescript-main/built/local/tsserver.js:2603:19)
    at typeArgumentsFromTypeReferenceNode (/typescript-main/built/local/tsserver.js:59170:12)
    at getTypeFromClassOrInterfaceReference (/typescript-main/built/local/tsserver.js:58855:92)
    at getTypeReferenceType (/typescript-main/built/local/tsserver.js:58981:14)
    at getTypeFromTypeReference (/typescript-main/built/local/tsserver.js:59157:18)
    at getTypeParametersForTypeReference (/typescript-main/built/local/tsserver.js:78445:18)
    at getTypeArgumentConstraint (/typescript-main/built/local/tsserver.js:78489:28)
    at Object.getTypeArgumentConstraint (/typescript-main/built/local/tsserver.js:47190:22)
    at getConstraintOfTypeArgumentProperty (/typescript-main/built/local/tsserver.js:153110:20)
    at tryGetObjectTypeLiteralInTypeArgumentCompletionSymbols (/typescript-main/built/local/tsserver.js:152325:35)
    at tryGetGlobalSymbols (/typescript-main/built/local/tsserver.js:151968:20)
    at getCompletionData (/typescript-main/built/local/tsserver.js:151735:10)
    at Object.getCompletionsAtPosition (/typescript-main/built/local/tsserver.js:150022:26)
    at Object.getCompletionsAtPosition2 [as getCompletionsAtPosition] (/typescript-main/built/local/tsserver.js:137148:35)
    at IOSession.getCompletions (/typescript-main/built/local/tsserver.js:178398:54)
    at completionInfo (/typescript-main/built/local/tsserver.js:176809:43)
    at /typescript-main/built/local/tsserver.js:179162:69
    at IOSession.executeWithRequestId (/typescript-main/built/local/tsserver.js:179154:14)
    at IOSession.executeCommand (/typescript-main/built/local/tsserver.js:179162:29)
    at IOSession.onMessage (/typescript-main/built/local/tsserver.js:179204:51)
    at Interface.<anonymous> (/typescript-main/built/local/tsserver.js:180655:14)
Req #7539 - completionInfo
    at getMembersOfSymbol (/typescript-52546/built/local/tsserver.js:56572:19)
    at getTypeFromTypeLiteralOrFunctionOrConstructorTypeNode (/typescript-52546/built/local/tsserver.js:61344:11)
    at getTypeFromTypeNodeWorker (/typescript-52546/built/local/tsserver.js:61712:16)
    at getTypeFromTypeNode (/typescript-52546/built/local/tsserver.js:61638:41)
    at map (/typescript-52546/built/local/tsserver.js:2603:19)
    at typeArgumentsFromTypeReferenceNode (/typescript-52546/built/local/tsserver.js:59170:12)
    at getTypeFromClassOrInterfaceReference (/typescript-52546/built/local/tsserver.js:58855:92)
    at getTypeReferenceType (/typescript-52546/built/local/tsserver.js:58981:14)
    at getTypeFromTypeReference (/typescript-52546/built/local/tsserver.js:59157:18)
    at getTypeParametersForTypeReference (/typescript-52546/built/local/tsserver.js:78445:18)
    at getTypeArgumentConstraint (/typescript-52546/built/local/tsserver.js:78489:28)
    at Object.getTypeArgumentConstraint (/typescript-52546/built/local/tsserver.js:47190:22)
    at getConstraintOfTypeArgumentProperty (/typescript-52546/built/local/tsserver.js:153110:20)
    at tryGetObjectTypeLiteralInTypeArgumentCompletionSymbols (/typescript-52546/built/local/tsserver.js:152325:35)
    at tryGetGlobalSymbols (/typescript-52546/built/local/tsserver.js:151968:20)
    at getCompletionData (/typescript-52546/built/local/tsserver.js:151735:10)
    at Object.getCompletionsAtPosition (/typescript-52546/built/local/tsserver.js:150022:26)
    at Object.getCompletionsAtPosition2 [as getCompletionsAtPosition] (/typescript-52546/built/local/tsserver.js:137148:35)
    at IOSession.getCompletions (/typescript-52546/built/local/tsserver.js:178398:54)
    at completionInfo (/typescript-52546/built/local/tsserver.js:176809:43)
    at /typescript-52546/built/local/tsserver.js:179162:69
    at IOSession.executeWithRequestId (/typescript-52546/built/local/tsserver.js:179154:14)
    at IOSession.executeCommand (/typescript-52546/built/local/tsserver.js:179162:29)
    at IOSession.onMessage (/typescript-52546/built/local/tsserver.js:179204:51)
    at Interface.<anonymous> (/typescript-52546/built/local/tsserver.js:180655:14)

That is a filtered view of the text. To see the raw error text, go to RepoResults2/nocodb.nocodb.rawError.txt in the artifact folder

Last few requests

{"seq":7536,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/packages/nocodb/src/lib/db/sql-client/lib/snowflake/SnowflakeClient.ts","line":57,"offset":25,"entryNames":["_"]}}
{"seq":7537,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/packages/nocodb/src/lib/db/sql-client/lib/snowflake/SnowflakeClient.ts","line":72,"offset":13,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":2,"triggerCharacter":"."}}
{"seq":7538,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/packages/nocodb/src/lib/db/sql-client/lib/snowflake/SnowflakeClient.ts","line":82,"offset":6}}
{"seq":7539,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/packages/nocodb/src/lib/db/sql-client/lib/snowflake/SnowflakeClient.ts","line":82,"offset":36,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":1}}

Repro Steps

  1. git clone https://github.com/nocodb/nocodb --recurse-submodules
  2. In dir nocodb, run git reset --hard 2359cb04427a26c312127370110e0bb18957b1e3
  3. Back in the initial folder, download RepoResults2/nocodb.nocodb.replay.txt from the artifact folder
  4. npm install --no-save @typescript/server-replay
  5. npx tsreplay ./nocodb ./nocodb.nocodb.replay.txt path/to/tsserver.js
  6. npx tsreplay --help to learn about helpful switches for debugging, logging, etc

palantir/blueprint

⚠️ Note that built also had errors ⚠️
Req #19156 - references
    at getContextualTypeForArgument (/typescript-main/built/local/tsserver.js:70373:40)
    at getContextualType2 (/typescript-main/built/local/tsserver.js:70817:16)
    at getApparentTypeOfContextualType (/typescript-main/built/local/tsserver.js:70753:120)
    at getContextualType2 (/typescript-main/built/local/tsserver.js:70832:22)
    at getApparentTypeOfContextualType (/typescript-main/built/local/tsserver.js:70753:120)
    at getContextualSignature (/typescript-main/built/local/tsserver.js:71120:18)
    at getNarrowedTypeOfSymbol (/typescript-main/built/local/tsserver.js:69569:39)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69661:16)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-main/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-main/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-main/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-main/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-main/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-main/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-main/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-main/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-main/built/local/tsserver.js:68272:22)
Req #19156 - references
    at checkIdentifier (/typescript-52546/built/local/tsserver.js:69693:34)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-52546/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-52546/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-52546/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-52546/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-52546/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-52546/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-52546/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-52546/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-52546/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-52546/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-52546/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-52546/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-52546/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-52546/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-52546/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-52546/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-52546/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-52546/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-52546/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-52546/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-52546/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-52546/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-52546/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-52546/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-52546/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-52546/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-52546/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-52546/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-52546/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-52546/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-52546/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-52546/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-52546/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-52546/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-52546/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-52546/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-52546/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-52546/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-52546/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-52546/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-52546/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-52546/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at checkPropertyAccessExpression (/typescript-52546/built/local/tsserver.js:72275:162)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77798:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)
    at getEffectsSignature (/typescript-52546/built/local/tsserver.js:68272:22)
    at getTypeAtFlowCall (/typescript-52546/built/local/tsserver.js:68611:25)
    at getTypeAtFlowNode (/typescript-52546/built/local/tsserver.js:68497:18)
    at getFlowTypeOfReference (/typescript-52546/built/local/tsserver.js:68454:45)
    at checkIdentifier (/typescript-52546/built/local/tsserver.js:69703:22)
    at checkExpressionWorker (/typescript-52546/built/local/tsserver.js:77764:16)
    at checkExpression (/typescript-52546/built/local/tsserver.js:77718:32)
    at checkNonNullExpression (/typescript-52546/built/local/tsserver.js:72196:29)

That is a filtered view of the text. To see the raw error text, go to RepoResults4/palantir.blueprint.rawError.txt in the artifact folder

Last few requests

{"seq":19153,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/2/docs-app.js","line":1,"offset":273373,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":2,"triggerCharacter":" "}}
{"seq":19154,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/2/docs-app.js","line":1,"offset":273445,"includeExternalModuleExports":false,"includeInsertTextCompletions":true,"triggerKind":1}}
{"seq":19155,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/2/docs-app.js","line":1,"offset":273461}}
{"seq":19156,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/site/docs/versions/2/docs-app.js","line":1,"offset":274018}}

Repro Steps

  1. git clone https://github.com/palantir/blueprint --recurse-submodules
  2. In dir blueprint, run git reset --hard 61a0ef8184c28963d8c56caf23edcfd0a1163b93
  3. In dir blueprint, run yarn install --ignore-engines --ignore-scripts --silent
  4. Back in the initial folder, download RepoResults4/palantir.blueprint.replay.txt from the artifact folder
  5. npm install --no-save @typescript/server-replay
  6. npx tsreplay ./blueprint ./palantir.blueprint.replay.txt path/to/tsserver.js
  7. npx tsreplay --help to learn about helpful switches for debugging, logging, etc

@ahejlsberg ahejlsberg merged commit c72d929 into microsoft:main Feb 1, 2023
@Andarist Andarist deleted the fix/52475 branch February 4, 2023 20:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
For Backlog Bug PRs that fix a backlog bug
Projects
None yet
Development

Successfully merging this pull request may close these issues.

await Promise.all fails to resolve due to optional chaining in JSX
4 participants