microsoft / TypeScript

TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
https://www.typescriptlang.org
Apache License 2.0
101.27k stars 12.52k forks source link

[ServerErrors][JavaScript] 5.7.0-dev.20241020 vs 5.6.3 #60293

Closed typescript-bot closed 4 weeks ago

typescript-bot commented 1 month ago

The following errors were reported by 5.7.0-dev.20241020 vs 5.6.3 Pipeline that generated this bug Logs for the pipeline run File that generated the pipeline

This run considered 300 popular TS repos from GH (after skipping the top 0).

Successfully analyzed 289 of 300 visited repos | Outcome | Count | |---------|-------| | Detected interesting changes | 4 | | Detected no interesting changes | 285 | | Git clone failed | 2 | | Unknown failure | 9 |

Investigation Status

Repo Errors Outcome
typescript-bot commented 1 month ago

Server exited prematurely with code unknown and signal SIGABRT

Server exited prematurely with code unknown and signal SIGABRT

Affected repos

tastejs/todomvc Raw error text: RepoResults3/tastejs.todomvc.rawError.txt in the artifact folder
Replay commands: RepoResults3/tastejs.todomvc.replay.txt in the artifact folder

Last few requests

```json {"seq":22099,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":16137,"offset":1,"entryNames":["$"]}} {"seq":22100,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":16142,"offset":10,"includeExternalModuleExports":false,"triggerKind":1}} {"seq":22101,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":16180,"offset":14,"includeExternalModuleExports":false,"triggerKind":1}} {"seq":22102,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":16180,"offset":58,"includeExternalModuleExports":false,"triggerKind":1}} ```

Repro steps

```bash #!/bin/bash git clone https://github.com/tastejs/todomvc --recurse-submodules git -C "./todomvc" reset --hard 6b217afbf549c7fbb138e6bad3d40309cc000ae8 # Install packages (exact steps are below, but it might be easier to follow the repo readme) npm --prefix "./todomvc" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/tooling" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/tests" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/tasks" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/web-components" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/vue" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/typescript-react" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/typescript-backbone" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/typescript-angular" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/svelte" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/riotjs" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/reagent" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/react-redux" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/react" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/ractive" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/preact" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/polymer" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/mithril" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/lit" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/lavaca_require" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/knockoutjs_require" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/knockoutjs" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/knockback" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/jsblocks" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/js_of_ocaml" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/jquery" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/javascript-es6" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/javascript-es5" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/gwt" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/exoskeleton" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/enyo_backbone" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q pnpm --dir "./todomvc/examples/emberjs/todomvc" install --no-frozen-lockfile --prefer-offline --ignore-scripts --reporter=silent npm --prefix "./todomvc/examples/elm" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/duel" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/dojo" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/dijon" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/cujo" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/closure" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/canjs_require" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/canjs" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/binding-scala" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/backbone_require" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/backbone_marionette" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/backbone" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/aurelia" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/angularjs_require" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/angularjs_require/test" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/angular-dart" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/examples/angular" ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/bower_components/webcomponentsjs" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./todomvc/bower_components/bootstrap" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/163956/artifacts?artifactName=RepoResults3&api-version=7.0" | jq -r ".resource.downloadUrl") wget -O RepoResults3.zip "$downloadUrl" unzip -p RepoResults3.zip RepoResults3/tastejs.todomvc.replay.txt > tastejs.todomvc.replay.txt npm install --no-save @typescript/server-replay ``` To run the repro: ```bash # `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc. npx tsreplay ./todomvc ./tastejs.todomvc.replay.txt ```
typescript-bot commented 1 month ago

Error: Debug Failure. Did not expect ObjectLiteralExpression to have an Identifier in its trivia

Req #6090 - references
    at addSyntheticNodes (/typescript-5.7.0-dev.20241020/lib/typescript.js:150453:15)
    at createSyntaxList (/typescript-5.7.0-dev.20241020/lib/typescript.js:150468:5)
    at processNodes (/typescript-5.7.0-dev.20241020/lib/typescript.js:150433:19)
    at visitNodes (/typescript-5.7.0-dev.20241020/lib/typescript.js:32130:14)
    at forEachChildInObjectLiteralExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:32282:12)
    at forEachChild (/typescript-5.7.0-dev.20241020/lib/typescript.js:32646:35)
    at NodeObject.forEachChild (/typescript-5.7.0-dev.20241020/lib/typescript.js:150413:12)
    at createChildren (/typescript-5.7.0-dev.20241020/lib/typescript.js:150438:8)
    at NodeObject.getChildren (/typescript-5.7.0-dev.20241020/lib/typescript.js:150392:83)
    at getTokenAtPositionWorker (/typescript-5.7.0-dev.20241020/lib/typescript.js:138675:32)
    at getTouchingToken (/typescript-5.7.0-dev.20241020/lib/typescript.js:138648:10)
    at getTouchingPropertyName (/typescript-5.7.0-dev.20241020/lib/typescript.js:138645:10)
    at /typescript-5.7.0-dev.20241020/lib/typescript.js:171867:33
    at mapDefined (/typescript-5.7.0-dev.20241020/lib/typescript.js:2598:22)
    at getPossibleSymbolReferenceNodes (/typescript-5.7.0-dev.20241020/lib/typescript.js:171866:12)
    at /typescript-5.7.0-dev.20241020/lib/typescript.js:172393:25
    at flatMap (/typescript-5.7.0-dev.20241020/lib/typescript.js:2528:17)
    at getReferencesForStringLiteral (/typescript-5.7.0-dev.20241020/lib/typescript.js:172391:24)
    at Object.getReferencedSymbolsForNode (/typescript-5.7.0-dev.20241020/lib/typescript.js:171271:16)
    at Object.findReferencedSymbols (/typescript-5.7.0-dev.20241020/lib/typescript.js:170875:34)
    at Object.findReferences (/typescript-5.7.0-dev.20241020/lib/typescript.js:151839:41)
    at /typescript-5.7.0-dev.20241020/lib/typescript.js:191915:43
    at searchPosition (/typescript-5.7.0-dev.20241020/lib/typescript.js:192056:28)
    at getPerProjectReferences (/typescript-5.7.0-dev.20241020/lib/typescript.js:192035:32)
    at getReferencesWorker (/typescript-5.7.0-dev.20241020/lib/typescript.js:191902:29)
    at IOSession.getReferences (/typescript-5.7.0-dev.20241020/lib/typescript.js:193937:24)
    at references (/typescript-5.7.0-dev.20241020/lib/typescript.js:192345:43)
    at /typescript-5.7.0-dev.20241020/lib/typescript.js:194966:15
    at IOSession.executeWithRequestId (/typescript-5.7.0-dev.20241020/lib/typescript.js:194955:14)
    at IOSession.executeCommand (/typescript-5.7.0-dev.20241020/lib/typescript.js:194964:29)
    at IOSession.onMessage (/typescript-5.7.0-dev.20241020/lib/typescript.js:195012:68)
    at Interface.<anonymous> (/typescript-5.7.0-dev.20241020/lib/_tsserver.js:501:14)

Affected repos

HumanSignal/label-studio Raw error text: RepoResults7/HumanSignal.label-studio.rawError.txt in the artifact folder
Replay commands: RepoResults7/HumanSignal.label-studio.replay.txt in the artifact folder

Last few requests

```json {"seq":6087,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/web/dist/apps/labelstudio/492.js","line":2,"offset":106088,"includeExternalModuleExports":false,"triggerKind":1}} {"seq":6088,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/web/dist/apps/labelstudio/492.js","line":2,"offset":106088,"entryNames":["a"]}} {"seq":6089,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/web/dist/apps/labelstudio/492.js","line":2,"offset":108224}} {"seq":6090,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/web/dist/apps/labelstudio/492.js","line":2,"offset":108224}} ```

Repro steps

```bash #!/bin/bash git clone https://github.com/HumanSignal/label-studio --recurse-submodules git -C "./label-studio" reset --hard 2ae2d5e7b6e85af5e53dc842646b28e1c555946f # Install packages (exact steps are below, but it might be easier to follow the repo readme) yarn --cwd "./label-studio/web" install --ignore-engines --ignore-scripts --silent yarn --cwd "./label-studio/web/tools/version" install --ignore-engines --ignore-scripts --silent npm --prefix "./label-studio/web/libs/ui" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./label-studio/web/libs/frontend-test/src/bin/assets" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./label-studio/web/libs/editor" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q yarn --cwd "./label-studio/web/libs/editor/tests/e2e" install --ignore-engines --ignore-scripts --silent npm --prefix "./label-studio/web/libs/datamanager" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q yarn --cwd "./label-studio/docs" install --ignore-engines --ignore-scripts --silent downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/163956/artifacts?artifactName=RepoResults7&api-version=7.0" | jq -r ".resource.downloadUrl") wget -O RepoResults7.zip "$downloadUrl" unzip -p RepoResults7.zip RepoResults7/HumanSignal.label-studio.replay.txt > HumanSignal.label-studio.replay.txt npm install --no-save @typescript/server-replay ``` To run the repro: ```bash # `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc. npx tsreplay ./label-studio ./HumanSignal.label-studio.replay.txt ```
typescript-bot commented 1 month ago

RangeError: Maximum call stack size exceeded

Req #1385 - references
    at getFirstJSDocTag (/typescript-5.7.0-dev.20241020/lib/typescript.js:15196:26)
    at getJSDocThisTag (/typescript-5.7.0-dev.20241020/lib/typescript.js:15132:10)
    at tryGetThisParameterDeclaration (/typescript-5.7.0-dev.20241020/lib/typescript.js:56402:25)
    at signatureToSignatureDeclarationHelper (/typescript-5.7.0-dev.20241020/lib/typescript.js:56118:89)
    at addPropertyToElementList (/typescript-5.7.0-dev.20241020/lib/typescript.js:55944:37)
    at createTypeNodesFromResolvedType (/typescript-5.7.0-dev.20241020/lib/typescript.js:55855:11)
    at createTypeNodeFromObjectType (/typescript-5.7.0-dev.20241020/lib/typescript.js:55622:25)
    at visitAndTransformType (/typescript-5.7.0-dev.20241020/lib/typescript.js:55545:24)
    at createAnonymousTypeNode (/typescript-5.7.0-dev.20241020/lib/typescript.js:55485:20)
    at typeToTypeNodeWorker (/typescript-5.7.0-dev.20241020/lib/typescript.js:55278:16)
    at typeToTypeNodeHelper (/typescript-5.7.0-dev.20241020/lib/typescript.js:55059:24)
    at /typescript-5.7.0-dev.20241020/lib/typescript.js:54927:165
    at withContext2 (/typescript-5.7.0-dev.20241020/lib/typescript.js:55025:29)
    at Object.typeToTypeNode (/typescript-5.7.0-dev.20241020/lib/typescript.js:54927:86)
    at typeToString (/typescript-5.7.0-dev.20241020/lib/typescript.js:54690:34)
    at reportNonexistentProperty (/typescript-5.7.0-dev.20241020/lib/typescript.js:78668:27)
    at checkPropertyAccessExpressionOrQualifiedName (/typescript-5.7.0-dev.20241020/lib/typescript.js:78496:11)
    at checkPropertyAccessExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:78277:94)
    at checkExpressionWorker (/typescript-5.7.0-dev.20241020/lib/typescript.js:84253:16)
    at checkExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:84163:32)
    at checkExpressionForMutableLocation (/typescript-5.7.0-dev.20241020/lib/typescript.js:83922:18)
    at checkPropertyAssignment (/typescript-5.7.0-dev.20241020/lib/typescript.js:83938:12)
    at checkObjectLiteral (/typescript-5.7.0-dev.20241020/lib/typescript.js:77379:71)
    at checkExpressionWorker (/typescript-5.7.0-dev.20241020/lib/typescript.js:84251:16)
    at checkExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:84163:32)
    at getTypeOfExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:84104:18)
    at getRegularTypeOfExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:90737:40)
    at Object.serializeTypeOfExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:54791:53)
    at inferExpressionType (/typescript-5.7.0-dev.20241020/lib/typescript.js:136744:21)
    at typeFromObjectLiteral (/typescript-5.7.0-dev.20241020/lib/typescript.js:136961:30)
    at typeFromExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:136825:16)
    at typeFromSingleReturnExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:137218:16)
    at createReturnFromSignature (/typescript-5.7.0-dev.20241020/lib/typescript.js:137184:20)
    at Object.serializeReturnTypeForSignature (/typescript-5.7.0-dev.20241020/lib/typescript.js:136604:16)
    at serializeReturnTypeForSignature (/typescript-5.7.0-dev.20241020/lib/typescript.js:57104:49)
    at signatureToSignatureDeclarationHelper (/typescript-5.7.0-dev.20241020/lib/typescript.js:56123:30)
    at addPropertyToElementList (/typescript-5.7.0-dev.20241020/lib/typescript.js:55944:37)
    at createTypeNodesFromResolvedType (/typescript-5.7.0-dev.20241020/lib/typescript.js:55852:13)
    at createTypeNodeFromObjectType (/typescript-5.7.0-dev.20241020/lib/typescript.js:55622:25)
    at visitAndTransformType (/typescript-5.7.0-dev.20241020/lib/typescript.js:55545:24)
    at createAnonymousTypeNode (/typescript-5.7.0-dev.20241020/lib/typescript.js:55485:20)
    at typeToTypeNodeWorker (/typescript-5.7.0-dev.20241020/lib/typescript.js:55278:16)
    at typeToTypeNodeHelper (/typescript-5.7.0-dev.20241020/lib/typescript.js:55059:24)
    at /typescript-5.7.0-dev.20241020/lib/typescript.js:54927:165
    at withContext2 (/typescript-5.7.0-dev.20241020/lib/typescript.js:55025:29)
    at Object.typeToTypeNode (/typescript-5.7.0-dev.20241020/lib/typescript.js:54927:86)
    at typeToString (/typescript-5.7.0-dev.20241020/lib/typescript.js:54690:34)
    at reportNonexistentProperty (/typescript-5.7.0-dev.20241020/lib/typescript.js:78668:27)
    at checkPropertyAccessExpressionOrQualifiedName (/typescript-5.7.0-dev.20241020/lib/typescript.js:78496:11)
    at checkPropertyAccessExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:78277:94)
    at checkExpressionWorker (/typescript-5.7.0-dev.20241020/lib/typescript.js:84253:16)
    at checkExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:84163:32)
    at checkExpressionForMutableLocation (/typescript-5.7.0-dev.20241020/lib/typescript.js:83922:18)
    at checkPropertyAssignment (/typescript-5.7.0-dev.20241020/lib/typescript.js:83938:12)
    at checkObjectLiteral (/typescript-5.7.0-dev.20241020/lib/typescript.js:77379:71)
    at checkExpressionWorker (/typescript-5.7.0-dev.20241020/lib/typescript.js:84251:16)
    at checkExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:84163:32)
    at getTypeOfExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:84104:18)
    at getRegularTypeOfExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:90737:40)
    at Object.serializeTypeOfExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:54791:53)
    at inferExpressionType (/typescript-5.7.0-dev.20241020/lib/typescript.js:136744:21)
    at typeFromObjectLiteral (/typescript-5.7.0-dev.20241020/lib/typescript.js:136961:30)
    at typeFromExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:136825:16)
    at typeFromSingleReturnExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:137218:16)
    at createReturnFromSignature (/typescript-5.7.0-dev.20241020/lib/typescript.js:137184:20)
    at Object.serializeReturnTypeForSignature (/typescript-5.7.0-dev.20241020/lib/typescript.js:136604:16)
    at serializeReturnTypeForSignature (/typescript-5.7.0-dev.20241020/lib/typescript.js:57104:49)
    at signatureToSignatureDeclarationHelper (/typescript-5.7.0-dev.20241020/lib/typescript.js:56123:30)
    at addPropertyToElementList (/typescript-5.7.0-dev.20241020/lib/typescript.js:55944:37)
    at createTypeNodesFromResolvedType (/typescript-5.7.0-dev.20241020/lib/typescript.js:55852:13)
    at createTypeNodeFromObjectType (/typescript-5.7.0-dev.20241020/lib/typescript.js:55622:25)
    at visitAndTransformType (/typescript-5.7.0-dev.20241020/lib/typescript.js:55545:24)
    at createAnonymousTypeNode (/typescript-5.7.0-dev.20241020/lib/typescript.js:55485:20)
    at typeToTypeNodeWorker (/typescript-5.7.0-dev.20241020/lib/typescript.js:55278:16)
    at typeToTypeNodeHelper (/typescript-5.7.0-dev.20241020/lib/typescript.js:55059:24)
    at /typescript-5.7.0-dev.20241020/lib/typescript.js:54927:165
    at withContext2 (/typescript-5.7.0-dev.20241020/lib/typescript.js:55025:29)
    at Object.typeToTypeNode (/typescript-5.7.0-dev.20241020/lib/typescript.js:54927:86)
    at typeToString (/typescript-5.7.0-dev.20241020/lib/typescript.js:54690:34)
    at reportNonexistentProperty (/typescript-5.7.0-dev.20241020/lib/typescript.js:78668:27)
    at checkPropertyAccessExpressionOrQualifiedName (/typescript-5.7.0-dev.20241020/lib/typescript.js:78496:11)
    at checkPropertyAccessExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:78277:94)
    at checkExpressionWorker (/typescript-5.7.0-dev.20241020/lib/typescript.js:84253:16)
    at checkExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:84163:32)
    at checkExpressionForMutableLocation (/typescript-5.7.0-dev.20241020/lib/typescript.js:83922:18)
    at checkPropertyAssignment (/typescript-5.7.0-dev.20241020/lib/typescript.js:83938:12)
    at checkObjectLiteral (/typescript-5.7.0-dev.20241020/lib/typescript.js:77379:71)
    at checkExpressionWorker (/typescript-5.7.0-dev.20241020/lib/typescript.js:84251:16)
    at checkExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:84163:32)
    at getTypeOfExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:84104:18)
    at getRegularTypeOfExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:90737:40)
    at Object.serializeTypeOfExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:54791:53)
    at inferExpressionType (/typescript-5.7.0-dev.20241020/lib/typescript.js:136744:21)
    at typeFromObjectLiteral (/typescript-5.7.0-dev.20241020/lib/typescript.js:136961:30)
    at typeFromExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:136825:16)
    at typeFromSingleReturnExpression (/typescript-5.7.0-dev.20241020/lib/typescript.js:137218:16)
    at createReturnFromSignature (/typescript-5.7.0-dev.20241020/lib/typescript.js:137184:20)
    at Object.serializeReturnTypeForSignature (/typescript-5.7.0-dev.20241020/lib/typescript.js:136604:16)
    at serializeReturnTypeForSignature (/typescript-5.7.0-dev.20241020/lib/typescript.js:57104:49)
    at signatureToSignatureDeclarationHelper (/typescript-5.7.0-dev.20241020/lib/typescript.js:56123:30)

Affected repos

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

Last few requests

```json {"seq":1382,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/packages/less/dist/less.js","line":3917,"offset":39}} {"seq":1383,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/packages/less/dist/less.js","line":3932,"offset":24}} {"seq":1384,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/packages/less/dist/less.js","line":3932,"offset":24}} {"seq":1385,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/packages/less/dist/less.js","line":3936,"offset":56}} ```

Repro steps

```bash #!/bin/bash git clone https://github.com/less/less.js --recurse-submodules git -C "./less.js" reset --hard 09b8f5cf4d9218799a70be5179251200296a0560 downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/163956/artifacts?artifactName=RepoResults8&api-version=7.0" | jq -r ".resource.downloadUrl") wget -O RepoResults8.zip "$downloadUrl" unzip -p RepoResults8.zip RepoResults8/less.less.js.replay.txt > less.less.js.replay.txt npm install --no-save @typescript/server-replay ``` To run the repro: ```bash # `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc. npx tsreplay ./less.js ./less.less.js.replay.txt ```
typescript-bot commented 1 month ago

Error: Debug Failure. False expression.

Req #4971 - completionInfo
    at Object.addImportFromExportedSymbol (/typescript-5.7.0-dev.20241020/lib/typescript.js:156862:13)
    at /typescript-5.7.0-dev.20241020/lib/typescript.js:164087:38
    at importSymbols (/typescript-5.7.0-dev.20241020/lib/typescript.js:164087:11)
    at Object.addNewNodeForMemberSymbol (/typescript-5.7.0-dev.20241020/lib/typescript.js:163438:11)
    at getEntryForMemberCompletion (/typescript-5.7.0-dev.20241020/lib/typescript.js:166357:22)
    at createCompletionEntry (/typescript-5.7.0-dev.20241020/lib/typescript.js:166197:35)
    at getCompletionEntriesFromSymbols (/typescript-5.7.0-dev.20241020/lib/typescript.js:166840:19)
    at completionInfoFromData (/typescript-5.7.0-dev.20241020/lib/typescript.js:165830:23)
    at Object.getCompletionsAtPosition (/typescript-5.7.0-dev.20241020/lib/typescript.js:165363:24)
    at Object.getCompletionsAtPosition2 [as getCompletionsAtPosition] (/typescript-5.7.0-dev.20241020/lib/typescript.js:151662:35)
    at IOSession.getCompletions (/typescript-5.7.0-dev.20241020/lib/typescript.js:194190:54)
    at completionInfo (/typescript-5.7.0-dev.20241020/lib/typescript.js:192464:43)
    at /typescript-5.7.0-dev.20241020/lib/typescript.js:194966:15
    at IOSession.executeWithRequestId (/typescript-5.7.0-dev.20241020/lib/typescript.js:194955:14)
    at IOSession.executeCommand (/typescript-5.7.0-dev.20241020/lib/typescript.js:194964:29)
    at IOSession.onMessage (/typescript-5.7.0-dev.20241020/lib/typescript.js:195012:68)
    at Interface.<anonymous> (/typescript-5.7.0-dev.20241020/lib/_tsserver.js:501:14)

Affected repos

eggjs/egg Raw error text: RepoResults7/eggjs.egg.rawError.txt in the artifact folder
Replay commands: RepoResults7/eggjs.egg.replay.txt in the artifact folder

Last few requests

```json {"seq":4968,"type":"request","command":"updateOpen","arguments":{"changedFiles":[{"fileName":"@PROJECT_ROOT@/test/fixtures/apps/app-ts/app/controller/foo.ts","textChanges":[{"newText":" //comment","start":{"line":1,"offset":43},"end":{"line":1,"offset":43}}]}],"closedFiles":[],"openFiles":[]}} {"seq":4969,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/test/fixtures/apps/app-ts/app/controller/foo.ts","line":37,"offset":17,"includeExternalModuleExports":false,"triggerKind":1}} {"seq":4970,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/test/fixtures/apps/app-ts/app/controller/foo.ts","line":37,"offset":17,"entryNames":["arguments"]}} {"seq":4971,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/test/fixtures/apps/app-ts/app/controller/foo.ts","line":41,"offset":1,"includeExternalModuleExports":false,"triggerKind":1}} ```

Repro steps

```bash #!/bin/bash git clone https://github.com/eggjs/egg --recurse-submodules git -C "./egg" reset --hard ce4fd67278e008a0f58beff8db5c0f770f3eadc7 # Install packages (exact steps are below, but it might be easier to follow the repo readme) npm --prefix "./egg" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./egg/test/bench/hello" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/163956/artifacts?artifactName=RepoResults7&api-version=7.0" | jq -r ".resource.downloadUrl") wget -O RepoResults7.zip "$downloadUrl" unzip -p RepoResults7.zip RepoResults7/eggjs.egg.replay.txt > eggjs.egg.replay.txt npm install --no-save @typescript/server-replay ``` To run the repro: ```bash # `npx tsreplay --help` to learn about helpful switches for debugging, logging, etc. npx tsreplay ./egg ./eggjs.egg.replay.txt ```