Skip to content

getSpecifierForModuleSymbol failing in 5.5 rcΒ #58819

Closed
@turadg

Description

@turadg

πŸ”Ž 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.

Metadata

Metadata

Assignees

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