Skip to content

Crash on parsing webpack dependency (neo-async) #898

Open
@DanielRosenwasser

Description

@DanielRosenwasser
Member

When parsing webpack/node_modules/neo-async/async.js (basically this file), I get the following:

panic: runtime error: invalid memory address or nil pointer dereference
[signal 0xc0000005 code=0x0 addr=0x0 pc=0x7ff6d18a88fc]

goroutine 1 [running]:
github.com/microsoft/typescript-go/internal/ast.IsIdentifier(...)
        D:/typescript-go/internal/ast/ast.go:2044
github.com/microsoft/typescript-go/internal/ast.hasJSBindableName(0x400218c408?)
        D:/typescript-go/internal/ast/utilities.go:1447 +0x1c
github.com/microsoft/typescript-go/internal/ast.GetAssignmentDeclarationKind(0x4004e5b418)
        D:/typescript-go/internal/ast/utilities.go:1432 +0xec
github.com/microsoft/typescript-go/internal/parser.(*Parser).reparseCommonJS(0x400218c408, 0x4004e5b418?)
        D:/typescript-go/internal/parser/reparser.go:16 +0xac
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseExpressionOrLabeledStatement(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:1402 +0x1e0
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseStatement(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:966 +0x464
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseBlock.(*Parser).parseList.func1(0x400218c408?, 0x40000d9620?)
        D:/typescript-go/internal/parser/parser.go:493 +0x24
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseListIndex(0x400218c408, 0x1, 0x40042c4328)
        D:/typescript-go/internal/parser/parser.go:474 +0xec
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseList(...)
        D:/typescript-go/internal/parser/parser.go:493
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseBlock(0x400218c408, 0x0, 0x0?)
        D:/typescript-go/internal/parser/parser.go:1059 +0xb0
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseFunctionBlock(0x400218c408, 0x0?, 0x0?)
        D:/typescript-go/internal/parser/parser.go:3411 +0x88
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseFunctionExpression(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5683 +0x2cc
github.com/microsoft/typescript-go/internal/parser.(*Parser).parsePrimaryExpression(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5549 +0x1d4
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseMemberExpressionOrHigher(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5286 +0x30
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseLeftHandSideExpressionOrHigher(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5154 +0x50
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseUpdateExpression(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:4656 +0x110
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseUnaryExpressionOrHigher(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:4604 +0x1a0
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseBinaryExpressionOrHigher(0x400218c408, 0x0)
        D:/typescript-go/internal/parser/parser.go:4510 +0x34
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseAssignmentExpressionOrHigherWorker(0x400218c408, 0x1)
        D:/typescript-go/internal/parser/parser.go:4058 +0xa8
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseAssignmentExpressionOrHigher(...)
        D:/typescript-go/internal/parser/parser.go:4006
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseArgumentOrArrayLiteralElement(0x400218c408?)
        D:/typescript-go/internal/parser/parser.go:5464 +0xc4
github.com/microsoft/typescript-go/internal/parser.doInContext[...](...)
        D:/typescript-go/internal/parser/parser.go:6315
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseArgumentExpression(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5452 +0x48
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseDelimitedList(0x400218c408, 0xb, 0x7ff6d1db12a8)
        D:/typescript-go/internal/parser/parser.go:505 +0xd0
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseArgumentList(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5446 +0x44
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseCallExpressionRest(0x400218c408, 0xd559, 0xd552?)
        D:/typescript-go/internal/parser/parser.go:5427 +0x120
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseLeftHandSideExpressionOrHigher(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5159 +0x15c
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseUpdateExpression(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:4656 +0x110
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseUnaryExpressionOrHigher(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:4604 +0x1a0
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseBinaryExpressionOrHigher(0x400218c408, 0x0)
        D:/typescript-go/internal/parser/parser.go:4510 +0x34
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseAssignmentExpressionOrHigherWorker(0x400218c408, 0x1)
        D:/typescript-go/internal/parser/parser.go:4058 +0xa8
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseAssignmentExpressionOrHigher(...)
        D:/typescript-go/internal/parser/parser.go:4006
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseExpression(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:3989 +0x48
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseExpressionOrLabeledStatement(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:1387 +0x48
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseStatement(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:966 +0x464
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseBlock.(*Parser).parseList.func1(0x400218c408?, 0x4004d16d70?)
        D:/typescript-go/internal/parser/parser.go:493 +0x24
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseListIndex(0x400218c408, 0x1, 0x40042c4d08)
        D:/typescript-go/internal/parser/parser.go:474 +0xec
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseList(...)
        D:/typescript-go/internal/parser/parser.go:493
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseBlock(0x400218c408, 0x0, 0x0?)
        D:/typescript-go/internal/parser/parser.go:1059 +0xb0
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseFunctionBlock(0x400218c408, 0x0?, 0x0?)
        D:/typescript-go/internal/parser/parser.go:3411 +0x88
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseFunctionExpression(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5683 +0x2cc
github.com/microsoft/typescript-go/internal/parser.(*Parser).parsePrimaryExpression(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5549 +0x1d4
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseMemberExpressionOrHigher(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5286 +0x30
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseLeftHandSideExpressionOrHigher(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5154 +0x50
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseUpdateExpression(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:4656 +0x110
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseUnaryExpressionOrHigher(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:4604 +0x1a0
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseBinaryExpressionOrHigher(0x400218c408, 0x0)
        D:/typescript-go/internal/parser/parser.go:4510 +0x34
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseAssignmentExpressionOrHigherWorker(0x400218c408, 0x1)
        D:/typescript-go/internal/parser/parser.go:4058 +0xa8
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseAssignmentExpressionOrHigher(...)
        D:/typescript-go/internal/parser/parser.go:4006
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseArgumentOrArrayLiteralElement(0x400218c408?)
        D:/typescript-go/internal/parser/parser.go:5464 +0xc4
github.com/microsoft/typescript-go/internal/parser.doInContext[...](...)
        D:/typescript-go/internal/parser/parser.go:6315
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseArgumentExpression(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5452 +0x48
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseDelimitedList(0x400218c408, 0xb, 0x7ff6d1db12a8)
        D:/typescript-go/internal/parser/parser.go:505 +0xd0
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseArgumentList(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5446 +0x44
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseCallExpressionRest(0x400218c408, 0x0, 0x0?)
        D:/typescript-go/internal/parser/parser.go:5427 +0x120
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseLeftHandSideExpressionOrHigher(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:5159 +0x15c
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseUpdateExpression(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:4656 +0x110
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseUnaryExpressionOrHigher(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:4604 +0x1a0
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseBinaryExpressionOrHigher(0x400218c408, 0x0)
        D:/typescript-go/internal/parser/parser.go:4510 +0x34
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseAssignmentExpressionOrHigherWorker(0x400218c408, 0x1)
        D:/typescript-go/internal/parser/parser.go:4058 +0xa8
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseAssignmentExpressionOrHigher(...)
        D:/typescript-go/internal/parser/parser.go:4006
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseExpression(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:3989 +0x48
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseExpressionOrLabeledStatement(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:1387 +0x48
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseStatement(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:966 +0x464
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseToplevelStatement(0x400218c408, 0x0)
        D:/typescript-go/internal/parser/parser.go:364 +0x28
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseListIndex(0x400218c408, 0x0, 0x7ff6d1db1368)
        D:/typescript-go/internal/parser/parser.go:474 +0xec
github.com/microsoft/typescript-go/internal/parser.(*Parser).parseSourceFileWorker(0x400218c408)
        D:/typescript-go/internal/parser/parser.go:322 +0x6c
github.com/microsoft/typescript-go/internal/parser.ParseSourceFile({0x4004eac6c0, 0x2a}, {0x4004ead140, 0x2a}, {0x4004fba000, 0x3965c}, 0x4, 0x2)
        D:/typescript-go/internal/parser/parser.go:106 +0xfc
github.com/microsoft/typescript-go/internal/compiler.(*compilerHost).GetSourceFile(0x4004eac6c0?, {0x4004eac6c0, 0x2a}, {0x4004ead140, 0x2a}, 0x4)
        D:/typescript-go/internal/compiler/host.go:81 +0xa0
github.com/microsoft/typescript-go/internal/compiler.(*fileLoader).parseSourceFile(0x40000f3008, {0x4004eac6c0, 0x2a})
        D:/typescript-go/internal/compiler/fileloader.go:310 +0xd4
github.com/microsoft/typescript-go/internal/compiler.(*parseTask).start.func1()
        D:/typescript-go/internal/compiler/fileloader.go:251 +0x34
github.com/microsoft/typescript-go/internal/core.(*singleThreadedWorkGroup).RunAndWait(0x4000166a20)
        D:/typescript-go/internal/core/workgroup.go:73 +0x54
github.com/microsoft/typescript-go/internal/compiler.processAllProgramFiles({0x7ff6d1e75110, 0x40002a2b80}, {{0x0, 0x0}, {0x40002e6608, 0x25f, 0x25f}, {0x7ff6d1e75110, 0x40002a2b80}, 0x4000138308, ...}, ...)
        D:/typescript-go/internal/compiler/fileloader.go:84 +0x390
github.com/microsoft/typescript-go/internal/compiler.NewProgram({{0x0, 0x0}, {0x40002e6608, 0x25f, 0x25f}, {0x7ff6d1e75110, 0x40002a2b80}, 0x4000138308, 0x0, {0x0, ...}, ...})
        D:/typescript-go/internal/compiler/program.go:158 +0x74c
github.com/microsoft/typescript-go/internal/compiler.NewProgramFromParsedCommandLine(0x4000134488?, {0x7ff6d1e75110, 0x40002a2b80})
        D:/typescript-go/internal/compiler/program.go:257 +0xfc
github.com/microsoft/typescript-go/internal/execute.performCompilation({0x7ff6d1e75610, 0x40000d0a00}, 0x0, 0x40000fa240, 0x40000a1120)
        D:/typescript-go/internal/execute/tsc.go:194 +0x164
github.com/microsoft/typescript-go/internal/execute.executeCommandLineWorker({0x7ff6d1e75610, 0x40000d0a00}, 0x0, 0x40000fa090)
        D:/typescript-go/internal/execute/tsc.go:124 +0x588
github.com/microsoft/typescript-go/internal/execute.CommandLine({0x7ff6d1e75610, 0x40000d0a00}, 0x0, {0x40000b8010?, 0x7?, 0x7?})
        D:/typescript-go/internal/execute/tsc.go:23 +0x7c
main.runMain()
        D:/typescript-go/cmd/tsgo/main.go:23 +0x11c
main.main()
        D:/typescript-go/cmd/tsgo/main.go:10 +0x1c

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @sandersn@DanielRosenwasser@jakebailey

      Issue actions

        Crash on parsing webpack dependency (neo-async) · Issue #898 · microsoft/typescript-go