Skip to content

[ServerErrors][JavaScript] 5.5.0-dev.20240324 #57924

Description

The following errors were reported by 5.5.0-dev.20240324
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 292 of 300 visited repos
Outcome Count
Detected interesting changes 5
Detected no interesting changes 287
Unknown failure 8

Investigation Status

Errors Repos Outcome
Server exited prematurely with code unknown and signal SIGABRT 1
Error: Debug Failure. Did not expect ObjectLiteralExpression to have an Identifier in its trivia 1 Deprioritizing investigation as the error shows for a minimized file and does not have a clear repro.
Error: Debug Failure. False expression. 1 CompletionInfo is failing due to the synthetic propertySignature is using an incorrect questionToken position, causing the Assert to fail. I noticed that there's two signatures with the same property name in different positions. I suspect that the second property, the one out of bounds of the range, is being assigned to the signature incorrectly.
Investigation: assignPositionsToNode is probably the culprit of the node not having the right position. We validated before that no positions are set. We do not know yet if it's because is reusing a node or is just assigning an incorrect value.

Fix on PR #58263
Error: Debug Failure. Expected declaration to have at least one class-like declaration 1 Assigning a property its prototype caused definition to stop working. Minimal repro:
const A ={};
A.B = class Foo {}
new A.|B|(); // <-- Go to definition here
A.B.prototype.C = null; // Comment this line and the issue do not repro.
Investigation: Hypothesis is that on an expando object we're not looking into the right side of the assignment before getting to getConstructSignatureDefinition. Note: I don't understand why commenting out prototype causes it to work. If we do the symbol is no longer flag as a class so it doesn't hit the Debug.Fail.

Fix in PR #57628.
Error: Debug Failure. False expression: Expected the specifier to be a default export 1 Completions gets confused by processing a named export with the default version, causing the assert to be hit. See repro:
// file1.js
const a = 1;
export {
a as b
};
export default a;

// file2.js
import * as foo from './file1';
| //<-- Trigger completions here
export default foo.b;
Investigation: We're getting an alias for a default export, but why do we get an alias? (getDefaultExportInfoWorker)

