Coder Social home page Coder Social logo

SIGSEGV in ir_converter_main about xls HOT 4 OPEN

proppy avatar proppy commented on June 9, 2024
SIGSEGV in ir_converter_main

from xls.

Comments (4)

proppy avatar proppy commented on June 9, 2024

w/ --config asan;

xls 🍡  bazel-bin/xls/dslx/ir_convert/ir_converter_main -top Segv ~/src/github.com/proppy/xls-tapeouts/dslx/segv.x
AddressSanitizer:DEADLYSIGNAL
=================================================================
==12424==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000020 (pc 0x5c6c76ad431b bp 0x7ffe711cbdd0 sp 0x7ffe711cbdd0 T0)
==12424==The signal is caused by a READ memory access.
==12424==Hint: address points to the zero page.
    #0 0x5c6c76ad431b  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0x170931b) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #1 0x5c6c761c327a  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xdf827a) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #2 0x5c6c761be437  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xdf3437) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #3 0x5c6c76111d0d  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xd46d0d) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #4 0x5c6c76113d45  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xd48d45) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #5 0x5c6c761c1f06  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xdf6f06) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #6 0x5c6c761ddce7  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xe12ce7) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #7 0x5c6c76127bf3  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xd5cbf3) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #8 0x5c6c761eb964  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xe20964) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #9 0x5c6c76aa3bab  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0x16d8bab) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #10 0x5c6c761da5b1  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xe0f5b1) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #11 0x5c6c761bdd92  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xdf2d92) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #12 0x5c6c761ad6fb  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xde26fb) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #13 0x5c6c761eaf44  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xe1ff44) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #14 0x5c6c76aa36cb  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0x16d86cb) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #15 0x5c6c761da5b1  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xe0f5b1) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #16 0x5c6c761ac65f  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xde165f) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #17 0x5c6c761eb6b4  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xe206b4) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #18 0x5c6c76aa212b  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0x16d712b) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #19 0x5c6c761da5b1  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xe0f5b1) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #20 0x5c6c7619c640  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xdd1640) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #21 0x5c6c760e0548  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xd15548) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #22 0x5c6c760ecade  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xd21ade) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #23 0x5c6c760e4e56  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xd19e56) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #24 0x5c6c760e7e02  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xd1ce02) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #25 0x5c6c76062640  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xc97640) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)
    #26 0x785ca714dd09  (/lib/x86_64-linux-gnu/libc.so.6+0x23d09) (BuildId: a3780b0b8a5bf5876e31d16b0a9d8fc6ba69a1f2)
    #27 0x5c6c75f87da9  (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0xbbcda9) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068)

AddressSanitizer can not provide additional info.
SUMMARY: AddressSanitizer: SEGV (/home/proppy/.cache/bazel/_bazel_proppy/35aabbbfbe1787ca5cf765297670650d/execroot/com_google_xls/bazel-out/k8-dbg/bin/xls/dslx/ir_convert/ir_converter_main+0x170931b) (BuildId: 7c6958d5e8e5e3cadf0c5131db80f068) 
==12424==ABORTING

from xls.

proppy avatar proppy commented on June 9, 2024

with lldb:

(lldb) r  -top Segv /home/proppy/src/github.com/proppy/xls-tapeouts/dslx/segv.x
r  -top Segv /home/proppy/src/github.com/proppy/xls-tapeouts/dslx/segv.x
Process 16869 launched: '/home/proppy/src/github.com/google/xls/bazel-bin/xls/dslx/ir_convert/ir_converter_main' (x86_64)
Process 16869 stopped
* thread #1, name = 'ir_converter_ma', stop reason = signal SIGSEGV: invalid address (fault address: 0x20)
    frame #0: 0x0000555555df938c ir_converter_main`xls::Node::GetType(this=0x0000000000000000) const at node.h:70:34
   67  	  // traverse the graph.
   68  	  absl::Status VisitSingleNode(DfsVisitor* visitor);
   69  	
-> 70  	  Type* GetType() const { return type_; }
    	                                 ^
   71  	
   72  	  int64_t BitCountOrDie() const {
   73  	    return GetType()->AsBitsOrDie()->bit_count();
(lldb) bt
bt
* thread #1, name = 'ir_converter_ma', stop reason = signal SIGSEGV: invalid address (fault address: 0x20)
  * frame #0: 0x0000555555df938c ir_converter_main`xls::Node::GetType(this=0x0000000000000000) const at node.h:70:34
    frame #1: 0x000055555636720d ir_converter_main`xls::BValue::GetType(this=0x00007fffffff8978) const at function_builder.cc:51:48
    frame #2: 0x0000555555da7756 ir_converter_main`xls::dslx::FunctionConverter::HandleLet(this=0x0000555556a1e178, loc=SourceInfo @ 0x00007fffffff8a78)::$_1::operator()(xls::dslx::NameDefTree*, long, long) const::'lambda'(xls::SourceInfo)::operator()(xls::SourceInfo) const at function_converter.cc:713:44
    frame #3: 0x0000555555da75a6 ir_converter_main`decltype(__f=0x0000555556a1e178, __args=0x00007fffffff9100)::$_1::operator()(xls::dslx::NameDefTree*, long, long) const::'lambda'(xls::SourceInfo)&>()(std::declval<xls::SourceInfo const&>())) std::__1::__invoke[abi:v160000]<xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1::operator()(xls::dslx::NameDefTree*, long, long) const::'lambda'(xls::SourceInfo)&, xls::SourceInfo const&>(xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1::operator()(xls::dslx::NameDefTree*, long, long) const::'lambda'(xls::SourceInfo)&, xls::SourceInfo const&) at invoke.h:394:23
    frame #4: 0x0000555555da752d ir_converter_main`xls::BValue std::__1::__invoke_void_return_wrapper<xls::BValue, false>::__call<xls::dslx::FunctionConverter::HandleLet(__args=0x0000555556a1e178, __args=0x00007fffffff9100)::$_1::operator()(xls::dslx::NameDefTree*, long, long) const::'lambda'(xls::SourceInfo)&, xls::SourceInfo const&>(xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1::operator()(xls::dslx::NameDefTree*, long, long) const::'lambda'(xls::SourceInfo)&, xls::SourceInfo const&) at invoke.h:478:16
    frame #5: 0x0000555555da74f5 ir_converter_main`std::__1::__function::__alloc_func<xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1::operator()(xls::dslx::NameDefTree*, long, long) const::'lambda'(xls::SourceInfo), std::__1::allocator<xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1::operator()(xls::dslx::NameDefTree*, long, long) const::'lambda'(xls::SourceInfo)>, xls::BValue (xls::SourceInfo const&)>::operator(this=0x0000555556a1e178, __arg=0x00007fffffff9100)[abi:v160000](xls::SourceInfo const&) at function.h:185:16
    frame #6: 0x0000555555da6a11 ir_converter_main`std::__1::__function::__func<xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1::operator()(xls::dslx::NameDefTree*, long, long) const::'lambda'(xls::SourceInfo), std::__1::allocator<xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1::operator()(xls::dslx::NameDefTree*, long, long) const::'lambda'(xls::SourceInfo)>, xls::BValue (xls::SourceInfo const&)>::operator(this=0x0000555556a1e170, __arg=0x00007fffffff9100)(xls::SourceInfo const&) at function.h:356:12
    frame #7: 0x0000555555e30a7d ir_converter_main`std::__1::__function::__value_func<xls::BValue (xls::SourceInfo const&)>::operator(this=0x00007fffffff9500, __args=0x00007fffffff9100)[abi:v160000](xls::SourceInfo const&) const at function.h:510:16
    frame #8: 0x0000555555e30a1d ir_converter_main`std::__1::function<xls::BValue (xls::SourceInfo const&)>::operator(this=0x00007fffffff9500, __arg=0x00007fffffff9100)(xls::SourceInfo const&) const at function.h:1156:12
    frame #9: 0x0000555555d9704f ir_converter_main`xls::dslx::FunctionConverter::Def(this=0x00007fffffff9238, loc=0x00007fffffff9100)> const&)::$_0::operator()(xls::SourceInfo const&) const at function_converter.cc:449:23
    frame #10: 0x0000555555d97008 ir_converter_main`decltype(__f=0x00007fffffff9238, __args=0x00007fffffff9100)> const&)::$_0&>()(std::declval<xls::SourceInfo const&>())) std::__1::__invoke[abi:v160000]<xls::dslx::FunctionConverter::Def(xls::dslx::AstNode const*, std::__1::function<xls::BValue (xls::SourceInfo const&)> const&)::$_0&, xls::SourceInfo const&>(xls::dslx::FunctionConverter::Def(xls::dslx::AstNode const*, std::__1::function<xls::BValue (xls::SourceInfo const&)> const&)::$_0&, xls::SourceInfo const&) at invoke.h:394:23
    frame #11: 0x0000555555d96fa8 ir_converter_main`absl::lts_20230802::StatusOr<xls::BValue> std::__1::__invoke_void_return_wrapper<absl::lts_20230802::StatusOr<xls::BValue>, false>::__call<xls::dslx::FunctionConverter::Def(__args=0x00007fffffff9238, __args=0x00007fffffff9100)> const&)::$_0&, xls::SourceInfo const&>(xls::dslx::FunctionConverter::Def(xls::dslx::AstNode const*, std::__1::function<xls::BValue (xls::SourceInfo const&)> const&)::$_0&, xls::SourceInfo const&) at invoke.h:478:16
    frame #12: 0x0000555555d96f68 ir_converter_main`std::__1::__function::__alloc_func<xls::dslx::FunctionConverter::Def(xls::dslx::AstNode const*, std::__1::function<xls::BValue (xls::SourceInfo const&)> const&)::$_0, std::__1::allocator<xls::dslx::FunctionConverter::Def(xls::dslx::AstNode const*, std::__1::function<xls::BValue (xls::SourceInfo const&)> const&)::$_0>, absl::lts_20230802::StatusOr<xls::BValue> (xls::SourceInfo const&)>::operator(this=0x00007fffffff9238, __arg=0x00007fffffff9100)[abi:v160000](xls::SourceInfo const&) at function.h:185:16
    frame #13: 0x0000555555d9634c ir_converter_main`std::__1::__function::__func<xls::dslx::FunctionConverter::Def(xls::dslx::AstNode const*, std::__1::function<xls::BValue (xls::SourceInfo const&)> const&)::$_0, std::__1::allocator<xls::dslx::FunctionConverter::Def(xls::dslx::AstNode const*, std::__1::function<xls::BValue (xls::SourceInfo const&)> const&)::$_0>, absl::lts_20230802::StatusOr<xls::BValue> (xls::SourceInfo const&)>::operator(this=0x00007fffffff9230, __arg=0x00007fffffff9100)(xls::SourceInfo const&) at function.h:356:12
    frame #14: 0x0000555555e3099d ir_converter_main`std::__1::__function::__value_func<absl::lts_20230802::StatusOr<xls::BValue> (xls::SourceInfo const&)>::operator(this=0x00007fffffff9230, __args=0x00007fffffff9100)[abi:v160000](xls::SourceInfo const&) const at function.h:510:16
    frame #15: 0x0000555555dfacc8 ir_converter_main`std::__1::function<absl::lts_20230802::StatusOr<xls::BValue> (xls::SourceInfo const&)>::operator(this=0x00007fffffff9230, __arg=0x00007fffffff9100)(xls::SourceInfo const&) const at function.h:1156:12
    frame #16: 0x0000555555d4a861 ir_converter_main`xls::dslx::FunctionConverter::DefWithStatus(this=0x00007fffffffc920, node=0x0000555556a21de0, ir_func=0x00007fffffff9230)> const&) at function_converter.cc:434:3
    frame #17: 0x0000555555d4b41a ir_converter_main`xls::dslx::FunctionConverter::Def(this=0x00007fffffffc920, node=0x0000555556a21de0, ir_func=0x00007fffffff9500)> const&) at function_converter.cc:446:10
    frame #18: 0x0000555555da5f84 ir_converter_main`xls::dslx::FunctionConverter::HandleLet(this=0x00007fffffff9d68, x=0x0000555556a21de0, level=1, index=0)::$_1::operator()(xls::dslx::NameDefTree*, long, long) const at function_converter.cc:707:24
    frame #19: 0x0000555555da5cb1 ir_converter_main`decltype(__f=0x00007fffffff9d68, __args=0x00007fffffff9718, __args=0x00007fffffff9710, __args=0x00007fffffff9708)::$_1&>()(std::declval<xls::dslx::NameDefTree*>(), std::declval<long>(), std::declval<long>())) std::__1::__invoke[abi:v160000]<xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1&, xls::dslx::NameDefTree*, long, long>(xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1&, xls::dslx::NameDefTree*&&, long&&, long&&) at invoke.h:394:23
    frame #20: 0x0000555555da5c38 ir_converter_main`absl::lts_20230802::Status std::__1::__invoke_void_return_wrapper<absl::lts_20230802::Status, false>::__call<xls::dslx::FunctionConverter::HandleLet(__args=0x00007fffffff9d68, __args=0x00007fffffff9718, __args=0x00007fffffff9710, __args=0x00007fffffff9708)::$_1&, xls::dslx::NameDefTree*, long, long>(xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1&, xls::dslx::NameDefTree*&&, long&&, long&&) at invoke.h:478:16
    frame #21: 0x0000555555da5be8 ir_converter_main`std::__1::__function::__alloc_func<xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1, std::__1::allocator<xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1>, absl::lts_20230802::Status (xls::dslx::NameDefTree*, long, long)>::operator(this=0x00007fffffff9d68, __arg=0x00007fffffff9718, __arg=0x00007fffffff9710, __arg=0x00007fffffff9708)[abi:v160000](xls::dslx::NameDefTree*&&, long&&, long&&) at function.h:185:16
    frame #22: 0x0000555555da4fac ir_converter_main`std::__1::__function::__func<xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1, std::__1::allocator<xls::dslx::FunctionConverter::HandleLet(xls::dslx::Let const*)::$_1>, absl::lts_20230802::Status (xls::dslx::NameDefTree*, long, long)>::operator(this=0x00007fffffff9d60, __arg=0x00007fffffff9718, __arg=0x00007fffffff9710, __arg=0x00007fffffff9708)(xls::dslx::NameDefTree*&&, long&&, long&&) at function.h:356:12
    frame #23: 0x0000555555e0bb8d ir_converter_main`std::__1::__function::__value_func<absl::lts_20230802::Status (xls::dslx::NameDefTree*, long, long)>::operator(this=0x00007fffffff9d60, __args=0x00007fffffff9718, __args=0x00007fffffff9710, __args=0x00007fffffff9708)[abi:v160000](xls::dslx::NameDefTree*&&, long&&, long&&) const at function.h:510:16
    frame #24: 0x0000555555e0bb18 ir_converter_main`std::__1::function<absl::lts_20230802::Status (xls::dslx::NameDefTree*, long, long)>::operator(this=0x00007fffffff9d60, __arg=0x0000555556a21de0, __arg=1, __arg=0)(xls::dslx::NameDefTree*, long, long) const at function.h:1156:12
    frame #25: 0x0000555555dfc77c ir_converter_main`xls::dslx::NameDefTree::DoPreorder(this=0x0000555556a18f50, f=0x00007fffffff9d60, level=1)> const&, long) at ast.h:2798:7
    frame #26: 0x0000555555d525af ir_converter_main`xls::dslx::FunctionConverter::HandleLet(this=0x00007fffffffc920, node=0x0000555556a2c580) at function_converter.cc:725:5
    frame #27: 0x0000555555e0652c ir_converter_main`xls::dslx::FunctionConverterVisitor::HandleLet(this=0x00007fffffffa078, node=0x0000555556a2c580) at function_converter.cc:283:3
    frame #28: 0x00005555563393ac ir_converter_main`xls::dslx::Let::Accept(this=0x0000555556a2c580, v=0x00007fffffffa078) const at ast.h:2827:15
    frame #29: 0x0000555555df9da3 ir_converter_main`xls::dslx::FunctionConverterVisitor::Visit(this=0x00007fffffffa078, n=0x0000555556a2c580) at function_converter.cc:223:15
    frame #30: 0x0000555555d492a1 ir_converter_main`xls::dslx::FunctionConverter::Visit(this=0x00007fffffffc920, node=0x0000555556a2c580) at function_converter.cc:349:18
    frame #31: 0x0000555555d95a59 ir_converter_main`xls::dslx::FunctionConverter::HandleStatement(this=0x00007fffffffa4d0, let=0x0000555556a2c580)::$_3::operator()(xls::dslx::Let*) const at function_converter.cc:2733:28
    frame #32: 0x0000555555d959ef ir_converter_main`decltype(__f=0x00007fffffffa4c0, __args=0x0000555556a20ab8)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3> >()(std::declval<xls::dslx::Let* const&>())) std::__1::__invoke[abi:v160000]<xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3>, xls::dslx::Let* const&>(xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3>&&, xls::dslx::Let* const&) at invoke.h:394:23
    frame #33: 0x0000555555d959a0 ir_converter_main`decltype(this=0x00007fffffffa3d0, __alts=0x0000555556a20ab8) std::__1::__variant_detail::__visitation::__variant::__value_visitor<xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3> >::operator()[abi:v160000]<std::__1::__variant_detail::__alt<2ul, xls::dslx::Let*> const&>(std::__1::__variant_detail::__alt<2ul, xls::dslx::Let*> const&) const at variant:689:14
    frame #34: 0x0000555555d95948 ir_converter_main`decltype(__f=0x00007fffffffa3d0, __args=0x0000555556a20ab8)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3> > >()(std::declval<std::__1::__variant_detail::__alt<2ul, xls::dslx::Let*> const&>())) std::__1::__invoke[abi:v160000]<std::__1::__variant_detail::__visitation::__variant::__value_visitor<xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3> >, std::__1::__variant_detail::__alt<2ul, xls::dslx::Let*> const&>(std::__1::__variant_detail::__visitation::__variant::__value_visitor<xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3> >&&, std::__1::__variant_detail::__alt<2ul, xls::dslx::Let*> const&) at invoke.h:394:23
    frame #35: 0x0000555555d95300 ir_converter_main`decltype(__f=0x00007fffffffa3d0, __vs=0x0000555556a20ab8) std::__1::__variant_detail::__visitation::__base::__dispatcher<2ul>::__dispatch[abi:v160000]<std::__1::__variant_detail::__visitation::__variant::__value_visitor<xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3> >&&, std::__1::__variant_detail::__base<(std::__1::__variant_detail::_Trait)0, xls::dslx::Expr*, xls::dslx::TypeAlias*, xls::dslx::Let*, xls::dslx::ConstAssert*> const&>(std::__1::__variant_detail::__visitation::__variant::__value_visitor<xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3> >&&, std::__1::__variant_detail::__base<(std::__1::__variant_detail::_Trait)0, xls::dslx::Expr*, xls::dslx::TypeAlias*, xls::dslx::Let*, xls::dslx::ConstAssert*> const&) at variant:569:16
    frame #36: 0x0000555555d95209 ir_converter_main`decltype(__visitor=0x00007fffffffa3d0, __vs=0x0000555556a20ab8) std::__1::__variant_detail::__visitation::__base::__visit_alt[abi:v160000]<std::__1::__variant_detail::__visitation::__variant::__value_visitor<xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3> >, std::__1::__variant_detail::__impl<xls::dslx::Expr*, xls::dslx::TypeAlias*, xls::dslx::Let*, xls::dslx::ConstAssert*> const&>(std::__1::__variant_detail::__visitation::__variant::__value_visitor<xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3> >&&, std::__1::__variant_detail::__impl<xls::dslx::Expr*, xls::dslx::TypeAlias*, xls::dslx::Let*, xls::dslx::ConstAssert*> const&) at variant:532:12
    frame #37: 0x0000555555d95150 ir_converter_main`decltype(__visitor=0x00007fffffffa3d0, __vs=0x0000555556a20ab8) std::__1::__variant_detail::__visitation::__variant::__visit_alt[abi:v160000]<std::__1::__variant_detail::__visitation::__variant::__value_visitor<xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3> >, std::__1::variant<xls::dslx::Expr*, xls::dslx::TypeAlias*, xls::dslx::Let*, xls::dslx::ConstAssert*> const&>(std::__1::__variant_detail::__visitation::__variant::__value_visitor<xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3> >&&, std::__1::variant<xls::dslx::Expr*, xls::dslx::TypeAlias*, xls::dslx::Let*, xls::dslx::ConstAssert*> const&) at variant:639:12
    frame #38: 0x0000555555d950fd ir_converter_main`decltype(__visitor=0x00007fffffffa4c0, __vs=0x0000555556a20ab8) std::__1::__variant_detail::__visitation::__variant::__visit_value[abi:v160000]<xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3>, std::__1::variant<xls::dslx::Expr*, xls::dslx::TypeAlias*, xls::dslx::Let*, xls::dslx::ConstAssert*> const&>(xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3>&&, std::__1::variant<xls::dslx::Expr*, xls::dslx::TypeAlias*, xls::dslx::Let*, xls::dslx::ConstAssert*> const&) at variant:658:12
    frame #39: 0x0000555555d884e9 ir_converter_main`decltype(__visitor=0x00007fffffffa4c0, __vs=0x0000555556a20ab8) std::__1::visit[abi:v160000]<xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3>, std::__1::variant<xls::dslx::Expr*, xls::dslx::TypeAlias*, xls::dslx::Let*, xls::dslx::ConstAssert*> const&, void>(xls::Visitor<xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_0, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_1, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_2, xls::dslx::FunctionConverter::HandleStatement(xls::dslx::Statement const*)::$_3>&&, std::__1::variant<xls::dslx::Expr*, xls::dslx::TypeAlias*, xls::dslx::Let*, xls::dslx::ConstAssert*> const&) at variant:1756:10
    frame #40: 0x0000555555d883f6 ir_converter_main`xls::dslx::FunctionConverter::HandleStatement(this=0x00007fffffffc920, node=0x0000555556a20aa0) at function_converter.cc:2715:10
    frame #41: 0x0000555555e05d7c ir_converter_main`xls::dslx::FunctionConverterVisitor::HandleStatement(this=0x00007fffffffa8d8, node=0x0000555556a20aa0) at function_converter.cc:287:3
    frame #42: 0x0000555555e56dec ir_converter_main`xls::dslx::Statement::Accept(this=0x0000555556a20aa0, v=0x00007fffffffa8d8) const at ast.h:742:15
    frame #43: 0x0000555555df9da3 ir_converter_main`xls::dslx::FunctionConverterVisitor::Visit(this=0x00007fffffffa8d8, n=0x0000555556a20aa0) at function_converter.cc:223:15
    frame #44: 0x0000555555d492a1 ir_converter_main`xls::dslx::FunctionConverter::Visit(this=0x00007fffffffc920, node=0x0000555556a20aa0) at function_converter.cc:349:18
    frame #45: 0x0000555555d87bf9 ir_converter_main`xls::dslx::FunctionConverter::HandleBlock(this=0x00007fffffffc920, node=0x0000555556a2c6b0) at function_converter.cc:2696:5
    frame #46: 0x0000555555e062ac ir_converter_main`xls::dslx::FunctionConverterVisitor::HandleBlock(this=0x00007fffffffaf88, node=0x0000555556a2c6b0) at function_converter.cc:274:3
    frame #47: 0x000055555633894c ir_converter_main`xls::dslx::Block::Accept(this=0x0000555556a2c6b0, v=0x00007fffffffaf88) const at ast.h:776:15
    frame #48: 0x0000555555df9da3 ir_converter_main`xls::dslx::FunctionConverterVisitor::Visit(this=0x00007fffffffaf88, n=0x0000555556a2c6b0) at function_converter.cc:223:15
    frame #49: 0x0000555555d492a1 ir_converter_main`xls::dslx::FunctionConverter::Visit(this=0x00007fffffffc920, node=0x0000555556a2c6b0) at function_converter.cc:349:18
    frame #50: 0x0000555555d8167b ir_converter_main`xls::dslx::FunctionConverter::HandleProcNextFunction(this=0x00007fffffffc920, f=0x0000555556a2c830, invocation=0x0000000000000000, type_info=0x0000555556a2cf80, import_data=0x00007fffffffdb38, parametric_env=0x0000555556a1de80, proc_id=0x00007fffffffc448, proc_data=0x00007fffffffd0a0) at function_converter.cc:2332:3
    frame #51: 0x0000555555d1c251 ir_converter_main`xls::dslx::(anonymous namespace)::ConvertOneFunctionInternal(package_data=0x00007fffffffd310, record=0x0000555556a1de60, import_data=0x00007fffffffdb38, proc_data=0x00007fffffffd0a0, options=0x00007fffffffe150) at ir_converter.cc:189:22
    frame #52: 0x0000555555d17a97 ir_converter_main`xls::dslx::(anonymous namespace)::ConvertCallGraph(order=Span<const xls::dslx::ConversionRecord> @ 0x00007fffffffd238, import_data=0x00007fffffffdb38, options=0x00007fffffffe150, package_data=0x00007fffffffd310) at ir_converter.cc:305:5
    frame #53: 0x0000555555d1e3c1 ir_converter_main`absl::lts_20230802::Status xls::dslx::ConvertOneFunctionIntoPackageInternal<xls::dslx::Proc>(module=0x0000555556a1a6f0, block=0x0000555556a2cbf0, import_data=0x00007fffffffdb38, parametric_env=0x0000000000000000, options=0x00007fffffffe150, package=0x0000555556a240a0) at ir_converter.cc:361:3
    frame #54: 0x0000555555d188ee ir_converter_main`xls::dslx::ConvertOneFunctionIntoPackage(module=0x0000555556a1a6f0, entry_function_name=(__data_ = "Segv", __size_ = 4), import_data=0x00007fffffffdb38, parametric_env=0x0000000000000000, options=0x00007fffffffe150, package=0x0000555556a240a0) at ir_converter.cc:380:12
    frame #55: 0x0000555555d1a1cb ir_converter_main`xls::dslx::(anonymous namespace)::AddContentsToPackage(file_contents=(__data_ = "proc Segv {\n  init {()}\n  config() {}\n  next(tok: token, state: ()) {\n    let (tok, _) = match(u8:0) {\n      u8:0 => (tok, u8:0),\n      _ => fail!(\"segv_unsupported_case\", (tok, u8:0)),\n    };\n  }\n}\n", __size_ = 199), module_name=(__data_ = "segv", __size_ = 4), path= Has Value=true , entry= Has Value=true , convert_options=0x00007fffffffe150, import_data=0x00007fffffffdb38, package=0x0000555556a240a0, printed_error=0x00007fffffffe33c) at ir_converter.cc:463:5
    frame #56: 0x0000555555d19764 ir_converter_main`xls::dslx::ConvertFilesToPackage(paths=Span<const std::__1::basic_string_view<char, std::__1::char_traits<char> > > @ 0x00007fffffffddc8, stdlib_path="", dslx_paths=Span<const std::__1::__fs::filesystem::path> @ 0x00007fffffffddb8, convert_options=0x00007fffffffe150, top= Has Value=true , package_name= Has Value=false , printed_error=0x00007fffffffe33c) at ir_converter.cc:506:5
    frame #57: 0x0000555555c97f72 ir_converter_main`xls::dslx::(anonymous namespace)::RealMain(paths=Span<const std::__1::basic_string_view<char, std::__1::char_traits<char> > > @ 0x00007fffffffe200, top= Has Value=true , package_name= Has Value=false , stdlib_path="", dslx_paths=Span<const std::__1::__fs::filesystem::path> @ 0x00007fffffffe1f0, emit_fail_as_assert=true, verify_ir=true, warnings_as_errors=true, printed_error=0x00007fffffffe33c) at ir_converter_main.cc:113:3
    frame #58: 0x0000555555c9789b ir_converter_main`main(argc=4, argv=0x00007fffffffe708) at ir_converter_main.cc:166:25
    frame #59: 0x00007ffff7ca4d0a libc.so.6`__libc_start_main + 234
    frame #60: 0x0000555555c96fea ir_converter_main`_start + 42

from xls.

proppy avatar proppy commented on June 9, 2024

with --v=9:

xls 👹  bazel-bin/xls/dslx/ir_convert/ir_converter_main --alsologtostderr --v=9 -top Segv /tmp/segv.x
I1211 14:50:27.387945   16933 module.cc:45] Created module "segv" @ 0x5be8e19616f0
I1211 14:50:27.389462   16933 parser.cc:2739] ParseBlockExpression; parsing expression with bindings: []
I1211 14:50:27.389512   16933 parser.cc:499] ParseExpression @ /tmp/segv.x:2:9 peek: `(`
I1211 14:50:27.389531   16933 parser.cc:561] ParseConditionalExpression @ /tmp/segv.x:2:9 restrictions: none
I1211 14:50:27.389545   16933 parser.cc:521] ParseRangeExpression @ /tmp/segv.x:2:9
I1211 14:50:27.389562   16933 parser.cc:1116] ParseLogicalOrExpression @ /tmp/segv.x:2:9
I1211 14:50:27.389584   16933 parser.cc:1105] ParseLogicalAndExpression @ /tmp/segv.x:2:9
I1211 14:50:27.389608   16933 parser.cc:1180] ParseComparisonExpression @ /tmp/segv.x:2:9 peek: `(` restrictions: none
I1211 14:50:27.389631   16933 parser.cc:1967] ParseCastAsExpression @ /tmp/segv.x:2:9 restrictions: none
I1211 14:50:27.389650   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:2:9 peek: `(` restrictions: none
I1211 14:50:27.389739   16933 parser.cc:1185] ParseComparisonExpression; lhs: `()` peek: `}`
I1211 14:50:27.389789   16933 parser.cc:1189] Peek is not in comparison kinds.
I1211 14:50:27.389801   16933 parser.cc:1204] ParseComparisonExpression; result: `()`
I1211 14:50:27.389955   16933 parser.cc:2069] ParseProcConfig; final expr: `()`
I1211 14:50:27.390068   16933 parser.cc:653] ParseTypeAnnotation @ /tmp/segv.x:4:12
I1211 14:50:27.390106   16933 parser.cc:658] ParseTypeAnnotation; popped: token
I1211 14:50:27.390323   16933 parser.cc:653] ParseTypeAnnotation @ /tmp/segv.x:4:26
I1211 14:50:27.390366   16933 parser.cc:658] ParseTypeAnnotation; popped: (
I1211 14:50:27.390387   16933 parser.cc:719] ParseTypeAnnotation; got 0 tuple members
I1211 14:50:27.390407   16933 parser.cc:725] ParseTypeAnnotation; result type: ()
I1211 14:50:27.390468   16933 parser.cc:653] ParseTypeAnnotation @ /tmp/segv.x:4:13
I1211 14:50:27.390490   16933 parser.cc:658] ParseTypeAnnotation; popped: token
I1211 14:50:27.390536   16933 parser.cc:653] ParseTypeAnnotation @ /tmp/segv.x:4:27
I1211 14:50:27.390558   16933 parser.cc:658] ParseTypeAnnotation; popped: (
I1211 14:50:27.390576   16933 parser.cc:719] ParseTypeAnnotation; got 0 tuple members
I1211 14:50:27.390595   16933 parser.cc:725] ParseTypeAnnotation; result type: ()
I1211 14:50:27.390779   16933 parser.cc:499] ParseExpression @ /tmp/segv.x:5:20 peek: `match`
I1211 14:50:27.390814   16933 parser.cc:561] ParseConditionalExpression @ /tmp/segv.x:5:20 restrictions: none
I1211 14:50:27.390831   16933 parser.cc:521] ParseRangeExpression @ /tmp/segv.x:5:20
I1211 14:50:27.390844   16933 parser.cc:1116] ParseLogicalOrExpression @ /tmp/segv.x:5:20
I1211 14:50:27.390860   16933 parser.cc:1105] ParseLogicalAndExpression @ /tmp/segv.x:5:20
I1211 14:50:27.390875   16933 parser.cc:1180] ParseComparisonExpression @ /tmp/segv.x:5:20 peek: `match` restrictions: none
I1211 14:50:27.390900   16933 parser.cc:1967] ParseCastAsExpression @ /tmp/segv.x:5:20 restrictions: none
I1211 14:50:27.390919   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:5:20 peek: `match` restrictions: none
I1211 14:50:27.390964   16933 parser.cc:499] ParseExpression @ /tmp/segv.x:5:25 peek: `(`
I1211 14:50:27.390991   16933 parser.cc:561] ParseConditionalExpression @ /tmp/segv.x:5:25 restrictions: none
I1211 14:50:27.391006   16933 parser.cc:521] ParseRangeExpression @ /tmp/segv.x:5:25
I1211 14:50:27.391019   16933 parser.cc:1116] ParseLogicalOrExpression @ /tmp/segv.x:5:25
I1211 14:50:27.391034   16933 parser.cc:1105] ParseLogicalAndExpression @ /tmp/segv.x:5:25
I1211 14:50:27.391049   16933 parser.cc:1180] ParseComparisonExpression @ /tmp/segv.x:5:25 peek: `(` restrictions: none
I1211 14:50:27.391072   16933 parser.cc:1967] ParseCastAsExpression @ /tmp/segv.x:5:25 restrictions: none
I1211 14:50:27.391094   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:5:25 peek: `(` restrictions: none
I1211 14:50:27.391141   16933 parser.cc:499] ParseExpression @ /tmp/segv.x:5:26 peek: `u8`
I1211 14:50:27.391163   16933 parser.cc:561] ParseConditionalExpression @ /tmp/segv.x:5:26 restrictions: none
I1211 14:50:27.391178   16933 parser.cc:521] ParseRangeExpression @ /tmp/segv.x:5:26
I1211 14:50:27.391191   16933 parser.cc:1116] ParseLogicalOrExpression @ /tmp/segv.x:5:26
I1211 14:50:27.391205   16933 parser.cc:1105] ParseLogicalAndExpression @ /tmp/segv.x:5:26
I1211 14:50:27.391219   16933 parser.cc:1180] ParseComparisonExpression @ /tmp/segv.x:5:26 peek: `u8` restrictions: none
I1211 14:50:27.391237   16933 parser.cc:1967] ParseCastAsExpression @ /tmp/segv.x:5:26 restrictions: none
I1211 14:50:27.391258   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:5:26 peek: `u8` restrictions: none
I1211 14:50:27.391300   16933 parser.cc:825] ParseCastOrEnumRefOrStructInstance @ /tmp/segv.x:5:26 peek: `u8`
I1211 14:50:27.391337   16933 parser.cc:653] ParseTypeAnnotation @ /tmp/segv.x:5:28
I1211 14:50:27.391358   16933 parser.cc:658] ParseTypeAnnotation; popped: u8
I1211 14:50:27.391388   16933 parser.cc:1029] ParseCast @ /tmp/segv.x:5:28 type: u8
I1211 14:50:27.391437   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:5:29 peek: `0` restrictions: none
I1211 14:50:27.391485   16933 parser.cc:1185] ParseComparisonExpression; lhs: `u8:0` peek: `)`
I1211 14:50:27.391504   16933 parser.cc:1189] Peek is not in comparison kinds.
I1211 14:50:27.391517   16933 parser.cc:1204] ParseComparisonExpression; result: `u8:0`
I1211 14:50:27.391543   16933 parser.cc:1185] ParseComparisonExpression; lhs: `(u8:0)` peek: `{`
I1211 14:50:27.391560   16933 parser.cc:1189] Peek is not in comparison kinds.
I1211 14:50:27.391572   16933 parser.cc:1204] ParseComparisonExpression; result: `(u8:0)`
I1211 14:50:27.391606   16933 parser.cc:1029] ParseCast @ /tmp/segv.x:6:7 type: <null>
I1211 14:50:27.391623   16933 parser.cc:653] ParseTypeAnnotation @ /tmp/segv.x:6:7
I1211 14:50:27.391637   16933 parser.cc:658] ParseTypeAnnotation; popped: u8
I1211 14:50:27.391666   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:6:10 peek: `0` restrictions: none
I1211 14:50:27.391702   16933 parser.cc:499] ParseExpression @ /tmp/segv.x:6:15 peek: `(`
I1211 14:50:27.391729   16933 parser.cc:561] ParseConditionalExpression @ /tmp/segv.x:6:15 restrictions: none
I1211 14:50:27.391744   16933 parser.cc:521] ParseRangeExpression @ /tmp/segv.x:6:15
I1211 14:50:27.391757   16933 parser.cc:1116] ParseLogicalOrExpression @ /tmp/segv.x:6:15
I1211 14:50:27.391771   16933 parser.cc:1105] ParseLogicalAndExpression @ /tmp/segv.x:6:15
I1211 14:50:27.391785   16933 parser.cc:1180] ParseComparisonExpression @ /tmp/segv.x:6:15 peek: `(` restrictions: none
I1211 14:50:27.391802   16933 parser.cc:1967] ParseCastAsExpression @ /tmp/segv.x:6:15 restrictions: none
I1211 14:50:27.391816   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:6:15 peek: `(` restrictions: none
I1211 14:50:27.391842   16933 parser.cc:499] ParseExpression @ /tmp/segv.x:6:16 peek: `tok`
I1211 14:50:27.391859   16933 parser.cc:561] ParseConditionalExpression @ /tmp/segv.x:6:16 restrictions: none
I1211 14:50:27.391873   16933 parser.cc:521] ParseRangeExpression @ /tmp/segv.x:6:16
I1211 14:50:27.391885   16933 parser.cc:1116] ParseLogicalOrExpression @ /tmp/segv.x:6:16
I1211 14:50:27.391898   16933 parser.cc:1105] ParseLogicalAndExpression @ /tmp/segv.x:6:16
I1211 14:50:27.391911   16933 parser.cc:1180] ParseComparisonExpression @ /tmp/segv.x:6:16 peek: `tok` restrictions: none
I1211 14:50:27.391927   16933 parser.cc:1967] ParseCastAsExpression @ /tmp/segv.x:6:16 restrictions: none
I1211 14:50:27.391941   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:6:16 peek: `tok` restrictions: none
I1211 14:50:27.391986   16933 parser.cc:1185] ParseComparisonExpression; lhs: `tok` peek: `,`
I1211 14:50:27.392002   16933 parser.cc:1189] Peek is not in comparison kinds.
I1211 14:50:27.392015   16933 parser.cc:1204] ParseComparisonExpression; result: `tok`
I1211 14:50:27.392030   16933 parser.cc:1449] ParseTupleRemainder @ /tmp/segv.x:6:19
I1211 14:50:27.392053   16933 parser.cc:499] ParseExpression @ /tmp/segv.x:6:21 peek: `u8`
I1211 14:50:27.392069   16933 parser.cc:561] ParseConditionalExpression @ /tmp/segv.x:6:21 restrictions: none
I1211 14:50:27.392082   16933 parser.cc:521] ParseRangeExpression @ /tmp/segv.x:6:21
I1211 14:50:27.392095   16933 parser.cc:1116] ParseLogicalOrExpression @ /tmp/segv.x:6:21
I1211 14:50:27.392108   16933 parser.cc:1105] ParseLogicalAndExpression @ /tmp/segv.x:6:21
I1211 14:50:27.392121   16933 parser.cc:1180] ParseComparisonExpression @ /tmp/segv.x:6:21 peek: `u8` restrictions: none
I1211 14:50:27.392137   16933 parser.cc:1967] ParseCastAsExpression @ /tmp/segv.x:6:21 restrictions: none
I1211 14:50:27.392151   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:6:21 peek: `u8` restrictions: none
I1211 14:50:27.392170   16933 parser.cc:825] ParseCastOrEnumRefOrStructInstance @ /tmp/segv.x:6:21 peek: `u8`
I1211 14:50:27.392189   16933 parser.cc:653] ParseTypeAnnotation @ /tmp/segv.x:6:23
I1211 14:50:27.392203   16933 parser.cc:658] ParseTypeAnnotation; popped: u8
I1211 14:50:27.392221   16933 parser.cc:1029] ParseCast @ /tmp/segv.x:6:23 type: u8
I1211 14:50:27.392242   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:6:24 peek: `0` restrictions: none
I1211 14:50:27.392272   16933 parser.cc:1185] ParseComparisonExpression; lhs: `u8:0` peek: `)`
I1211 14:50:27.392289   16933 parser.cc:1189] Peek is not in comparison kinds.
I1211 14:50:27.392301   16933 parser.cc:1204] ParseComparisonExpression; result: `u8:0`
I1211 14:50:27.392338   16933 parser.cc:1185] ParseComparisonExpression; lhs: `(tok, u8:0)` peek: `,`
I1211 14:50:27.392357   16933 parser.cc:1189] Peek is not in comparison kinds.
I1211 14:50:27.392370   16933 parser.cc:1204] ParseComparisonExpression; result: `(tok, u8:0)`
I1211 14:50:27.392422   16933 parser.cc:499] ParseExpression @ /tmp/segv.x:7:12 peek: `fail!`
I1211 14:50:27.392439   16933 parser.cc:561] ParseConditionalExpression @ /tmp/segv.x:7:12 restrictions: none
I1211 14:50:27.392453   16933 parser.cc:521] ParseRangeExpression @ /tmp/segv.x:7:12
I1211 14:50:27.392465   16933 parser.cc:1116] ParseLogicalOrExpression @ /tmp/segv.x:7:12
I1211 14:50:27.392478   16933 parser.cc:1105] ParseLogicalAndExpression @ /tmp/segv.x:7:12
I1211 14:50:27.392493   16933 parser.cc:1180] ParseComparisonExpression @ /tmp/segv.x:7:12 peek: `fail!` restrictions: none
I1211 14:50:27.392509   16933 parser.cc:1967] ParseCastAsExpression @ /tmp/segv.x:7:12 restrictions: none
I1211 14:50:27.392523   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:7:12 peek: `fail!` restrictions: none
I1211 14:50:27.392600   16933 parser.cc:499] ParseExpression @ /tmp/segv.x:7:18 peek: `"segv_unsupported_case"`
I1211 14:50:27.392618   16933 parser.cc:561] ParseConditionalExpression @ /tmp/segv.x:7:18 restrictions: none
I1211 14:50:27.392632   16933 parser.cc:521] ParseRangeExpression @ /tmp/segv.x:7:18
I1211 14:50:27.392645   16933 parser.cc:1116] ParseLogicalOrExpression @ /tmp/segv.x:7:18
I1211 14:50:27.392658   16933 parser.cc:1105] ParseLogicalAndExpression @ /tmp/segv.x:7:18
I1211 14:50:27.392683   16933 parser.cc:1180] ParseComparisonExpression @ /tmp/segv.x:7:18 peek: `"segv_unsupported_case"` restrictions: none
I1211 14:50:27.392700   16933 parser.cc:1967] ParseCastAsExpression @ /tmp/segv.x:7:18 restrictions: none
I1211 14:50:27.392714   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:7:18 peek: `"segv_unsupported_case"` restrictions: none
I1211 14:50:27.392758   16933 parser.cc:1185] ParseComparisonExpression; lhs: `"segv_unsupported_case"` peek: `,`
I1211 14:50:27.392808   16933 parser.cc:1189] Peek is not in comparison kinds.
I1211 14:50:27.392821   16933 parser.cc:1204] ParseComparisonExpression; result: `"segv_unsupported_case"`
I1211 14:50:27.392848   16933 parser.cc:499] ParseExpression @ /tmp/segv.x:7:43 peek: `(`
I1211 14:50:27.392864   16933 parser.cc:561] ParseConditionalExpression @ /tmp/segv.x:7:43 restrictions: none
I1211 14:50:27.392877   16933 parser.cc:521] ParseRangeExpression @ /tmp/segv.x:7:43
I1211 14:50:27.392890   16933 parser.cc:1116] ParseLogicalOrExpression @ /tmp/segv.x:7:43
I1211 14:50:27.392903   16933 parser.cc:1105] ParseLogicalAndExpression @ /tmp/segv.x:7:43
I1211 14:50:27.392916   16933 parser.cc:1180] ParseComparisonExpression @ /tmp/segv.x:7:43 peek: `(` restrictions: none
I1211 14:50:27.392932   16933 parser.cc:1967] ParseCastAsExpression @ /tmp/segv.x:7:43 restrictions: none
I1211 14:50:27.392946   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:7:43 peek: `(` restrictions: none
I1211 14:50:27.392973   16933 parser.cc:499] ParseExpression @ /tmp/segv.x:7:44 peek: `tok`
I1211 14:50:27.392989   16933 parser.cc:561] ParseConditionalExpression @ /tmp/segv.x:7:44 restrictions: none
I1211 14:50:27.393003   16933 parser.cc:521] ParseRangeExpression @ /tmp/segv.x:7:44
I1211 14:50:27.393015   16933 parser.cc:1116] ParseLogicalOrExpression @ /tmp/segv.x:7:44
I1211 14:50:27.393028   16933 parser.cc:1105] ParseLogicalAndExpression @ /tmp/segv.x:7:44
I1211 14:50:27.393041   16933 parser.cc:1180] ParseComparisonExpression @ /tmp/segv.x:7:44 peek: `tok` restrictions: none
I1211 14:50:27.393057   16933 parser.cc:1967] ParseCastAsExpression @ /tmp/segv.x:7:44 restrictions: none
I1211 14:50:27.393085   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:7:44 peek: `tok` restrictions: none
I1211 14:50:27.393141   16933 parser.cc:1185] ParseComparisonExpression; lhs: `tok` peek: `,`
I1211 14:50:27.393161   16933 parser.cc:1189] Peek is not in comparison kinds.
I1211 14:50:27.393174   16933 parser.cc:1204] ParseComparisonExpression; result: `tok`
I1211 14:50:27.393188   16933 parser.cc:1449] ParseTupleRemainder @ /tmp/segv.x:7:47
I1211 14:50:27.393211   16933 parser.cc:499] ParseExpression @ /tmp/segv.x:7:49 peek: `u8`
I1211 14:50:27.393227   16933 parser.cc:561] ParseConditionalExpression @ /tmp/segv.x:7:49 restrictions: none
I1211 14:50:27.393241   16933 parser.cc:521] ParseRangeExpression @ /tmp/segv.x:7:49
I1211 14:50:27.393254   16933 parser.cc:1116] ParseLogicalOrExpression @ /tmp/segv.x:7:49
I1211 14:50:27.393271   16933 parser.cc:1105] ParseLogicalAndExpression @ /tmp/segv.x:7:49
I1211 14:50:27.393285   16933 parser.cc:1180] ParseComparisonExpression @ /tmp/segv.x:7:49 peek: `u8` restrictions: none
I1211 14:50:27.393303   16933 parser.cc:1967] ParseCastAsExpression @ /tmp/segv.x:7:49 restrictions: none
I1211 14:50:27.393317   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:7:49 peek: `u8` restrictions: none
I1211 14:50:27.393336   16933 parser.cc:825] ParseCastOrEnumRefOrStructInstance @ /tmp/segv.x:7:49 peek: `u8`
I1211 14:50:27.393366   16933 parser.cc:653] ParseTypeAnnotation @ /tmp/segv.x:7:51
I1211 14:50:27.393384   16933 parser.cc:658] ParseTypeAnnotation; popped: u8
I1211 14:50:27.393406   16933 parser.cc:1029] ParseCast @ /tmp/segv.x:7:51 type: u8
I1211 14:50:27.393436   16933 parser.cc:1505] ParseTerm @ /tmp/segv.x:7:52 peek: `0` restrictions: none
I1211 14:50:27.393470   16933 parser.cc:1185] ParseComparisonExpression; lhs: `u8:0` peek: `)`
I1211 14:50:27.393487   16933 parser.cc:1189] Peek is not in comparison kinds.
I1211 14:50:27.393499   16933 parser.cc:1204] ParseComparisonExpression; result: `u8:0`
I1211 14:50:27.393550   16933 parser.cc:1185] ParseComparisonExpression; lhs: `(tok, u8:0)` peek: `)`
I1211 14:50:27.393576   16933 parser.cc:1189] Peek is not in comparison kinds.
I1211 14:50:27.393588   16933 parser.cc:1204] ParseComparisonExpression; result: `(tok, u8:0)`
I1211 14:50:27.393645   16933 parser.cc:1185] ParseComparisonExpression; lhs: `fail!("segv_unsupported_case", (tok, u8:0))` peek: `,`
I1211 14:50:27.393675   16933 parser.cc:1189] Peek is not in comparison kinds.
I1211 14:50:27.393688   16933 parser.cc:1204] ParseComparisonExpression; result: `fail!("segv_unsupported_case", (tok, u8:0))`
I1211 14:50:27.393744   16933 parser.cc:1185] ParseComparisonExpression; lhs: `match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
}` peek: `;`
I1211 14:50:27.393805   16933 parser.cc:1189] Peek is not in comparison kinds.
I1211 14:50:27.393818   16933 parser.cc:1204] ParseComparisonExpression; result: `match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
}`
I1211 14:50:27.394064   16933 parser.cc:252] Parser saw EOF token for module segv, stopping.
I1211 14:50:27.394174   16933 type_info.cc:411] Created type info for module "segv" @ 0x5be8e1968ca0 parent (nil) root 0x5be8e1968ca0
I1211 14:50:27.394231   16933 type_info.cc:60] Making root type info for module: segv @ 0x5be8e1968ca0
I1211 14:50:27.394314   16933 typecheck.cc:496] Typechecking function: `fn Segv.init() -> () {
    ()
}`
I1211 14:50:27.394374   16933 typecheck.cc:683] Typechecking fn: Segv.init
I1211 14:50:27.394417   16933 type_info.cc:411] Created type info for module "segv" @ 0x5be8e1968da0 parent 0x5be8e1968ca0 root 0x5be8e1968ca0
I1211 14:50:27.394435   16933 type_info.cc:66] Making derived type info for module: segv parent: 0x5be8e1968ca0 @ 0x5be8e1968da0
I1211 14:50:27.394508   16933 deduce.cc:3389] Deduced type of `()` @ 0x5be8e1968af0 (kind: TupleTypeAnnotation) => typeof(()) in 0x5be8e1968da0
I1211 14:50:27.394582   16933 deduce.cc:3389] Deduced type of `()` @ 0x5be8e195f5e0 (kind: XlsTuple) => () in 0x5be8e1968da0
I1211 14:50:27.394646   16933 deduce.cc:3389] Deduced type of `()` @ 0x5be8e196a6e0 (kind: Statement) => () in 0x5be8e1968da0
I1211 14:50:27.394676   16933 deduce.cc:3389] Deduced type of `{
    ()
}` @ 0x5be8e1963000 (kind: Block) => () in 0x5be8e1968da0
I1211 14:50:27.394707   16933 typecheck.cc:742] Resolved return type: () => ()
I1211 14:50:27.394778   16933 deduce.cc:3389] Deduced type of `()` @ 0x5be8e195f5e0 (kind: XlsTuple) => () in 0x5be8e1968ca0
I1211 14:50:27.394804   16933 deduce.cc:3389] Deduced type of `()` @ 0x5be8e196a6e0 (kind: Statement) => () in 0x5be8e1968ca0
I1211 14:50:27.394856   16933 deduce.cc:3389] Deduced type of `{
    ()
}` @ 0x5be8e1963000 (kind: Block) => () in 0x5be8e1968ca0
I1211 14:50:27.394883   16933 constexpr_evaluator.cc:86] ConstexprEvaluator::Evaluate; expr: {
    ()
} @ /tmp/segv.x:2:7-2:12
I1211 14:50:27.394977   16933 type_info.cc:235] NoteRequiresImplicitToken 0x5be8e1968ca0: segv::Segv.init => false
I1211 14:50:27.395028   16933 typecheck.cc:501] Finished typechecking function: fn Segv.init() -> () {
    ()
}
I1211 14:50:27.395059   16933 typecheck.cc:496] Typechecking function: `fn Segv.config() -> () {
    ()
}`
I1211 14:50:27.395082   16933 typecheck.cc:683] Typechecking fn: Segv.config
I1211 14:50:27.395107   16933 deduce.cc:3389] Deduced type of `()` @ 0x5be8e195fe70 (kind: TupleTypeAnnotation) => typeof(()) in 0x5be8e1968da0
I1211 14:50:27.395138   16933 deduce.cc:3389] Deduced type of `()` @ 0x5be8e19601d0 (kind: XlsTuple) => () in 0x5be8e1968da0
I1211 14:50:27.395160   16933 deduce.cc:3389] Deduced type of `()` @ 0x5be8e195e960 (kind: Statement) => () in 0x5be8e1968da0
I1211 14:50:27.395188   16933 deduce.cc:3389] Deduced type of `{
    ()
}` @ 0x5be8e1960130 (kind: Block) => () in 0x5be8e1968da0
I1211 14:50:27.395214   16933 typecheck.cc:742] Resolved return type: () => ()
I1211 14:50:27.395252   16933 constexpr_evaluator.cc:86] ConstexprEvaluator::Evaluate; expr: {
    ()
} @ /tmp/segv.x:2:7-2:12
I1211 14:50:27.395294   16933 type_info.cc:235] NoteRequiresImplicitToken 0x5be8e1968ca0: segv::Segv.config => false
I1211 14:50:27.395324   16933 typecheck.cc:501] Finished typechecking function: fn Segv.config() -> () {
    ()
}
I1211 14:50:27.395349   16933 typecheck.cc:496] Typechecking function: `fn Segv.next(tok: token, state: ()) -> () {
    let (tok, _) = match (u8:0) {
        u8:0 => (tok, u8:0),
        _ => fail!("segv_unsupported_case", (tok, u8:0)),
    };
}`
I1211 14:50:27.395424   16933 typecheck.cc:683] Typechecking fn: Segv.next
I1211 14:50:27.395451   16933 deduce.cc:3389] Deduced type of `token` @ 0x5be8e1962030 (kind: BuiltinTypeAnnotation) => typeof(token) in 0x5be8e1968da0
I1211 14:50:27.395475   16933 deduce.cc:3389] Deduced type of `tok: token` @ 0x5be8e1961550 (kind: Param) => token in 0x5be8e1968da0
I1211 14:50:27.395504   16933 deduce.cc:3389] Deduced type of `()` @ 0x5be8e1967540 (kind: TupleTypeAnnotation) => typeof(()) in 0x5be8e1968da0
I1211 14:50:27.395527   16933 deduce.cc:3389] Deduced type of `state: ()` @ 0x5be8e19613b0 (kind: Param) => () in 0x5be8e1968da0
I1211 14:50:27.395559   16933 deduce.cc:3389] Deduced type of `()` @ 0x5be8e1960410 (kind: TupleTypeAnnotation) => typeof(()) in 0x5be8e1968da0
I1211 14:50:27.395681   16933 deduce.cc:3389] Deduced type of `u8` @ 0x5be8e195fa20 (kind: BuiltinTypeAnnotation) => typeof(uN[8]) in 0x5be8e1968da0
I1211 14:50:27.395818   16933 deduce.cc:275] TryEnsureFitsInType; number: (u8:0) @ /tmp/segv.x:5:29-5:30 type: uN[8]
I1211 14:50:27.395909   16933 deduce.cc:3389] Deduced type of `(u8:0)` @ 0x5be8e19678d0 (kind: Number) => uN[8] in 0x5be8e1968da0
I1211 14:50:27.395971   16933 deduce.cc:3389] Deduced type of `u8` @ 0x5be8e1969730 (kind: BuiltinTypeAnnotation) => typeof(uN[8]) in 0x5be8e1968da0
I1211 14:50:27.396003   16933 deduce.cc:275] TryEnsureFitsInType; number: u8:0 @ /tmp/segv.x:6:10-6:11 type: uN[8]
I1211 14:50:27.396046   16933 deduce.cc:3389] Deduced type of `u8:0` @ 0x5be8e1967cf0 (kind: Number) => uN[8] in 0x5be8e1968da0
I1211 14:50:27.396117   16933 deduce.cc:3389] Deduced type of `tok` @ 0x5be8e1967e30 (kind: NameRef) => token in 0x5be8e1968da0
I1211 14:50:27.396151   16933 deduce.cc:3389] Deduced type of `u8` @ 0x5be8e1967970 (kind: BuiltinTypeAnnotation) => typeof(uN[8]) in 0x5be8e1968da0
I1211 14:50:27.396183   16933 deduce.cc:275] TryEnsureFitsInType; number: u8:0 @ /tmp/segv.x:6:24-6:25 type: uN[8]
I1211 14:50:27.396228   16933 deduce.cc:3389] Deduced type of `u8:0` @ 0x5be8e1967f50 (kind: Number) => uN[8] in 0x5be8e1968da0
I1211 14:50:27.396262   16933 deduce.cc:3389] Deduced type of `(tok, u8:0)` @ 0x5be8e1967ff0 (kind: XlsTuple) => (token, uN[8]) in 0x5be8e1968da0
I1211 14:50:27.396321   16933 deduce.cc:3389] Deduced type of `u8:0 => (tok, u8:0)` @ 0x5be8e1967840 (kind: MatchArm) => (token, uN[8]) in 0x5be8e1968da0
I1211 14:50:27.396368   16933 deduce.cc:3073] Deducing type for invocation: fail!("segv_unsupported_case", (tok, u8:0))
I1211 14:50:27.396412   16933 deduce.cc:3389] Deduced type of `"segv_unsupported_case"` @ 0x5be8e1968130 (kind: String) => uN[8][21] in 0x5be8e1968da0
I1211 14:50:27.396452   16933 deduce.cc:94] InstantiateParametricArgs; arg: `"segv_unsupported_case"` deduced: `uN[8][21]` @ /tmp/segv.x:7:18-7:41
I1211 14:50:27.396488   16933 deduce.cc:3389] Deduced type of `tok` @ 0x5be8e1968260 (kind: NameRef) => token in 0x5be8e1968da0
I1211 14:50:27.417663   16933 deduce.cc:3389] Deduced type of `u8` @ 0x5be8e1967ed0 (kind: BuiltinTypeAnnotation) => typeof(uN[8]) in 0x5be8e1968da0
I1211 14:50:27.417901   16933 deduce.cc:275] TryEnsureFitsInType; number: u8:0 @ /tmp/segv.x:7:52-7:53 type: uN[8]
I1211 14:50:27.418072   16933 deduce.cc:3389] Deduced type of `u8:0` @ 0x5be8e1968410 (kind: Number) => uN[8] in 0x5be8e1968da0
I1211 14:50:27.418202   16933 deduce.cc:3389] Deduced type of `(tok, u8:0)` @ 0x5be8e19684b0 (kind: XlsTuple) => (token, uN[8]) in 0x5be8e1968da0
I1211 14:50:27.418315   16933 deduce.cc:94] InstantiateParametricArgs; arg: `(tok, u8:0)` deduced: `(token, uN[8])` @ /tmp/segv.x:7:43-7:54
I1211 14:50:27.418405   16933 typecheck.cc:819] Typechecking invocation: `fail!("segv_unsupported_case", (tok, u8:0))`
I1211 14:50:27.418615   16933 type_info.cc:235] NoteRequiresImplicitToken 0x5be8e1968ca0: segv::Segv.next => true
I1211 14:50:27.418679   16933 typecheck.cc:219] Instantiating builtin parametric: fail!
I1211 14:50:27.418714   16933 dslx_builtins.cc:1045] fail! => (u8[N], T) -> T
I1211 14:50:27.419247   16933 typecheck.cc:267] TypeInfo::AddInvocationCallBindings; type_info: 0x5be8e1968da0; node: `fail!("segv_unsupported_case", (tok, u8:0))`; caller: {}; callee: {}
I1211 14:50:27.419350   16933 type_info.cc:197] Type info 0x5be8e1968ca0 adding instantiation call bindings for invocation: fail!("segv_unsupported_case", (tok, u8:0)) @ /tmp/segv.x:7:17-7:55 caller: {} callee: {}
I1211 14:50:27.419544   16933 deduce.cc:3389] Deduced type of `fail!("segv_unsupported_case", (tok, u8:0))` @ 0x5be8e195f970 (kind: Invocation) => (token, uN[8]) in 0x5be8e1968da0
I1211 14:50:27.419646   16933 deduce.cc:3389] Deduced type of `_ => fail!("segv_unsupported_case", (tok, u8:0))` @ 0x5be8e1968300 (kind: MatchArm) => (token, uN[8]) in 0x5be8e1968da0
I1211 14:50:27.419794   16933 deduce.cc:3389] Deduced type of `match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
}` @ 0x5be8e1968550 (kind: Match) => (token, uN[8]) in 0x5be8e1968da0
I1211 14:50:27.419926   16933 constexpr_evaluator.cc:86] ConstexprEvaluator::Evaluate; expr: match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
} @ /tmp/segv.x:5:20-8:6
I1211 14:50:27.420026   16933 constexpr_evaluator.cc:666] Creating constexpr environment for node: `(u8:0)`
I1211 14:50:27.420084   16933 constexpr_evaluator.cc:677] freevar count for `(u8:0)`: 0
I1211 14:50:27.420144   16933 constexpr_evaluator.cc:482] Evaluating number: (u8:0) @ /tmp/segv.x:5:29-5:30
I1211 14:50:27.420304   16933 deduce.cc:3389] Deduced type of `let (tok, _) = match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
};` @ 0x5be8e19687f0 (kind: Let) => () in 0x5be8e1968da0
I1211 14:50:27.420404   16933 deduce.cc:3389] Deduced type of `let (tok, _) = match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
};` @ 0x5be8e19644a0 (kind: Statement) => () in 0x5be8e1968da0
I1211 14:50:27.420501   16933 deduce.cc:3389] Deduced type of `{
    let (tok, _) = match (u8:0) {
        u8:0 => (tok, u8:0),
        _ => fail!("segv_unsupported_case", (tok, u8:0)),
    };
}` @ 0x5be8e1968880 (kind: Block) => () in 0x5be8e1968da0
I1211 14:50:27.420603   16933 typecheck.cc:742] Resolved return type: () => ()
I1211 14:50:27.445012   16933 constexpr_evaluator.cc:86] ConstexprEvaluator::Evaluate; expr: {
    ()
} @ /tmp/segv.x:2:7-2:12
I1211 14:50:27.445382   16933 type_info.cc:227] GetRequiresImplicitToken 0x5be8e1968ca0 segv::Segv.next => true
I1211 14:50:27.445550   16933 typecheck.cc:501] Finished typechecking function: fn Segv.next(tok: token, state: ()) -> () {
    let (tok, _) = match (u8:0) {
        u8:0 => (tok, u8:0),
        _ => fail!("segv_unsupported_case", (tok, u8:0)),
    };
}
I1211 14:50:27.445911   16933 extract_conversion_order.cc:691] Getting callees of {
    let (tok, _) = match (u8:0) {
        u8:0 => (tok, u8:0),
        _ => fail!("segv_unsupported_case", (tok, u8:0)),
    };
}
I1211 14:50:27.446152   16933 extract_conversion_order.cc:769] Original callees of Segv.next: []
I1211 14:50:27.446223   16933 extract_conversion_order.cc:781] Adding to ready sequence: Segv.next
I1211 14:50:27.446327   16933 extract_conversion_order.cc:691] Getting callees of {
    ()
}
I1211 14:50:27.446410   16933 extract_conversion_order.cc:769] Original callees of Segv.config: []
I1211 14:50:27.446463   16933 extract_conversion_order.cc:781] Adding to ready sequence: Segv.config
I1211 14:50:27.446555   16933 ir_converter.cc:238] Conversion order: [ConversionRecord{m=segv, f=Segv.config, top=false, pid=Segv:0, parametric_env={}, callees=[]}
	ConversionRecord{m=segv, f=Segv.next, top=true, pid=Segv:0, parametric_env={}, callees=[]}]
I1211 14:50:27.446659   16933 ir_converter.cc:304] Converting to IR: ConversionRecord{m=segv, f=Segv.config, top=false, pid=Segv:0, parametric_env={}, callees=[]}
I1211 14:50:27.446843   16933 function_converter.cc:379] Constructed IR converter: 0x7ffe5f3d82a0
I1211 14:50:27.447029   16933 proc_config_ir_converter.cc:94] ProcConfigIrConverter::HandleBlock: {
    ()
} : /tmp/segv.x:3:11-3:14
I1211 14:50:27.447137   16933 ir_converter.cc:304] Converting to IR: ConversionRecord{m=segv, f=Segv.next, top=true, pid=Segv:0, parametric_env={}, callees=[]}
I1211 14:50:27.447216   16933 function_converter.cc:379] Constructed IR converter: 0x7ffe5f3d82a0
I1211 14:50:27.447482   16933 constexpr_evaluator.cc:86] ConstexprEvaluator::Evaluate; expr: {
    ()
} @ /tmp/segv.x:2:7-2:12
I1211 14:50:27.447635   16933 function_converter.cc:2245] HandleProcNextFunction: fn Segv.next(tok: token, state: ()) -> () {
    let (tok, _) = match (u8:0) {
        u8:0 => (tok, u8:0),
        _ => fail!("segv_unsupported_case", (tok, u8:0)),
    };
}
I1211 14:50:27.448083   16933 function_base.cc:195] Adding node __token to FunctionBase __segv__Segv_0_next
I1211 14:50:27.448344   16933 function_base.cc:195] Adding node __state to FunctionBase __segv__Segv_0_next
I1211 14:50:27.448441   16933 verifier.cc:2191] Verifying node: __state: () = param(__state, id=2)
I1211 14:50:27.448845   16933 verifier.cc:2191] Verifying node: __state: () = param(__state, id=2)
I1211 14:50:27.448929   16933 function_converter.cc:484] Setting node 'tok' (0x5be8e19604a0) to IR value 0x5be8e1968ea0.
I1211 14:50:27.449046   16933 function_base.cc:195] Adding node literal.3 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.449112   16933 verifier.cc:2191] Verifying node: literal.3: bits[1] = literal(value=1, id=3)
I1211 14:50:27.449245   16933 function_converter.cc:484] Setting node 'state' (0x5be8e19674b0) to IR value 0x5be8e1965f40.
I1211 14:50:27.449337   16933 function_converter.cc:2326] Proc has 0 constant deps
I1211 14:50:27.449386   16933 function_converter.cc:220] 0x7ffe5f3d6908 visiting: `{
    let (tok, _) = match (u8:0) {
        u8:0 => (tok, u8:0),
        _ => fail!("segv_unsupported_case", (tok, u8:0)),
    };
}` (Block) @ /tmp/segv.x:4:30-9:4
I1211 14:50:27.449532   16933 function_converter.cc:2686] FunctionConverter::HandleBlock; node: {
    let (tok, _) = match (u8:0) {
        u8:0 => (tok, u8:0),
        _ => fail!("segv_unsupported_case", (tok, u8:0)),
    };
}
I1211 14:50:27.475214   16933 function_converter.cc:220] 0x7ffe5f3d6258 visiting: `let (tok, _) = match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
};` (Statement) @ /tmp/segv.x:5:5-8:7
I1211 14:50:27.475612   16933 function_converter.cc:2713] FunctionConverter::HandleStatement; node: let (tok, _) = match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
};
I1211 14:50:27.475798   16933 function_converter.cc:220] 0x7ffe5f3d59f8 visiting: `let (tok, _) = match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
};` (Let) @ /tmp/segv.x:5:5-8:7
I1211 14:50:27.475945   16933 function_converter.cc:670] FunctionConverter::HandleLet: let (tok, _) = match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
};
I1211 14:50:27.476051   16933 function_converter.cc:220] 0x7ffe5f3d5198 visiting: `match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
}` (Match) @ /tmp/segv.x:5:20-8:6
I1211 14:50:27.476180   16933 function_converter.cc:220] 0x7ffe5f3d44a8 visiting: `(u8:0)` (Number) @ /tmp/segv.x:5:29-5:30
I1211 14:50:27.476536   16933 function_base.cc:195] Adding node literal.4 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.476646   16933 verifier.cc:2191] Verifying node: literal.4: bits[8] = literal(value=0, id=4, pos=[(0,4,28)])
I1211 14:50:27.476826   16933 function_converter.cc:435] Define node '(u8:0)' (Number) to be 0x5be8e1969300 @ /tmp/segv.x:5:29-5:30
I1211 14:50:27.476895   16933 function_converter.cc:484] Setting node '(u8:0)' (0x5be8e19678d0) to IR value 0x5be8e1969300.
I1211 14:50:27.476958   16933 function_converter.cc:484] Setting node '(u8:0)' (0x5be8e19678d0) to IR value 0x5be8e1969300.
I1211 14:50:27.477025   16933 function_converter.cc:473] Using node '(u8:0)' (0x5be8e19678d0) as IR value 0x5be8e1969300.
I1211 14:50:27.477110   16933 function_converter.cc:1330] Matcher is leaf: u8:0 (Number)
I1211 14:50:27.477163   16933 function_converter.cc:220] 0x7ffe5f3d3ab8 visiting: `u8:0` (Number) @ /tmp/segv.x:6:10-6:11
I1211 14:50:27.477308   16933 function_base.cc:195] Adding node literal.5 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.477372   16933 verifier.cc:2191] Verifying node: literal.5: bits[8] = literal(value=0, id=5, pos=[(0,5,9)])
I1211 14:50:27.477459   16933 function_converter.cc:435] Define node 'u8:0' (Number) to be 0x5be8e196f490 @ /tmp/segv.x:6:10-6:11
I1211 14:50:27.477509   16933 function_converter.cc:484] Setting node 'u8:0' (0x5be8e1967cf0) to IR value 0x5be8e196f490.
I1211 14:50:27.477569   16933 function_converter.cc:484] Setting node 'u8:0' (0x5be8e1967cf0) to IR value 0x5be8e196f490.
I1211 14:50:27.477627   16933 function_converter.cc:473] Using node 'u8:0' (0x5be8e1967cf0) as IR value 0x5be8e196f490.
I1211 14:50:27.477690   16933 node.cc:63]  Adding operand literal.5 as #0 operand of eq.6
I1211 14:50:27.478059   16933 node.cc:67]  literal.5 user now: [eq.6]
I1211 14:50:27.478160   16933 node.cc:63]  Adding operand literal.4 as #1 operand of eq.6
I1211 14:50:27.478192   16933 node.cc:67]  literal.4 user now: [eq.6]
I1211 14:50:27.478223   16933 function_base.cc:195] Adding node eq.6 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.478303   16933 verifier.cc:2191] Verifying node: eq.6: bits[1] = eq(literal.5, literal.4, id=6)
I1211 14:50:27.478411   16933 function_converter.cc:435] Define node 'u8:0' (NameDefTree) to be 0x5be8e196d5d0 @ /tmp/segv.x:6:10-6:11
I1211 14:50:27.478474   16933 function_converter.cc:484] Setting node 'u8:0' (0x5be8e1967d90) to IR value 0x5be8e196d5d0.
I1211 14:50:27.478561   16933 function_converter.cc:220] 0x7ffe5f3d44a8 visiting: `(tok, u8:0)` (XlsTuple) @ /tmp/segv.x:6:15-6:26
I1211 14:50:27.478610   16933 function_converter.cc:220] 0x7ffe5f3d44a8 visiting: `tok` (NameRef) @ /tmp/segv.x:6:16-6:19
I1211 14:50:27.506016   16933 function_converter.cc:409] Aliased node 'tok' (NameRef) to be same as 'tok' (NameDef): 0x5be8e1968ea0
I1211 14:50:27.506326   16933 function_converter.cc:220] 0x7ffe5f3d44a8 visiting: `u8:0` (Number) @ /tmp/segv.x:6:24-6:25
I1211 14:50:27.506710   16933 function_base.cc:195] Adding node literal.7 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.506841   16933 verifier.cc:2191] Verifying node: literal.7: bits[8] = literal(value=0, id=7, pos=[(0,5,23)])
I1211 14:50:27.507182   16933 function_converter.cc:435] Define node 'u8:0' (Number) to be 0x5be8e196f6c0 @ /tmp/segv.x:6:24-6:25
I1211 14:50:27.507358   16933 function_converter.cc:484] Setting node 'u8:0' (0x5be8e1967f50) to IR value 0x5be8e196f6c0.
I1211 14:50:27.507473   16933 function_converter.cc:484] Setting node 'u8:0' (0x5be8e1967f50) to IR value 0x5be8e196f6c0.
I1211 14:50:27.507622   16933 function_converter.cc:473] Using node 'tok' (0x5be8e1967e30) as IR value 0x5be8e1968ea0.
I1211 14:50:27.507681   16933 function_converter.cc:473] Using node 'u8:0' (0x5be8e1967f50) as IR value 0x5be8e196f6c0.
I1211 14:50:27.507840   16933 node.cc:63]  Adding operand __token as #0 operand of tuple.8
I1211 14:50:27.507914   16933 node.cc:67]  __token user now: [tuple.8]
I1211 14:50:27.507964   16933 node.cc:63]  Adding operand literal.7 as #1 operand of tuple.8
I1211 14:50:27.508007   16933 node.cc:67]  literal.7 user now: [tuple.8]
I1211 14:50:27.508050   16933 function_base.cc:195] Adding node tuple.8 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.508112   16933 verifier.cc:2191] Verifying node: tuple.8: (token, bits[8]) = tuple(__token, literal.7, id=8, pos=[(0,5,14)])
I1211 14:50:27.508218   16933 function_converter.cc:435] Define node '(tok, u8:0)' (XlsTuple) to be 0x5be8e196f5f0 @ /tmp/segv.x:6:15-6:26
I1211 14:50:27.508292   16933 function_converter.cc:484] Setting node '(tok, u8:0)' (0x5be8e1967ff0) to IR value 0x5be8e196f5f0.
I1211 14:50:27.508381   16933 function_converter.cc:473] Using node '(tok, u8:0)' (0x5be8e1967ff0) as IR value 0x5be8e196f5f0.
I1211 14:50:27.508472   16933 function_converter.cc:1330] Matcher is leaf: _ (WildcardPattern)
I1211 14:50:27.508536   16933 function_base.cc:195] Adding node literal.9 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.508577   16933 verifier.cc:2191] Verifying node: literal.9: bits[1] = literal(value=1, id=9, pos=[(0,6,6)])
I1211 14:50:27.508660   16933 function_converter.cc:435] Define node '_' (NameDefTree) to be 0x5be8e196f990 @ /tmp/segv.x:7:7-7:8
I1211 14:50:27.508700   16933 function_converter.cc:484] Setting node '_' (0x5be8e1968090) to IR value 0x5be8e196f990.
I1211 14:50:27.508763   16933 function_converter.cc:220] 0x7ffe5f3d44a8 visiting: `fail!("segv_unsupported_case", (tok, u8:0))` (Invocation) @ /tmp/segv.x:7:17-7:55
I1211 14:50:27.508864   16933 function_converter.cc:1730] FunctionConverter::HandleInvocation: fail!("segv_unsupported_case", (tok, u8:0))
I1211 14:50:27.508907   16933 function_converter.cc:2479] Getting callee identifier for invocation: fail!("segv_unsupported_case", (tok, u8:0))
I1211 14:50:27.508966   16933 function_converter.cc:220] 0x7ffe5f3d3088 visiting: `"segv_unsupported_case"` (String) @ /tmp/segv.x:7:18-7:41
I1211 14:50:27.509194   16933 function_base.cc:195] Adding node literal.10 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.509236   16933 verifier.cc:2191] Verifying node: literal.10: bits[8][21] = literal(value=[115, 101, 103, 118, 95, 117, 110, 115, 117, 112, 112, 111, 114, 116, 101, 100, 95, 99, 97, 115, 101], id=10, pos=[(0,6,17)])
I1211 14:50:27.509430   16933 function_converter.cc:435] Define node '"segv_unsupported_case"' (String) to be 0x5be8e196fad0 @ /tmp/segv.x:7:18-7:41
I1211 14:50:27.509471   16933 function_converter.cc:484] Setting node '"segv_unsupported_case"' (0x5be8e1968130) to IR value 0x5be8e196fad0.
I1211 14:50:27.509527   16933 function_converter.cc:484] Setting node '"segv_unsupported_case"' (0x5be8e1968130) to IR value 0x5be8e196fad0.
I1211 14:50:27.509585   16933 function_converter.cc:473] Using node '"segv_unsupported_case"' (0x5be8e1968130) as IR value 0x5be8e196fad0.
I1211 14:50:27.509621   16933 function_converter.cc:220] 0x7ffe5f3d3088 visiting: `(tok, u8:0)` (XlsTuple) @ /tmp/segv.x:7:43-7:54
I1211 14:50:27.509668   16933 function_converter.cc:220] 0x7ffe5f3d3088 visiting: `tok` (NameRef) @ /tmp/segv.x:7:44-7:47
I1211 14:50:27.509705   16933 function_converter.cc:409] Aliased node 'tok' (NameRef) to be same as 'tok' (NameDef): 0x5be8e1968ea0
I1211 14:50:27.509761   16933 function_converter.cc:220] 0x7ffe5f3d3088 visiting: `u8:0` (Number) @ /tmp/segv.x:7:52-7:53
I1211 14:50:27.537145   16933 function_base.cc:195] Adding node literal.11 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.537372   16933 verifier.cc:2191] Verifying node: literal.11: bits[8] = literal(value=0, id=11, pos=[(0,6,51)])
I1211 14:50:27.537531   16933 function_converter.cc:435] Define node 'u8:0' (Number) to be 0x5be8e1974110 @ /tmp/segv.x:7:52-7:53
I1211 14:50:27.537609   16933 function_converter.cc:484] Setting node 'u8:0' (0x5be8e1968410) to IR value 0x5be8e1974110.
I1211 14:50:27.537677   16933 function_converter.cc:484] Setting node 'u8:0' (0x5be8e1968410) to IR value 0x5be8e1974110.
I1211 14:50:27.537776   16933 function_converter.cc:473] Using node 'tok' (0x5be8e1968260) as IR value 0x5be8e1968ea0.
I1211 14:50:27.537839   16933 function_converter.cc:473] Using node 'u8:0' (0x5be8e1968410) as IR value 0x5be8e1974110.
I1211 14:50:27.537945   16933 node.cc:63]  Adding operand __token as #0 operand of tuple.12
I1211 14:50:27.538035   16933 node.cc:67]  __token user now: [tuple.8, tuple.12]
I1211 14:50:27.538102   16933 node.cc:63]  Adding operand literal.11 as #1 operand of tuple.12
I1211 14:50:27.538162   16933 node.cc:67]  literal.11 user now: [tuple.12]
I1211 14:50:27.538220   16933 function_base.cc:195] Adding node tuple.12 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.538295   16933 verifier.cc:2191] Verifying node: tuple.12: (token, bits[8]) = tuple(__token, literal.11, id=12, pos=[(0,6,42)])
I1211 14:50:27.538420   16933 function_converter.cc:435] Define node '(tok, u8:0)' (XlsTuple) to be 0x5be8e196f900 @ /tmp/segv.x:7:43-7:54
I1211 14:50:27.538488   16933 function_converter.cc:484] Setting node '(tok, u8:0)' (0x5be8e19684b0) to IR value 0x5be8e196f900.
I1211 14:50:27.538552   16933 function_converter.cc:473] Using node '(tok, u8:0)' (0x5be8e19684b0) as IR value 0x5be8e196f900.
I1211 14:50:27.538659   16933 node.cc:63]  Adding operand eq.6 as #0 operand of or.13
I1211 14:50:27.538773   16933 node.cc:67]  eq.6 user now: [or.13]
I1211 14:50:27.538833   16933 function_base.cc:195] Adding node or.13 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.538893   16933 verifier.cc:2191] Verifying node: or.13: bits[1] = or(eq.6, id=13)
I1211 14:50:27.538985   16933 node.cc:63]  Adding operand or.13 as #0 operand of not.14
I1211 14:50:27.539045   16933 node.cc:67]  or.13 user now: [not.14]
I1211 14:50:27.539099   16933 function_base.cc:195] Adding node not.14 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.539152   16933 verifier.cc:2191] Verifying node: not.14: bits[1] = not(or.13, id=14)
I1211 14:50:27.539236   16933 node.cc:63]  Adding operand literal.3 as #0 operand of and.15
I1211 14:50:27.539313   16933 node.cc:67]  literal.3 user now: [and.15]
I1211 14:50:27.539368   16933 node.cc:63]  Adding operand not.14 as #1 operand of and.15
I1211 14:50:27.539422   16933 node.cc:67]  not.14 user now: [and.15]
I1211 14:50:27.539472   16933 function_base.cc:195] Adding node and.15 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.539536   16933 verifier.cc:2191] Verifying node: and.15: bits[1] = and(literal.3, not.14, id=15)
I1211 14:50:27.539621   16933 constexpr_evaluator.cc:86] ConstexprEvaluator::Evaluate; expr: "segv_unsupported_case" @ /tmp/segv.x:7:18-7:41
I1211 14:50:27.539704   16933 constexpr_evaluator.cc:666] Creating constexpr environment for node: `"segv_unsupported_case"`
I1211 14:50:27.539797   16933 constexpr_evaluator.cc:677] freevar count for `"segv_unsupported_case"`: 0
I1211 14:50:27.540066   16933 bytecode_interpreter.cc:133] PC: 0 : literal [u8:115, u8:101, u8:103, u8:118, u8:95, u8:117, u8:110, u8:115, u8:117, u8:112, u8:112, u8:111, u8:114, u8:116, u8:101, u8:100, u8:95, u8:99, u8:97, u8:115, u8:101] @ /tmp/segv.x:7:18-7:41
I1211 14:50:27.540396   16933 bytecode_interpreter.cc:135]  - stack depth 0 []
I1211 14:50:27.540468   16933 bytecode_interpreter.cc:139]  - stack depth 1 [[u8:115, u8:101, u8:103, u8:118, u8:95, u8:117, u8:110, u8:115, u8:117, u8:112, u8:112, u8:111, u8:114, u8:116, u8:101, u8:100, u8:95, u8:99, u8:97, u8:115, u8:101]]
I1211 14:50:27.540832   16933 node.cc:63]  Adding operand and.15 as #0 operand of not.16
I1211 14:50:27.567625   16933 node.cc:67]  and.15 user now: [not.16]
I1211 14:50:27.567945   16933 function_base.cc:195] Adding node not.16 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.568084   16933 verifier.cc:2191] Verifying node: not.16: bits[1] = not(and.15, id=16)
I1211 14:50:27.568326   16933 node.cc:63]  Adding operand __token as #0 operand of assert.17
I1211 14:50:27.568457   16933 node.cc:67]  __token user now: [tuple.8, tuple.12, assert.17]
I1211 14:50:27.568564   16933 node.cc:63]  Adding operand not.16 as #1 operand of assert.17
I1211 14:50:27.568657   16933 node.cc:67]  not.16 user now: [assert.17]
I1211 14:50:27.568782   16933 function_base.cc:195] Adding node assert.17 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.568875   16933 verifier.cc:2191] Verifying node: assert.17: token = assert(__token, not.16, message="Assertion failure via fail! @ /tmp/segv.x:7:17-7:55", label="segv_unsupported_case", id=17)
I1211 14:50:27.569086   16933 node.cc:63]  Adding operand tuple.12 as #0 operand of identity.18
I1211 14:50:27.569198   16933 node.cc:67]  tuple.12 user now: [identity.18]
I1211 14:50:27.569300   16933 function_base.cc:195] Adding node identity.18 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.569384   16933 verifier.cc:2191] Verifying node: identity.18: (token, bits[8]) = identity(tuple.12, id=18)
I1211 14:50:27.569514   16933 function_converter.cc:435] Define node 'fail!("segv_unsupported_case", (tok, u8:0))' (Invocation) to be 0x5be8e19746c0 @ /tmp/segv.x:7:17-7:55
I1211 14:50:27.569659   16933 function_converter.cc:484] Setting node 'fail!("segv_unsupported_case", (tok, u8:0))' (0x5be8e195f970) to IR value 0x5be8e19746c0.
I1211 14:50:27.569812   16933 function_converter.cc:473] Using node 'fail!("segv_unsupported_case", (tok, u8:0))' (0x5be8e195f970) as IR value 0x5be8e19746c0.
I1211 14:50:27.569960   16933 node.cc:63]  Adding operand eq.6 as #0 operand of concat.19
I1211 14:50:27.570058   16933 node.cc:67]  eq.6 user now: [or.13, concat.19]
I1211 14:50:27.570148   16933 function_base.cc:195] Adding node concat.19 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.570229   16933 verifier.cc:2191] Verifying node: concat.19: bits[1] = concat(eq.6, id=19)
I1211 14:50:27.570378   16933 node.cc:63]  Adding operand concat.19 as #0 operand of one_hot.20
I1211 14:50:27.570460   16933 node.cc:67]  concat.19 user now: [one_hot.20]
I1211 14:50:27.570532   16933 function_base.cc:195] Adding node one_hot.20 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.570603   16933 verifier.cc:2191] Verifying node: one_hot.20: bits[2] = one_hot(concat.19, lsb_prio=true, id=20)
I1211 14:50:27.570718   16933 node.cc:63]  Adding operand one_hot.20 as #0 operand of one_hot_sel.21
I1211 14:50:27.570824   16933 node.cc:67]  one_hot.20 user now: [one_hot_sel.21]
I1211 14:50:27.570894   16933 node.cc:63]  Adding operand tuple.8 as #1 operand of one_hot_sel.21
I1211 14:50:27.570965   16933 node.cc:67]  tuple.8 user now: [one_hot_sel.21]
I1211 14:50:27.571034   16933 node.cc:63]  Adding operand identity.18 as #2 operand of one_hot_sel.21
I1211 14:50:27.571104   16933 node.cc:67]  identity.18 user now: [one_hot_sel.21]
I1211 14:50:27.571174   16933 function_base.cc:195] Adding node one_hot_sel.21 to FunctionBase __segv__Segv_0_next
I1211 14:50:27.571244   16933 verifier.cc:2191] Verifying node: one_hot_sel.21: (token, bits[8]) = one_hot_sel(one_hot.20, cases=[tuple.8, identity.18], id=21)
I1211 14:50:27.571433   16933 function_builder.cc:140] BuilderBase::SetError; msg: Expected one_hot_sel.21 to not contain a token in its type; type is (token, bits[8]); loc: []
I1211 14:50:27.652880   16933 function_converter.cc:484] Setting node 'match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
}' (0x5be8e1968550) to IR value (nil).
I1211 14:50:27.653000   16933 function_converter.cc:473] Using node 'match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
}' (0x5be8e1968550) as IR value (nil).
I1211 14:50:27.653022   16933 function_converter.cc:409] Aliased node 'let (tok, _) = match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
};' (Let) to be same as 'match (u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
}' (Match): (nil)
I1211 14:50:27.653058   16933 function_converter.cc:704] Walking level 1 index 0: `tok`
Segmentation fault (core dumped)

from xls.

proppy avatar proppy commented on June 9, 2024

This also crash with a regular fn:

fn Segv(tok: token, state: ()) {
  let (tok, _) = match(u8:0) {
    u8:0 => (tok, u8:0),
    _ => fail!("segv_unsupported_case", (tok, u8:0)),
  };
}

from xls.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.