Skip to content

getSpecifierForModuleSymbol failing in 5.5 rcΒ #58819

Closed

Description

πŸ”Ž Search Terms

getSpecifierForModuleSymbol, Debug Failure, False expression,

πŸ•— Version & Regression Information

  • This is a crash
  • This changed between versions 5.5 beta and 5.5 rc

⏯ Playground Link

https://github.com/Agoric/agoric-sdk/actions/runs/9440222557/job/25999288161?pr=9476

πŸ’» Code

My only repro is half-way through the build of a large repo, so I don't think I can isolate it to a code snippet.

Agoric/agoric-sdk#9476 changed the typescript from,

- typescript@^5.5.0-beta
-   version "5.5.0-dev.20240426"
-  resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.0-dev.20240426.tgz#e9ba7d0b3cdaa54021faca61d1bc399e4766c93b"
-  integrity sha512-96cu+y3DrjSNhNSgB3t3nRiesCwBVjZpbjJ6DcQoCgt0crXXPrOMmJQH/E8TZ41U4JzaULD+cB1Z2owh5HANew==
+ typescript@^5.5.1-rc:
+   version "5.5.1-rc"
+   resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.5.1-rc.tgz#4be420f1ecb5e66c52a7cb11444f06f02294c977"
+   integrity sha512-7cbqBhh2QH0RaI7AD0ElJ2Ww/iRdW1w2wH/S2dv6EbdNQQlv39fx+V5VOepxLgfUvRkU5D5pxzgPuvHSAQOdpQ==

A CI job builds each package topologically.

πŸ™ Actual behavior

The job started failing with:

Error: Debug Failure. False expression.
    at first (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:605:9)
    at getSpecifierForModuleSymbol (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:50904:21)
    at rewriteModuleSpecifier (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:51977:22)
    at visitExistingNodeTreeSymbolsWorker (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:51827:58)
    at visitExistingNodeTreeSymbols (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:51535:24)
    at visitArrayWorker (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:87695:49)
    at visitNodes2 (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:87666:19)
    at tryVisitTypeReference (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:51672:33)
    at visitExistingNodeTreeSymbolsWorker (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:51811:26)
    at visitExistingNodeTreeSymbols (/home/runner/work/agoric-sdk/agoric-sdk/node_modules/typescript/lib/tsc.js:51535:24)

In the debugger I see that it happens while looking for escapedName: 'globalThis' in the context of this file.

πŸ™‚ Expected behavior

Continues to build like the beta and past releases.

Additional information about the issue

Our repo makes use of a hack to make types available both ambiently and by explicit imports.
https://github.com/Agoric/agoric-sdk/blob/e7b0cebd17f093793e93f4f236921cb4a3f595b8/packages/internal/exported.d.ts#L17-L29

The motivation for this is in transitioning from ambient types to define exportable types and retain backwards compatibility with consumers expecting ambients.

Activity

  1. andrewbranch commented on Jun 13, 2024

    @andrewbranch
    Member

    Turadg Aleahmad (@turadg) are you able to reproduce this locally? I’m hitting something else first when I try. Here’s what I’ve got:

    gh pr checkout 9476
    yarn
    yarn lerna run --reject-cycles --concurrency 1 prepack
    
    ...
    
    lerna ERR! npm run prepack exited 1 in '@agoric/zoe'
    lerna ERR! npm run prepack stdout:
    
    > @agoric/zoe@0.26.2 prepack
    > tsc --build tsconfig.build.json
    
    tools/fakeVatAdmin.js(13,23): error TS2307: Cannot find module '../bundles/bundle-contractFacet.js' or its corresponding type declarations.
    lerna ERR! npm run prepack stderr:
    npm ERR! Lifecycle script `prepack` failed with error:
    npm ERR! Error: command failed
    npm ERR!   in workspace: @agoric/zoe@0.26.2
    npm ERR!   at location: /Users/andrew/Developer/microsoft/eg/agoric-sdk/packages/zoe
    lerna ERR! npm run prepack exited 1 in '@agoric/zoe'
    
  2. turadg commented on Jun 13, 2024

    @turadg
    Author

    Andrew Branch (@andrewbranch) a yarn build makes the bundles.

    I just slimmed Agoric/agoric-sdk#9476 to one commit adopting TS 5.5 rc1 then rebased on master. Here's my local repro,

    git checkout ta/typescript-5.5
    git clean -dfx
    yarn install
    yarn build
    yarn lerna run --reject-cycles --concurrency 1 prepack

    ends with,

    > @agoric/inter-protocol@0.16.1 prepack
    > tsc --build tsconfig.build.json
    
    lerna ERR! npm run prepack stderr:
    /opt/agoric/agoric-sdk/node_modules/typescript/lib/tsc.js:120157
          throw e;
          ^
    
    Error: Debug Failure. False expression.
        at first (/opt/agoric/agoric-sdk/node_modules/typescript/lib/tsc.js:605:9)
        at getSpecifierForModuleSymbol (/opt/agoric/agoric-sdk/node_modules/typescript/lib/tsc.js:50904:21)
        at rewriteModuleSpecifier (/opt/agoric/agoric-sdk/node_modules/typescript/lib/tsc.js:51977:22)
        at visitExistingNodeTreeSymbolsWorker (/opt/agoric/agoric-sdk/node_modules/typescript/lib/tsc.js:51827:58)
        at visitExistingNodeTreeSymbols (/opt/agoric/agoric-sdk/node_modules/typescript/lib/tsc.js:51535:24)
        at visitArrayWorker (/opt/agoric/agoric-sdk/node_modules/typescript/lib/tsc.js:87695:49)
        at visitNodes2 (/opt/agoric/agoric-sdk/node_modules/typescript/lib/tsc.js:87666:19)
        at tryVisitTypeReference (/opt/agoric/agoric-sdk/node_modules/typescript/lib/tsc.js:51672:33)
        at visitExistingNodeTreeSymbolsWorker (/opt/agoric/agoric-sdk/node_modules/typescript/lib/tsc.js:51811:26)
        at visitExistingNodeTreeSymbols (/opt/agoric/agoric-sdk/node_modules/typescript/lib/tsc.js:51535:24)
    
  3. 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 TypeScriptFix AvailableA PR has been opened for this issue

Type

No type

Projects

No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions