microsoft / TypeScript

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

[ServerErrors][JavaScript] 5.4.0-dev.20240128 #57206

Closed typescript-bot closed 7 months ago

typescript-bot commented 7 months ago

The following errors were reported by 5.4.0-dev.20240128 Pipeline that generated this bug Logs for the pipeline run File that generated the pipeline

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

Successfully analyzed 193 of 200 visited repos | Outcome | Count | |---------|-------| | Detected interesting changes | 2 | | Detected no interesting changes | 191 | | Unknown failure | 7 |

Investigation Status

Repo Errors Outcome
05dc022b77792efd84491358bf4bf0af 1
728d295b0bcc46bc828126f43680cebe 1
typescript-bot commented 7 months 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: RepoResults5/tastejs.todomvc.rawError.txt in the artifact folder

Last few requests

```json {"seq":4621,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":19187,"offset":105}} {"seq":4622,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":19187,"offset":105,"includeExternalModuleExports":false,"triggerKind":1}} {"seq":4623,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":19187,"offset":146}} {"seq":4624,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":19187,"offset":146,"includeExternalModuleExports":false,"triggerKind":1}} ```

Repro steps

  1. git clone https://github.com/tastejs/todomvc --recurse-submodules
  2. In dir todomvc, run git reset --hard efafb5843a52fad8b465f642ee8d5d980ad1ac4d
  3. Install packages (exact steps are below, but it might be easier to follow the repo readme)
    1. In dir todomvc/bower_components/bootstrap, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    2. In dir todomvc/bower_components/webcomponentsjs, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    3. In dir todomvc/examples/angular-dart, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    4. In dir todomvc/examples/angular, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    5. In dir todomvc/examples/angularjs_require, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    6. In dir todomvc/examples/angularjs_require/test, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    7. In dir todomvc/examples/aurelia, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    8. In dir todomvc/examples/backbone_marionette, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    9. In dir todomvc/examples/backbone_require, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    10. In dir todomvc/examples/backbone, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    11. In dir todomvc/examples/binding-scala, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    12. In dir todomvc/examples/canjs_require, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    13. In dir todomvc/examples/canjs, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    14. In dir todomvc/examples/closure, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    15. In dir todomvc/examples/cujo, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    16. In dir todomvc/examples/dijon, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    17. In dir todomvc/examples/dojo, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    18. In dir todomvc/examples/duel, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    19. In dir todomvc/examples/elm, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    20. In dir todomvc/examples/emberjs/todomvc, run pnpm install --no-frozen-lockfile --prefer-offline --ignore-scripts --reporter=silent
    21. In dir todomvc/examples/enyo_backbone, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    22. In dir todomvc/examples/exoskeleton, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    23. In dir todomvc/examples/gwt, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    24. In dir todomvc/examples/javascript-es5, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    25. In dir todomvc/examples/javascript-es6, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    26. In dir todomvc/examples/jquery, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    27. In dir todomvc/examples/js_of_ocaml, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    28. In dir todomvc/examples/jsblocks, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    29. In dir todomvc/examples/knockback, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    30. In dir todomvc/examples/knockoutjs_require, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    31. In dir todomvc/examples/knockoutjs, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    32. In dir todomvc/examples/lavaca_require, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    33. In dir todomvc/examples/lit, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    34. In dir todomvc/examples/mithril, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    35. In dir todomvc/examples/polymer, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    36. In dir todomvc/examples/preact, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    37. In dir todomvc/examples/ractive, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    38. In dir todomvc/examples/react-redux, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    39. In dir todomvc/examples/react, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    40. In dir todomvc/examples/reagent, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    41. In dir todomvc/examples/riotjs, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    42. In dir todomvc/examples/svelte, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    43. In dir todomvc/examples/typescript-angular, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    44. In dir todomvc/examples/typescript-backbone, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    45. In dir todomvc/examples/typescript-react, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    46. In dir todomvc/examples/vue, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    47. In dir todomvc/examples/web-components, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    48. In dir todomvc, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    49. In dir todomvc/tasks, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    50. In dir todomvc/tests, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    51. In dir todomvc/tooling, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
  4. Back in the initial folder, download RepoResults5/tastejs.todomvc.replay.txt from the artifact folder
  5. npm install --no-save @typescript/server-replay
  6. npx tsreplay ./todomvc ./tastejs.todomvc.replay.txt path/to/tsserver.js
  7. npx tsreplay --help to learn about helpful switches for debugging, logging, etc

typescript-bot commented 7 months ago

Error: Debug Failure. Expected 6 < 4.

Req #5539 - completionInfo
    at getArgumentOrParameterListInfo (/typescript-5.4.0-dev.20240128/lib/tsserver.js:168989:11)
    at getImmediatelyContainingArgumentInfo (/typescript-5.4.0-dev.20240128/lib/tsserver.js:169006:18)
    at Object.getArgumentInfoForCompletions (/typescript-5.4.0-dev.20240128/lib/tsserver.js:168974:16)
    at getStringLiteralCompletionEntries (/typescript-5.4.0-dev.20240128/lib/tsserver.js:162786:55)
    at Object.getStringLiteralCompletions (/typescript-5.4.0-dev.20240128/lib/tsserver.js:162627:21)
    at Object.getCompletionsAtPosition (/typescript-5.4.0-dev.20240128/lib/tsserver.js:158857:70)
    at Object.getCompletionsAtPosition2 [as getCompletionsAtPosition] (/typescript-5.4.0-dev.20240128/lib/tsserver.js:146462:35)
    at IOSession.getCompletions (/typescript-5.4.0-dev.20240128/lib/tsserver.js:186597:54)
    at completionInfo (/typescript-5.4.0-dev.20240128/lib/tsserver.js:184987:43)
    at /typescript-5.4.0-dev.20240128/lib/tsserver.js:187381:69
    at IOSession.executeWithRequestId (/typescript-5.4.0-dev.20240128/lib/tsserver.js:187373:14)
    at IOSession.executeCommand (/typescript-5.4.0-dev.20240128/lib/tsserver.js:187381:29)
    at IOSession.onMessage (/typescript-5.4.0-dev.20240128/lib/tsserver.js:187423:51)
    at Interface.<anonymous> (/typescript-5.4.0-dev.20240128/lib/tsserver.js:189008:14)

Affected repos

prettier/prettier Raw error text: RepoResults2/prettier.prettier.rawError.txt in the artifact folder

Last few requests

```json {"seq":5536,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/tests/format/typescript/conformance/expressions/functionCalls/callWithSpreadES6.ts","line":1,"offset":4,"includeExternalModuleExports":false,"triggerKind":1}} {"seq":5537,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/tests/format/typescript/conformance/expressions/functionCalls/callWithSpreadES6.ts","line":7,"offset":49,"includeExternalModuleExports":false,"triggerKind":1}} {"seq":5538,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/tests/format/typescript/conformance/expressions/functionCalls/callWithSpreadES6.ts","line":7,"offset":49,"entryNames":["a"]}} {"seq":5539,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/tests/format/typescript/conformance/expressions/functionCalls/callWithSpreadES6.ts","line":21,"offset":22,"includeExternalModuleExports":false,"triggerKind":1}} ```

