Intermittent internal panic
So I use nilaway at work and recently our pipeline started failing due to nilaway throwing a INTERNAL PANIC error. We upgraded our local dev machines to latest as well but are only facing the error intermittently there. Since it is proprietary code I cannot share the snippet that seems to be causing this but I also think it has nothing to do with that file since all that it contains is one struct definition and 10 constant string variables' declarations.
This is the error and stacktrace that it throws. The error only shows up occasionally but it is always this error and stacktrace that gets thrown. I am obviously hiding the path and name of the file that it seems to throw this for since this is from my work. I do not know how to write a snippet that would reproduct this issue because I have no idea what it is panicing about. If someone can help me understand the error then I maybe be able to write a snippet that captures the bit of code from the project that is causing this issue.
```
/Users/georgethomasshanti/project/***/***.go:1:1: error: INTERNAL ERROR(s):
nilaway_assertion_analyzer: nilaway_function_analyzer: INTERNAL PANIC: the empty identifier is not an expression - don't pass it to ParseExprAsProducer
goroutine 74273 [running]:
runtime/debug.Stack()
/opt/homebrew/opt/go/libexec/src/runtime/debug/stack.go:26 +0x64
go.uber.org/nilaway/assertion/function.analyzeFunc.func1()
/Users/georgethomasshanti/go/pkg/mod/go.uber.org/nilaway@v0.0.0-20250821055425-361559d802f0/assertion/function/analyzer.go:443 +0x50
panic({0x104de1ca0?, 0x104e83160?})
/opt/homebrew/opt/go/libexec/src/runtime/panic.go:792 +0x124
go.uber.org/nilaway/assertion/function/assertiontree.(*RootAssertionNode).ParseExprAsProducer.func1(0x14000067008?)
/Users/georgethomasshanti/go/pkg/mod/go.uber.org/nilaway@v0.0.0-20250821055425-361559d802f0/assertion/function/assertiontree/parse_expr_producer.go:63 +0x98c
go.uber.org/nilaway/assertion/function/assertiontree.(*RootAssertionNode).ParseExprAsProducer(0x140716d1130, {0x104e885c8?, 0x14023434f00}, 0x0)
/Users/georgethomasshanti/go/pkg/mod/go.uber.org/nilaway@v0.0.0-20250821055425-361559d802f0/assertion/function/assertiontree/parse_expr_producer.go:189 +0x12bc
go.uber.org/nilaway/assertion/function/assertiontree.(*RootAssertionNode).AddProduction(0x140716d1130, 0x1405bfd7f00, {0x0, 0x0, 0x0})
/Users/georgethomasshanti/go/pkg/mod/go.uber.org/nilaway@v0.0.0-20250821055425-361559d802f0/assertion/function/assertiontree/root_assertion_node.go:333 +0x40
go.uber.org/nilaway/assertion/function/assertiontree.backpropAcrossAssignment(0x140716d1130, {0x14023434f40, 0x2, 0x2}, {0x1401d8c85f0, 0x1, 0x1})
/Users/georgethomasshanti/go/pkg/mod/go.uber.org/nilaway@v0.0.0-20250821055425-361559d802f0/assertion/function/assertiontree/backprop.go:392 +0x6ac
go.uber.org/nilaway/assertion/function/assertiontree.backpropAcrossNode(0x140716d1130, {0x104e86de8?, 0x14022b90b40})
/Users/georgethomasshanti/go/pkg/mod/go.uber.org/nilaway@v0.0.0-20250821055425-361559d802f0/assertion/function/assertiontree/backprop.go:69 +0x264
go.uber.org/nilaway/assertion/function/assertiontree.backpropAcrossBlock(0x140716d1130, 0x14149c57d40)
/Users/georgethomasshanti/go/pkg/mod/go.uber.org/nilaway@v0.0.0-20250821055425-361559d802f0/assertion/function/assertiontree/backprop.go:44 +0x78
go.uber.org/nilaway/assertion/function/assertiontree.BackpropAcrossFunc({0x104e896a8, 0x1414547f900}, 0x14145431a30, 0x1403595e1e0, {0x1403595e1e0, 0x0, 0x14145431a30, 0x141458dc150, 0x141458dc120, 0x141458bfb30, ...}, ...)
/Users/georgethomasshanti/go/pkg/mod/go.uber.org/nilaway@v0.0.0-20250821055425-361559d802f0/assertion/function/assertiontree/backprop.go:1013 +0x8e8
go.uber.org/nilaway/assertion/function.analyzeFunc({0x104e896a8?, 0x1414547f900?}, 0x14145431a30, 0x1403595e1e0, {0x1403595e1e0, 0x0, 0x14145431a30, 0x141458dc150, 0x141458dc120, 0x141458bfb30, ...}, ...)
/Users/georgethomasshanti/go/pkg/mod/go.uber.org/nilaway@v0.0.0-20250821055425-361559d802f0/assertion/function/analyzer.go:449 +0xe4
created by go.uber.org/nilaway/assertion/function.run in goroutine 10106
/Users/georgethomasshanti/go/pkg/mod/go.uber.org/nilaway@v0.0.0-20250821055425-361559d802f0/assertion/function/analyzer.go:188 +0x1074
```
关闭于 2025-12-11 7 条评论