Activity

  1. typescript-bot commented on Mar 24, 2024

    @typescript-bot
    ContributorAuthor

    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

    Last few requests

    {"seq":22045,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":17316,"offset":23}}
    {"seq":22046,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":17389,"offset":15}}
    {"seq":22047,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":17434,"offset":16,"includeExternalModuleExports":false,"triggerKind":1}}
    {"seq":22048,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/examples/angular-dart/web/main.dart.js","line":17442,"offset":66,"includeExternalModuleExports":false,"triggerKind":1}}
    

    Repro steps

    1. git clone https://github.com/tastejs/todomvc --recurse-submodules
    2. In dir todomvc, run git reset --hard b6026bba029f47947a9e76f1235bd3d7e3f99a1b
    3. Back in the initial folder, download RepoResults3/tastejs.todomvc.replay.txt from the artifact folder
    4. npm install --no-save @typescript/server-replay
    5. npx tsreplay ./todomvc ./tastejs.todomvc.replay.txt path/to/tsserver.js
    6. npx tsreplay --help to learn about helpful switches for debugging, logging, etc
  2. typescript-bot commented on Mar 24, 2024

    @typescript-bot
    ContributorAuthor

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

    Req #4212 - references
        at Interface.<anonymous> (/typescript-5.5.0-dev.20240324/lib/tsserver.js:504:14)
    

    Affected repos

    HumanSignal/label-studio Raw error text: RepoResults8/HumanSignal.label-studio.rawError.txt in the artifact folder

    Last few requests

    {"seq":4209,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/web/dist/libs/editor/main.js","line":2,"offset":802283,"entryNames":["_"]}}
    {"seq":4210,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/web/dist/libs/editor/main.js","line":2,"offset":802434,"includeExternalModuleExports":false,"triggerKind":2,"triggerCharacter":"."}}
    {"seq":4211,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/web/dist/libs/editor/main.js","line":2,"offset":802548}}
    {"seq":4212,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/web/dist/libs/editor/main.js","line":2,"offset":802548}}
    

    Repro steps

    1. git clone https://github.com/HumanSignal/label-studio --recurse-submodules
    2. In dir label-studio, run git reset --hard d6ab611fd63aa4f69687aa4e09780f21f306b67c
    3. Install packages (exact steps are below, but it might be easier to follow the repo readme)
      1. In dir label-studio/web, run yarn install --ignore-engines --ignore-scripts --silent
      2. In dir label-studio/web/tools/version, run yarn install --ignore-engines --ignore-scripts --silent
      3. In dir label-studio/web/libs/frontend-test/src/bin/assets, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
      4. In dir label-studio/web/libs/editor/tests/e2e, run yarn install --ignore-engines --ignore-scripts --silent
      5. In dir label-studio/docs, run yarn install --ignore-engines --ignore-scripts --silent
    4. Back in the initial folder, download RepoResults8/HumanSignal.label-studio.replay.txt from the artifact folder
    5. npm install --no-save @typescript/server-replay
    6. npx tsreplay ./label-studio ./HumanSignal.label-studio.replay.txt path/to/tsserver.js
    7. npx tsreplay --help to learn about helpful switches for debugging, logging, etc
  3. typescript-bot commented on Mar 24, 2024

    @typescript-bot
    ContributorAuthor

    Error: Debug Failure. False expression.

    Req #8044 - completionInfo
        at Interface.<anonymous> (/typescript-5.5.0-dev.20240324/lib/tsserver.js:504:14)
    

    Affected repos

    fabricjs/fabric.js Raw error text: RepoResults4/fabricjs.fabric.js.rawError.txt in the artifact folder

    Last few requests

    {"seq":8041,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/src/canvas/SelectableCanvas.ts","line":344,"offset":6}}
    {"seq":8042,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/src/canvas/SelectableCanvas.ts","line":402,"offset":72,"includeExternalModuleExports":false,"triggerKind":2,"triggerCharacter":" "}}
    {"seq":8043,"type":"request","command":"references","arguments":{"file":"@PROJECT_ROOT@/src/canvas/SelectableCanvas.ts","line":409,"offset":6}}
    {"seq":8044,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/src/canvas/SelectableCanvas.ts","line":420,"offset":1,"includeExternalModuleExports":false,"triggerKind":1}}
    

    Repro steps

    1. git clone https://github.com/fabricjs/fabric.js --recurse-submodules
    2. In dir fabric.js, run git reset --hard 7179b739cff45d74b33d130fc34fd48da074f204
    3. Install packages (exact steps are below, but it might be easier to follow the repo readme)
      1. In dir fabric.js, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
      2. In dir fabric.js/website, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    4. Back in the initial folder, download RepoResults4/fabricjs.fabric.js.replay.txt from the artifact folder
    5. npm install --no-save @typescript/server-replay
    6. npx tsreplay ./fabric.js ./fabricjs.fabric.js.replay.txt path/to/tsserver.js
    7. npx tsreplay --help to learn about helpful switches for debugging, logging, etc
  4. typescript-bot commented on Mar 24, 2024

    @typescript-bot
    ContributorAuthor

    Error: Debug Failure. Expected declaration to have at least one class-like declaration

    Req #5892 - definitionAndBoundSpan
        at Interface.<anonymous> (/typescript-5.5.0-dev.20240324/lib/tsserver.js:504:14)
    

    Affected repos

    lutzroeder/netron Raw error text: RepoResults4/lutzroeder.netron.rawError.txt in the artifact folder

    Last few requests

    {"seq":5889,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/source/coreml-proto.js","line":10500,"offset":37,"entryNames":["arguments"]}}
    {"seq":5890,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/source/coreml-proto.js","line":10561,"offset":17,"includeExternalModuleExports":false,"triggerKind":1}}
    {"seq":5891,"type":"request","command":"completionEntryDetails","arguments":{"file":"@PROJECT_ROOT@/source/coreml-proto.js","line":10561,"offset":17,"entryNames":["arguments"]}}
    {"seq":5892,"type":"request","command":"definitionAndBoundSpan","arguments":{"file":"@PROJECT_ROOT@/source/coreml-proto.js","line":10573,"offset":66}}
    

    Repro steps

    1. git clone https://github.com/lutzroeder/netron --recurse-submodules
    2. In dir netron, run git reset --hard 48fe7514d7ed397bfe11af73f947e45545c52750
    3. In dir netron, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    4. Back in the initial folder, download RepoResults4/lutzroeder.netron.replay.txt from the artifact folder
    5. npm install --no-save @typescript/server-replay
    6. npx tsreplay ./netron ./lutzroeder.netron.replay.txt path/to/tsserver.js
    7. npx tsreplay --help to learn about helpful switches for debugging, logging, etc
  5. typescript-bot commented on Mar 24, 2024

    @typescript-bot
    ContributorAuthor

    Error: Debug Failure. False expression: Expected the specifier to be a default export

    Req #2072 - completionInfo
        at Interface.<anonymous> (/typescript-5.5.0-dev.20240324/lib/tsserver.js:504:14)
    

    Affected repos

    framework7io/framework7 Raw error text: RepoResults7/framework7io.framework7.rawError.txt in the artifact folder

    Last few requests

    {"seq":2069,"type":"request","command":"getOutliningSpans","arguments":{"file":"@PROJECT_ROOT@/src/core/shared/dom7.js"}}
    {"seq":2070,"type":"request","command":"navtree","arguments":{"file":"@PROJECT_ROOT@/src/core/shared/dom7.js"}}
    {"seq":2071,"type":"request","command":"navbar","arguments":{"file":"@PROJECT_ROOT@/src/core/shared/dom7.js"}}
    {"seq":2072,"type":"request","command":"completionInfo","arguments":{"file":"@PROJECT_ROOT@/src/core/shared/dom7.js","line":5,"offset":20,"includeExternalModuleExports":true,"triggerKind":1}}
    

    Repro steps

    1. git clone https://github.com/framework7io/framework7 --recurse-submodules
    2. In dir framework7, run git reset --hard c1ac6c7eea0eca92de82b1a943969bae359647ab
    3. Install packages (exact steps are below, but it might be easier to follow the repo readme)
      1. In dir framework7, run npm ci --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
      2. In dir framework7/packages/vue, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
      3. In dir framework7/packages/svelte, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
      4. In dir framework7/packages/react, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
      5. In dir framework7/packages/core, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
      6. In dir framework7/build/vue, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
      7. In dir framework7/build/svelte, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
      8. In dir framework7/build/react, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
      9. In dir framework7/build/core, run npm install --prefer-offline --no-audit --no-progress --legacy-peer-deps --ignore-scripts -q
    4. Back in the initial folder, download RepoResults7/framework7io.framework7.replay.txt from the artifact folder
    5. npm install --no-save @typescript/server-replay
    6. npx tsreplay ./framework7 ./framework7io.framework7.replay.txt path/to/tsserver.js
    7. npx tsreplay --help to learn about helpful switches for debugging, logging, etc
  6. locked as resolved and limited conversation to collaborators on Oct 22, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

BugA bug in TypeScript

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions