microsoft / TypeScript

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

[ServerErrors][JavaScript] 5.7.0-dev.20240915 vs 5.6.2 #59976

Closed typescript-bot closed 1 month ago

typescript-bot commented 1 month ago

The following errors were reported by 5.7.0-dev.20240915 vs 5.6.2 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 287 of 300 visited repos | Outcome | Count | |---------|-------| | Detected interesting changes | 3 | | Detected no interesting changes | 284 | | Git clone failed | 2 | | Unknown failure | 11 |

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":22425,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":17489,"offset":75}} {"seq":22426,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":17489,"offset":80}} {"seq":22427,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":17489,"offset":80}} {"seq":22428,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":17489,"offset":80,"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/163572/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 #1987 - references
    at addSyntheticNodes (/typescript-5.7.0-dev.20240915/lib/typescript.js:149456:15)
    at createSyntaxList (/typescript-5.7.0-dev.20240915/lib/typescript.js:149471:5)
    at processNodes (/typescript-5.7.0-dev.20240915/lib/typescript.js:149436:19)
    at visitNodes (/typescript-5.7.0-dev.20240915/lib/typescript.js:31965:14)
    at forEachChildInObjectLiteralExpression (/typescript-5.7.0-dev.20240915/lib/typescript.js:32117:12)
    at forEachChild (/typescript-5.7.0-dev.20240915/lib/typescript.js:32481:35)
    at NodeObject.forEachChild (/typescript-5.7.0-dev.20240915/lib/typescript.js:149416:12)
    at createChildren (/typescript-5.7.0-dev.20240915/lib/typescript.js:149441:8)
    at NodeObject.getChildren (/typescript-5.7.0-dev.20240915/lib/typescript.js:149395:83)
    at getTokenAtPositionWorker (/typescript-5.7.0-dev.20240915/lib/typescript.js:137684:32)
    at getTouchingToken (/typescript-5.7.0-dev.20240915/lib/typescript.js:137657:10)
    at getTouchingPropertyName (/typescript-5.7.0-dev.20240915/lib/typescript.js:137654:10)
    at /typescript-5.7.0-dev.20240915/lib/typescript.js:170790:33
    at mapDefined (/typescript-5.7.0-dev.20240915/lib/typescript.js:2590:22)
    at getPossibleSymbolReferenceNodes (/typescript-5.7.0-dev.20240915/lib/typescript.js:170789:12)
    at /typescript-5.7.0-dev.20240915/lib/typescript.js:171316:25
    at flatMap (/typescript-5.7.0-dev.20240915/lib/typescript.js:2520:17)
    at getReferencesForStringLiteral (/typescript-5.7.0-dev.20240915/lib/typescript.js:171314:24)
    at Object.getReferencedSymbolsForNode (/typescript-5.7.0-dev.20240915/lib/typescript.js:170194:16)
    at Object.findReferencedSymbols (/typescript-5.7.0-dev.20240915/lib/typescript.js:169798:34)
    at Object.findReferences (/typescript-5.7.0-dev.20240915/lib/typescript.js:150828:41)
    at /typescript-5.7.0-dev.20240915/lib/typescript.js:190509:43
    at searchPosition (/typescript-5.7.0-dev.20240915/lib/typescript.js:190651:28)
    at getPerProjectReferences (/typescript-5.7.0-dev.20240915/lib/typescript.js:190630:32)
    at getReferencesWorker (/typescript-5.7.0-dev.20240915/lib/typescript.js:190501:29)
    at IOSession.getReferences (/typescript-5.7.0-dev.20240915/lib/typescript.js:192485:24)
    at references (/typescript-5.7.0-dev.20240915/lib/typescript.js:190934:43)
    at /typescript-5.7.0-dev.20240915/lib/typescript.js:193504:15
    at IOSession.executeWithRequestId (/typescript-5.7.0-dev.20240915/lib/typescript.js:193493:14)
    at IOSession.executeCommand (/typescript-5.7.0-dev.20240915/lib/typescript.js:193502:29)
    at IOSession.onMessage (/typescript-5.7.0-dev.20240915/lib/typescript.js:193550:68)
    at Interface.<anonymous> (/typescript-5.7.0-dev.20240915/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":1984,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/web/dist/libs/editor/main.js","line":2,"offset":799627,"includeExternalModuleExports":false,"triggerKind":1}} {"seq":1985,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/web/dist/libs/editor/main.js","line":2,"offset":799627,"entryNames":["_escapedSubpath"]}} {"seq":1986,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/web/dist/libs/editor/main.js","line":2,"offset":800398,"includeExternalModuleExports":false,"triggerKind":2,"triggerCharacter":"."}} {"seq":1987,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/web/dist/libs/editor/main.js","line":2,"offset":802403}} ```

Repro steps

```bash #!/bin/bash git clone https://github.com/HumanSignal/label-studio --recurse-submodules git -C "./label-studio" reset --hard 6f96863c1d585c7a2c9e16939cbe9b7a60752283 downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/163572/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

TypeError: Cannot read properties of undefined (reading 'sourceFile')

Req #334 - updateOpen
    at isDocumentRegistryEntry (/typescript-5.7.0-dev.20240915/lib/typescript.js:141396:18)
    at getDocumentRegistryEntry (/typescript-5.7.0-dev.20240915/lib/typescript.js:141472:19)
    at Object.releaseDocumentWithKey (/typescript-5.7.0-dev.20240915/lib/typescript.js:141567:19)
    at releaseOldSourceFile (/typescript-5.7.0-dev.20240915/lib/typescript.js:150424:24)
    at Object.onReleaseOldSourceFile (/typescript-5.7.0-dev.20240915/lib/typescript.js:150428:7)
    at createProgram (/typescript-5.7.0-dev.20240915/lib/typescript.js:125446:14)
    at synchronizeHostDataWorker (/typescript-5.7.0-dev.20240915/lib/typescript.js:150384:15)
    at synchronizeHostData (/typescript-5.7.0-dev.20240915/lib/typescript.js:150279:7)
    at Object.getProgram (/typescript-5.7.0-dev.20240915/lib/typescript.js:150461:5)
    at InferredProject2.updateGraphWorker (/typescript-5.7.0-dev.20240915/lib/typescript.js:185115:41)
    at InferredProject2.updateGraph (/typescript-5.7.0-dev.20240915/lib/typescript.js:184950:32)
    at updateProjectIfDirty (/typescript-5.7.0-dev.20240915/lib/typescript.js:186728:36)
    at _ProjectService.assignProjectToOpenedScriptInfo (/typescript-5.7.0-dev.20240915/lib/typescript.js:189220:29)
    at /typescript-5.7.0-dev.20240915/lib/typescript.js:189625:25
    at _ProjectService.applyChangesInOpenFiles (/typescript-5.7.0-dev.20240915/lib/typescript.js:189623:56)
    at updateOpen (/typescript-5.7.0-dev.20240915/lib/typescript.js:190836:29)
    at /typescript-5.7.0-dev.20240915/lib/typescript.js:193504:15
    at IOSession.executeWithRequestId (/typescript-5.7.0-dev.20240915/lib/typescript.js:193493:14)
    at IOSession.executeCommand (/typescript-5.7.0-dev.20240915/lib/typescript.js:193502:29)
    at IOSession.onMessage (/typescript-5.7.0-dev.20240915/lib/typescript.js:193550:68)
    at Interface.<anonymous> (/typescript-5.7.0-dev.20240915/lib/tsserver.js:501:14)

Affected repos

eslint/eslint Raw error text: RepoResults4/eslint.eslint.rawError.txt in the artifact folder
Replay commands: RepoResults4/eslint.eslint.replay.txt in the artifact folder

Last few requests

```json {"seq":331,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/tools/eslint-fuzzer.js","line":126,"offset":8}} {"seq":332,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/tools/eslint-fuzzer.js","line":129,"offset":15,"includeExternalModuleExports":false,"triggerKind":2,"triggerCharacter":" "}} {"seq":333,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":["@PROJECT_ROOT@/Makefile.js"],"openFiles":[]}} {"seq":334,"type":"request","command":"updateOpen","arguments":{"changedFiles":[],"closedFiles":[],"openFiles":[{"file":"@PROJECT_ROOT@/tools/config-rule.js","projectRootPath":"@PROJECT_ROOT@"}]}} ```

Repro steps

```bash #!/bin/bash git clone https://github.com/eslint/eslint --recurse-submodules git -C "./eslint" reset --hard 71f37c5bf04afb704232d312cc6c72c957d1c14e # Install packages (exact steps are below, but it might be easier to follow the repo readme) npm --prefix "./eslint" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./eslint/packages/js" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./eslint/packages/eslint-config-eslint" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./eslint/docs" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./eslint/docs/_examples/integration-tutorial-code" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q npm --prefix "./eslint/docs/_examples/custom-rule-tutorial-code" install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q downloadUrl=$(curl -s "https://typescript.visualstudio.com/TypeScript/_apis/build/builds/163572/artifacts?artifactName=RepoResults4&api-version=7.0" | jq -r ".resource.downloadUrl") wget -O RepoResults4.zip "$downloadUrl" unzip -p RepoResults4.zip RepoResults4/eslint.eslint.replay.txt > eslint.eslint.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 ./eslint ./eslint.eslint.replay.txt ```