Repro steps

  1. git clone https://github.com/prettier/prettier --recurse-submodules
  2. In dir prettier, run git reset --hard 09024bac753a289bfdd5ecf4dac799e54aa02a1b
  3. Install packages (exact steps are below, but it might be easier to follow the repo readme)
    1. In dir prettier, run yarn install --no-immutable --mode=skip-build
    2. In dir prettier/scripts/release, run yarn install --no-immutable --mode=skip-build
    3. In dir prettier/scripts/tools/bundle-test, run yarn install --no-immutable --mode=skip-build
    4. In dir prettier/scripts/tools/eslint-plugin-prettier-internal-rules, run yarn install --no-immutable --mode=skip-build
    5. In dir prettier/tests/config/prettier-plugins/prettier-plugin-async-printer, run yarn install --no-immutable --mode=skip-build
    6. In dir prettier/tests/config/prettier-plugins/prettier-plugin-missing-comments, run yarn install --no-immutable --mode=skip-build
    7. In dir prettier/tests/config/prettier-plugins/prettier-plugin-uppercase-rocks, run yarn install --no-immutable --mode=skip-build
    8. In dir prettier/tests/integration/cli/cache, run yarn install --no-immutable --mode=skip-build
    9. In dir prettier/tests/integration/cli/config-external-config-syntax-error, run yarn install --no-immutable --mode=skip-build
    10. In dir prettier/tests/integration/cli/config/external-config/cjs-package, run yarn install --no-immutable --mode=skip-build
    11. In dir prettier/tests/integration/cli/config/external-config/esm-file, run yarn install --no-immutable --mode=skip-build
    12. In dir prettier/tests/integration/cli/config/external-config/esm-package-forbids-require, run yarn install --no-immutable --mode=skip-build
    13. In dir prettier/tests/integration/cli/config/external-config/esm-package, run yarn install --no-immutable --mode=skip-build
    14. In dir prettier/tests/integration/cli/config/package, run yarn install --no-immutable --mode=skip-build
    15. In dir prettier/tests/integration/cli/config/rc-cjs/prettier-config-cjs-in-type-commonjs, run yarn install --no-immutable --mode=skip-build
    16. In dir prettier/tests/integration/cli/config/rc-cjs/prettier-config-cjs-in-type-module, run yarn install --no-immutable --mode=skip-build
    17. In dir prettier/tests/integration/cli/config/rc-cjs/prettier-config-cjs-in-type-none, run yarn install --no-immutable --mode=skip-build
    18. In dir prettier/tests/integration/cli/config/rc-cjs/prettierrc-cjs-in-type-commonjs, run yarn install --no-immutable --mode=skip-build
    19. In dir prettier/tests/integration/cli/config/rc-cjs/prettierrc-cjs-in-type-module, run yarn install --no-immutable --mode=skip-build
    20. In dir prettier/tests/integration/cli/config/rc-cjs/prettierrc-cjs-in-type-none, run yarn install --no-immutable --mode=skip-build
    21. In dir prettier/tests/integration/cli/config/rc-js/cjs-prettier-config-js-in-type-commonjs, run yarn install --no-immutable --mode=skip-build
    22. In dir prettier/tests/integration/cli/config/rc-js/cjs-prettier-config-js-in-type-module, run yarn install --no-immutable --mode=skip-build
    23. In dir prettier/tests/integration/cli/config/rc-js/cjs-prettier-config-js-in-type-none, run yarn install --no-immutable --mode=skip-build
    24. In dir prettier/tests/integration/cli/config/rc-js/cjs-prettierrc-js-in-type-commonjs, run yarn install --no-immutable --mode=skip-build
    25. In dir prettier/tests/integration/cli/config/rc-js/cjs-prettierrc-js-in-type-module, run yarn install --no-immutable --mode=skip-build
    26. In dir prettier/tests/integration/cli/config/rc-js/cjs-prettierrc-js-in-type-none, run yarn install --no-immutable --mode=skip-build
    27. In dir prettier/tests/integration/cli/config/rc-js/mjs-prettier-config-js-in-type-commonjs, run yarn install --no-immutable --mode=skip-build
    28. In dir prettier/tests/integration/cli/config/rc-js/mjs-prettier-config-js-in-type-module, run yarn install --no-immutable --mode=skip-build
    29. In dir prettier/tests/integration/cli/config/rc-js/mjs-prettier-config-js-in-type-none, run yarn install --no-immutable --mode=skip-build
    30. In dir prettier/tests/integration/cli/config/rc-js/mjs-prettierrc-js-in-type-commonjs, run yarn install --no-immutable --mode=skip-build
    31. In dir prettier/tests/integration/cli/config/rc-js/mjs-prettierrc-js-in-type-module, run yarn install --no-immutable --mode=skip-build
    32. In dir prettier/tests/integration/cli/config/rc-js/mjs-prettierrc-js-in-type-none, run yarn install --no-immutable --mode=skip-build
    33. In dir prettier/tests/integration/cli/config/rc-mjs/prettier-config-mjs-in-type-commonjs, run yarn install --no-immutable --mode=skip-build
    34. In dir prettier/tests/integration/cli/config/rc-mjs/prettier-config-mjs-in-type-module, run yarn install --no-immutable --mode=skip-build
    35. In dir prettier/tests/integration/cli/config/rc-mjs/prettier-config-mjs-in-type-none, run yarn install --no-immutable --mode=skip-build
    36. In dir prettier/tests/integration/cli/config/rc-mjs/prettierrc-mjs-in-type-commonjs, run yarn install --no-immutable --mode=skip-build
    37. In dir prettier/tests/integration/cli/config/rc-mjs/prettierrc-mjs-in-type-module, run yarn install --no-immutable --mode=skip-build
    38. In dir prettier/tests/integration/cli/config/rc-mjs/prettierrc-mjs-in-type-none, run yarn install --no-immutable --mode=skip-build
    39. In dir prettier/website, run yarn install --no-immutable --mode=skip-build
  4. Back in the initial folder, download RepoResults2/prettier.prettier.replay.txt from the artifact folder
  5. npm install --no-save @typescript/server-replay
  6. npx tsreplay ./prettier ./prettier.prettier.replay.txt path/to/tsserver.js
  7. npx tsreplay --help to learn about helpful switches for debugging, logging, etc