Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Any match failures trigger panic #494

Closed
tsandall opened this issue Oct 30, 2017 · 0 comments
Closed

Any match failures trigger panic #494

tsandall opened this issue Oct 30, 2017 · 0 comments
Labels

Comments

@tsandall
Copy link
Member

A match failure on a ref of type any triggers a panic:

x = ["foo", 100]; x[_] = null

Panic:

panic: unreachable [recovered]
	panic: unreachable

goroutine 65 [running]:
testing.tRunner.func1(0xc4204648f0)
	/usr/local/Cellar/go/1.8.3/libexec/src/testing/testing.go:622 +0x29d
panic(0x1235c40, 0xc42044b530)
	/usr/local/Cellar/go/1.8.3/libexec/src/runtime/panic.go:489 +0x2cf
github.com/open-policy-agent/opa/ast.unifies(0x1390f40, 0xc420467b60, 0x1390fc0, 0x13d2378, 0xc4204678c0)
	/Users/torin/go/src/github.com/open-policy-agent/opa/ast/check.go:682 +0x195
github.com/open-policy-agent/opa/ast.unify2(0xc42044b450, 0xc4204678a0, 0x1390f40, 0xc420467b60, 0xc4204678c0, 0x1390fc0, 0x13d2378, 0x2)
	/Users/torin/go/src/github.com/open-policy-agent/opa/ast/check.go:285 +0x926
github.com/open-policy-agent/opa/ast.(*typeChecker).checkExprEq(0xc4204679a0, 0xc42044b450, 0xc4203dc4b0, 0xc420084a90)
	/Users/torin/go/src/github.com/open-policy-agent/opa/ast/check.go:263 +0x14c
github.com/open-policy-agent/opa/ast.(*typeChecker).(github.com/open-policy-agent/opa/ast.checkExprEq)-fm(0xc42044b450, 0xc4203dc4b0, 0x1280fd1)
	/Users/torin/go/src/github.com/open-policy-agent/opa/ast/check.go:33 +0x3e
github.com/open-policy-agent/opa/ast.(*typeChecker).checkExpr(0xc4204679a0, 0xc42044b450, 0xc4203dc4b0, 0xc4203dc4b0)
	/Users/torin/go/src/github.com/open-policy-agent/opa/ast/check.go:205 +0xc6
github.com/open-policy-agent/opa/ast.(*typeChecker).CheckBody.func1(0xc4203dc4b0, 0x1170901)
	/Users/torin/go/src/github.com/open-policy-agent/opa/ast/check.go:66 +0x220
github.com/open-policy-agent/opa/ast.WalkExprs.func1(0x1277640, 0xc4203dc4b0, 0x1170901)
	/Users/torin/go/src/github.com/open-policy-agent/opa/ast/visit.go:127 +0x42
github.com/open-policy-agent/opa/ast.(*GenericVisitor).Visit(0xc42008c120, 0x1277640, 0xc4203dc4b0, 0x0, 0x0)
	/Users/torin/go/src/github.com/open-policy-agent/opa/ast/visit.go:209 +0x3d
github.com/open-policy-agent/opa/ast.Walk(0x138f940, 0xc42008c120, 0x1277640, 0xc4203dc4b0)
	/Users/torin/go/src/github.com/open-policy-agent/opa/ast/visit.go:18 +0x66
github.com/open-policy-agent/opa/ast.Walk(0x138f940, 0xc42008c120, 0x1268f40, 0xc420467a00)
	/Users/torin/go/src/github.com/open-policy-agent/opa/ast/visit.go:56 +0xacd
github.com/open-policy-agent/opa/ast.WalkExprs(0x1268f40, 0xc420467a00, 0xc4204679e0)
	/Users/torin/go/src/github.com/open-policy-agent/opa/ast/visit.go:131 +0xb5
github.com/open-policy-agent/opa/ast.(*typeChecker).CheckBody(0xc4204679a0, 0xc42044b450, 0xc42044b420, 0x2, 0x2, 0xc420083400, 0xc420023900, 0x0, 0x0)
	/Users/torin/go/src/github.com/open-policy-agent/opa/ast/check.go:78 +0x2a5
github.com/open-policy-agent/opa/ast.TestCheckMatchErrors.func1(0xc4204648f0)
	/Users/torin/go/src/github.com/open-policy-agent/opa/ast/check_test.go:556 +0xa0
testing.tRunner(0xc4204648f0, 0xc42007b0b0)
	/usr/local/Cellar/go/1.8.3/libexec/src/testing/testing.go:657 +0x96
created by testing.(*T).Run
	/usr/local/Cellar/go/1.8.3/libexec/src/testing/testing.go:697 +0x2ca
exit status 2
@tsandall tsandall added the bug label Oct 30, 2017
tsandall added a commit to tsandall/opa that referenced this issue Oct 30, 2017
tsandall added a commit that referenced this issue Oct 30, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant