INTERNAL: BytecodeEmitter when calling `uadd_with_overflow`
- Dominant language
- C++
- Stars
- 1.9k
- Forks
- 283
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 135
Description
The following snippet:
```
import std
fn uadd8(a: u8, b: u8) -> u8 {
let (_, sum) = std::uadd_with_overflow(a, b);
sum
}
#[test]
fn adders_test() {
assert_eq(uadd8(u8:1, u8:2), u8:3);
}
```
produce this error:
```
E1218 08:15:25.577361 6269 command_line_utils.cc:45] Could not extract a textual position from error message: INTERNAL: BytecodeEmitter could not find slot or binding for name: V @ /content/conda-env/share/xls/xls/dslx/interpreter_main.runfiles/com_google_xls/xls/dslx/stdlib/std.x:654:6-654:7 stack: 0x593654df48c9: xls::dslx::BytecodeEmitter::HandleNameRefInternal()
0x593654df3ab1: xls::dslx::BytecodeEmitter::HandleNameRef()
0x593654e715db: xls::dslx::NameRef::AcceptExpr()
0x593654df20b0: xls::dslx::BytecodeEmitter::HandleInvocation()
0x593654e734b8: xls::dslx::Invocation::AcceptExpr()
0x593654dde0b2: xls::dslx::BytecodeEmitter::EmitExpression()
0x593654d05f5f: xls::dslx::internal::(anonymous namespace)::EagerlyPopulateParametricEnvMap()
0x593654d050a2: xls::dslx::internal::FunctionInstantiator::Instantiate()
0x593654d023c7: xls::dslx::InstantiateFunction()
0x593654cac0bf: xls::dslx::InstantiateParametricFunction()
0x593654c9d01f: xls::dslx::CheckInvocation()
0x593654cab0b8: std::__1::__function::__func<>::operator()()
0x593654cf8201: xls::dslx::(anonymous namespace)::DeduceInstantiation()
0x593654cd4749: xls::dslx::(anonymous namespace)::DeduceVisitor::HandleInvocation()
0x593654e7348b: xls::dslx::Invocation::Accept()
0x593654cc67eb: xls::dslx::Deduce()
0x593654caae15: std::__1::__function::__func<>::operator()()
0x593654d0cd98: xls::dslx::DeduceCtx::Deduce()
0x593654cc6cc2: xls::dslx::DeduceAndResolve()
0x593654cd5c45: xls::dslx::(anonymous namespace)::DeduceVisitor::HandleLet()
0x593654e7472b: xls::dslx::Let::Accept()
0x593654cc67eb: xls::dslx::Deduce()
0x593654caae15: std::__1::__function::__func<>::operator()()
0x593654d0cd98: xls::dslx::DeduceCtx::Deduce()
0x593654cc9bb4: xls::dslx::(anonymous namespace)::DeduceVisitor::HandleStatement()
0x593654e7452b: xls::dslx::Statement::Accept()
0x593654cc67eb: xls::dslx::Deduce()
0x593654caae15: std::__1::__function::__func<>::operator()()
0x593654d0cd98: xls::dslx::DeduceCtx::Deduce()
0x593654cce9b8: xls::dslx::(anonymous namespace)::DeduceVisitor::HandleBlock()
0x593654e73cbb: xls::dslx::Block::Accept()
0x593654cc67eb: xls::dslx::Deduce()
0x593654caae15: std::__1::__function::__func<>::operator()()
0x593654d0cd98: xls::dslx::DeduceCtx::Deduce()
0x593654cc6cc2: xls::dslx::DeduceAndResolve()
0x593654c98728: xls::dslx::CheckFunction()
0x593654ca3db7: xls::dslx::CheckModule()
0x593654c30f6e: xls::dslx::TypecheckModule()
0x593654c305b3: xls::dslx::ParseAndTypecheck()
0x593654c2772d: xls::dslx::ParseAndTest()
0x59365334c66a: main
0x7e9141ac0d90: [unknown]
: INVALID_ARGUMENT: Provided status is not in recognized error form: INTERNAL: BytecodeEmitter could not find slot or binding for name: V @ /content/conda-env/share/xls/xls/dslx/interpreter_main.runfiles/com_google_xls/xls/dslx/stdlib/std.x:654:6-654:7 stack: 0x593654df48c9: xls::dslx::BytecodeEmitter::HandleNameRefInternal()
0x593654df3ab1: xls::dslx::BytecodeEmitter::HandleNameRef()
0x593654e715db: xls::dslx::NameRef::AcceptExpr()
0x593654df20b0: xls::dslx::BytecodeEmitter::HandleInvocation()
0x593654e734b8: xls::dslx::Invocation::AcceptExpr()
0x593654dde0b2: xls::dslx::BytecodeEmitter::EmitExpression()
0x593654d05f5f: xls::dslx::internal::(anonymous namespace)::EagerlyPopulateParametricEnvMap()
0x593654d050a2: xls::dslx::internal::FunctionInstantiator::Instantiate()
0x593654d023c7: xls::dslx::InstantiateFunction()
0x593654cac0bf: xls::dslx::InstantiateParametricFunction()
0x593654c9d01f: xls::dslx::CheckInvocation()
0x593654cab0b8: std::__1::__function::__func<>::operator()()
0x593654cf8201: xls::dslx::(anonymous namespace)::DeduceInstantiation()
0x593654cd4749: xls::dslx::(anonymous namespace)::DeduceVisitor::HandleInvocation()
0x593654e7348b: xls::dslx::Invocation::Accept()
0x593654cc67eb: xls::dslx::Deduce()
0x593654caae15: std::__1::__function::__func<>::operator()()
0x593654d0cd98: xls::dslx::DeduceCtx::Deduce()
0x593654cc6cc2: xls::dslx::DeduceAndResolve()
0x593654cd5c45: xls::dslx::(anonymous namespace)::DeduceVisitor::HandleLet()
0x593654e7472b: xls::dslx::Let::Accept()
0x593654cc67eb: xls::dslx::Deduce()
0x593654caae15: std::__1::__function::__func<>::operator()()
0x593654d0cd98: xls::dslx::DeduceCtx::Deduce()
0x593654cc9bb4: xls::dslx::(anonymous namespace)::DeduceVisitor::HandleStatement()
0x593654e7452b: xls::dslx::Statement::Accept()
0x593654cc67eb: xls::dslx::Deduce()
0x593654caae15: std::__1::__function::__func<>::operator()()
0x593654d0cd98: xls::dslx::DeduceCtx::Deduce()
0x593654cce9b8: xls::dslx::(anonymous namespace)::DeduceVisitor::HandleBlock()
0x593654e73cbb: xls::dslx::Block::Accept()
0x593654cc67eb: xls::dslx::Deduce()
0x593654caae15: std::__1::__function::__func<>::operator()()
0x593654d0cd98: xls::dslx::DeduceCtx::Deduce()
0x593654cc6cc2: xls::dslx::DeduceAndResolve()
0x593654c98728: xls::dslx::CheckFunction()
0x593654ca3db7: xls::dslx::CheckModule()
0x593654c30f6e: xls::dslx::TypecheckModule()
0x593654c305b3: xls::dslx::ParseAndTypecheck()
0x593654c2772d: xls::dslx::ParseAndTest()
0x59365334c66a: main
0x7e9141ac0d90: [unknown]
Error: INTERNAL: BytecodeEmitter could not find slot or binding for name: V @ /content/conda-env/share/xls/xls/dslx/interpreter_main.runfiles/com_google_xls/xls/dslx/stdlib/std.x:654:6-654:7 stack: 0x593654df48c9: xls::dslx::BytecodeEmitter::HandleNameRefInternal()
0x593654df3ab1: xls::dslx::BytecodeEmitter::HandleNameRef()
0x593654e715db: xls::dslx::NameRef::AcceptExpr()
0x593654df20b0: xls::dslx::BytecodeEmitter::HandleInvocation()
0x593654e734b8: xls::dslx::Invocation::AcceptExpr()
0x593654dde0b2: xls::dslx::BytecodeEmitter::EmitExpression()
0x593654d05f5f: xls::dslx::internal::(anonymous namespace)::EagerlyPopulateParametricEnvMap()
0x593654d050a2: xls::dslx::internal::FunctionInstantiator::Instantiate()
0x593654d023c7: xls::dslx::InstantiateFunction()
0x593654cac0bf: xls::dslx::InstantiateParametricFunction()
0x593654c9d01f: xls::dslx::CheckInvocation()
0x593654cab0b8: std::__1::__function::__func<>::operator()()
0x593654cf8201: xls::dslx::(anonymous namespace)::DeduceInstantiation()
0x593654cd4749: xls::dslx::(anonymous namespace)::DeduceVisitor::HandleInvocation()
0x593654e7348b: xls::dslx::Invocation::Accept()
0x593654cc67eb: xls::dslx::Deduce()
0x593654caae15: std::__1::__function::__func<>::operator()()
0x593654d0cd98: xls::dslx::DeduceCtx::Deduce()
0x593654cc6cc2: xls::dslx::DeduceAndResolve()
0x593654cd5c45: xls::dslx::(anonymous namespace)::DeduceVisitor::HandleLet()
0x593654e7472b: xls::dslx::Let::Accept()
0x593654cc67eb: xls::dslx::Deduce()
0x593654caae15: std::__1::__function::__func<>::operator()()
0x593654d0cd98: xls::dslx::DeduceCtx::Deduce()
0x593654cc9bb4: xls::dslx::(anonymous namespace)::DeduceVisitor::HandleStatement()
0x593654e7452b: xls::dslx::Statement::Accept()
0x593654cc67eb: xls::dslx::Deduce()
0x593654caae15: std::__1::__function::__func<>::operator()()
0x593654d0cd98: xls::dslx::DeduceCtx::Deduce()
0x593654cce9b8: xls::dslx::(anonymous namespace)::DeduceVisitor::HandleBlock()
0x593654e73cbb: xls::dslx::Block::Accept()
0x593654cc67eb: xls::dslx::Deduce()
0x593654caae15: std::__1::__function::__func<>::operator()()
0x593654d0cd98: xls::dslx::DeduceCtx::Deduce()
0x593654cc6cc2: xls::dslx::DeduceAndResolve()
0x593654c98728: xls::dslx::CheckFunction()
0x593654ca3db7: xls::dslx::CheckModule()
0x593654c30f6e: xls::dslx::TypecheckModule()
0x593654c305b3: xls::dslx::ParseAndTypecheck()
0x593654c2772d: xls::dslx::ParseAndTest()
0x59365334c66a: main
0x7e9141ac0d90: [unknown]
```
See the following notebook for an easy repro:
https://colab.research.google.com/gist/proppy/0a353c1cff2cca397ddabc08c9fcc15d/xls-playground-sandbox.ipynb
Contributor guide
Assessment
This issue has not been assessed yet.