Skip to content

Regression Crash: RangeError: Maximum call stack size exceeded in isThisInTypeQuery on Nightly #63015

@na7ure-a

Description

@na7ure-a

🔎 Search Terms

RangeError: Maximum call stack size exceeded

isThisInTypeQuery

Regression

typeof crash

🕗 Version & Regression Information

Works in: v5.7.3, v5.8.3, v5.9.3 (Reports standard errors: TS2448, TS2345, etc.)

Crashes in: Nightly

⏯ Playground Link

https://www.typescriptlang.org/zh/play/?target=7&ts=6.0.0-dev.20260119#code/K4Owlg9iDyBmAiZawKYCcUgC4CUVeDRABUBPABxQEYAKLNYFASgG4ACAeg7fTQjTZgQbLBRRsIsNuQCGaGQFt86AFABjKAGcsbUJBgIkqDNjwEiZSlQBcbAN4q2TtjRm2ZIUk1shgCgEboLCoAvmwAPvaOzq4+foFo3iJikmzwMlgowSEsQA

💻 Code

unionOfDifferentReturnType1(true); // error in type of parameter
const unionOfDifferentReturnType1: {
    (a: any): number;
} | {
    (a: number): typeof Date;
};

🙁 Actual behavior

.\ts-versions\nightly\node_modules\.bin\tsc.cmd   .\unionTypeCallSignatures_6.ts
D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:123178
      throw e;
      ^

RangeError: Maximum call stack size exceeded
    at isThisIdentifier (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:16646:26)                                                                                                
    at isThisInTypeQuery (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:16656:8)                                                                                                
    at checkIdentifier (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:71968:9)                                                                                                  
    at checkExpressionWorker (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:80857:16)                                                                                           
    at checkExpression (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:80800:32)                                                                                                 
    at checkExpressionWithTypeArguments (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:77806:182)                                                                               
    at getTypeFromTypeQueryNode (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:60457:20)                                                                                        
    at getTypeFromTypeNodeWorker (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:63099:16)                                                                                       
    at getTypeFromTypeNode (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:63055:41)                                                                                             
    at getReturnTypeFromAnnotation (D:\do\typeFuzz\ts-versions\nightly\node_modules\typescript\lib\_tsc.js:59715:14)                                                                                     

Node.js v22.19.0

🙂 Expected behavior

The compiler should not crash.

Additional information about the issue

No response

Metadata

Metadata

Assignees

Labels

BugA bug in TypeScriptDomain: CrashesUnhandled exceptions/panics with no immediate primary root cause identifiedFix AvailableA PR has been opened for this issue

Type

No type
No fields configured for issues without a type.

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions