Project

General

Profile

Bug #19299 ยป backtrace.txt

ollym (Oliver Morgan), 01/02/2023 01:17 PM

 
[ 0] Comment() "invokeblock" -> None
[ 1] Comment() "get local EP" -> None
| [ 2] Load(Mem64[Reg(19) + 32]) -> A64Reg { num_bits: 64, reg_no: 11 }
| [ 3] Load(Mem64[Reg(11) - -8]) -> A64Reg { num_bits: 64, reg_no: 11 }
| [ 4] And(A64Reg { num_bits: 64, reg_no: 11 }, fffffffffffffffc_u64) -> A64Reg { num_bits: 64, reg_no: 11 }
| [ 5] Load(Mem64[Reg(11) - -8]) -> A64Reg { num_bits: 64, reg_no: 11 }
| [ 6] Comment() "guard block_handler type" -> None
|| [ 7] And(A64Reg { num_bits: 64, reg_no: 11 }, 3_u64) -> A64Reg { num_bits: 64, reg_no: 12 }
||| [ 8] Load(1_i64) -> A64Reg { num_bits: 64, reg_no: 13 }
| [ 9] Cmp(A64Reg { num_bits: 64, reg_no: 12 }, A64Reg { num_bits: 64, reg_no: 13 }) -> None
| [ 10] Jne() target=CodePtr(CodePtr(0x1080329dc)) -> None
| [ 11] Comment() "guard known ISEQ" -> None
| [ 12] And(A64Reg { num_bits: 64, reg_no: 11 }, fffffffffffffffc_u64) -> A64Reg { num_bits: 64, reg_no: 11 }
|| [ 13] Load(Mem64[Reg(11) + 16]) -> A64Reg { num_bits: 64, reg_no: 12 }
||| [ 14] Load(14021c870_u64) -> A64Reg { num_bits: 64, reg_no: 13 }
| [ 15] Cmp(A64Reg { num_bits: 64, reg_no: 12 }, A64Reg { num_bits: 64, reg_no: 13 }) -> None
| [ 16] PosMarker() -> None
| [ 17] Jnz() target=CodePtr(CodePtr(0x108032a08)) -> None
| [ 18] PosMarker() -> None
| [ 19] Comment() "RUBY_VM_CHECK_INTS(ec)" -> None
|| [ 20] Load(Mem32[Reg(20) + 32]) -> A64Reg { num_bits: 32, reg_no: 12 }
| [ 21] Test(A64Reg { num_bits: 32, reg_no: 12 }, A64Reg { num_bits: 32, reg_no: 12 }) -> None
| [ 22] Jnz() target=SideExitPtr(CodePtr(0x1080329dc)) -> None
| [ 23] Comment() "stack overflow check" -> None
|| [ 24] Lea(Mem64[Reg(21) + 480]) -> A64Reg { num_bits: 64, reg_no: 12 }
| [ 25] Cmp(A64Reg { num_bits: 64, reg_no: 19 }, A64Reg { num_bits: 64, reg_no: 12 }) -> None
| [ 26] Jbe() target=SideExitPtr(CodePtr(0x1080329dc)) -> None
| [ 27] Comment() "push_splat_args" -> None
|| [ 28] Load(Mem64[Reg(21) - -8]) -> A64Reg { num_bits: 64, reg_no: 12 }
|| [ 29] Comment() "guard object is heap" -> None
|| [ 30] Test(A64Reg { num_bits: 64, reg_no: 12 }, 7_u64) -> None
|| [ 31] Jnz() target=SideExitPtr(CodePtr(0x1080329dc)) -> None
|| [ 32] Cmp(A64Reg { num_bits: 64, reg_no: 12 }, 0_u64) -> None
|| [ 33] Je() target=SideExitPtr(CodePtr(0x1080329dc)) -> None
|| [ 34] Comment() "guard object is array" -> None
||| [ 35] Load(Mem64[Reg(12)]) -> A64Reg { num_bits: 64, reg_no: 13 }
||| [ 36] And(A64Reg { num_bits: 64, reg_no: 13 }, 1f_u64) -> A64Reg { num_bits: 64, reg_no: 13 }
|| [ 37] Cmp(A64Reg { num_bits: 64, reg_no: 13 }, 7_u64) -> None
|| [ 38] Jne() target=SideExitPtr(CodePtr(0x1080329dc)) -> None
||| [ 39] Load(Mem64[Reg(12)]) -> A64Reg { num_bits: 64, reg_no: 13 }
||| [ 40] And(A64Reg { num_bits: 64, reg_no: 13 }, 3f8000_u64) -> A64Reg { num_bits: 64, reg_no: 13 }
||| [ 41] RShift(A64Reg { num_bits: 64, reg_no: 13 }, f_u64) -> A64Reg { num_bits: 64, reg_no: 13 }
||| [ 42] Load(Mem64[Reg(12)]) -> A64Reg { num_bits: 64, reg_no: 12 }
|| [ 43] Test(A64Reg { num_bits: 64, reg_no: 12 }, 2000_u64) -> None
||| [ 44] Load(Mem64[Reg(21) - -8]) -> A64Reg { num_bits: 64, reg_no: 12 }
||| [ 45] Load(Mem64[Reg(12) + 16]) -> A64Reg { num_bits: 64, reg_no: 12 }
|| [ 46] CSelNZ(A64Reg { num_bits: 64, reg_no: 13 }, A64Reg { num_bits: 64, reg_no: 12 }) -> A64Reg { num_bits: 64, reg_no: 13 }
||| [ 47] Load(1_i64) -> A64Reg { num_bits: 64, reg_no: 12 }
| [ 48] Cmp(A64Reg { num_bits: 64, reg_no: 13 }, A64Reg { num_bits: 64, reg_no: 12 }) -> None
| [ 49] Jne() target=CodePtr(CodePtr(0x1080329dc)) -> None
|| [ 50] Load(Mem64[Reg(21) - -8]) -> A64Reg { num_bits: 64, reg_no: 12 }
||| [ 51] Lea(Mem64[Reg(12) + 16]) -> A64Reg { num_bits: 64, reg_no: 13 }
||| [ 52] Load(Mem64[Reg(12)]) -> A64Reg { num_bits: 64, reg_no: 12 }
|| [ 53] Test(A64Reg { num_bits: 64, reg_no: 12 }, 2000_u64) -> None
||| [ 54] Load(Mem64[Reg(21) - -8]) -> A64Reg { num_bits: 64, reg_no: 12 }
||| [ 55] Load(Mem64[Reg(12) + 32]) -> A64Reg { num_bits: 64, reg_no: 12 }
|| [ 56] CSelNZ(A64Reg { num_bits: 64, reg_no: 13 }, A64Reg { num_bits: 64, reg_no: 12 }) -> A64Reg { num_bits: 64, reg_no: 13 }
|| [ 57] Load(Mem64[Reg(13)]) -> A64Reg { num_bits: 64, reg_no: 12 }
| [ 58] Store(Mem64[Reg(21) - -8], A64Reg { num_bits: 64, reg_no: 12 }) -> None
|| [ 59] Load(Mem64[Reg(11)]) -> A64Reg { num_bits: 64, reg_no: 12 }
|| [ 60] Comment() "store caller sp" -> None
||| [ 61] Lea(Mem64[Reg(21) - -8]) -> A64Reg { num_bits: 64, reg_no: 13 }
|| [ 62] Store(Mem64[Reg(19) + 8], A64Reg { num_bits: 64, reg_no: 13 }) -> None
|| [ 63] Comment() "save PC to CFP" -> None
||| [ 64] Load(6000008c1390_u64) -> A64Reg { num_bits: 64, reg_no: 13 }
|| [ 65] Store(Mem64[Reg(19)], A64Reg { num_bits: 64, reg_no: 13 }) -> None
||| [ 66] Lea(Mem64[Reg(21) + 280]) -> A64Reg { num_bits: 64, reg_no: 13 }
||| [ 67] Load(Mem64[Reg(11) + 8]) -> A64Reg { num_bits: 64, reg_no: 11 }
||| [ 68] Comment() "push cme, specval, frame type" -> None
||| [ 69] Store(Mem64[Reg(13) - -24], A64Reg { num_bits: 64, reg_no: 31 }) -> None
||| [ 70] Or(A64Reg { num_bits: 64, reg_no: 11 }, 1_u64) -> A64Reg { num_bits: 64, reg_no: 11 }
|| [ 71] Store(Mem64[Reg(13) - -16], A64Reg { num_bits: 64, reg_no: 11 }) -> None
|| [ 72] Comment() "initialize locals" -> None
||| [ 73] Load(fffffffffffffee8_i64) -> A64Reg { num_bits: 64, reg_no: 11 }
||| [ 74] Add(A64Reg { num_bits: 64, reg_no: 13 }, A64Reg { num_bits: 64, reg_no: 11 }) -> A64Reg { num_bits: 64, reg_no: 11 }
==> |||| [ 75] Load(4_u64) -> Out64(75)
|| [ 76] Store(Mem64[InsnOut(74)], Out64(75)) -> None
||| [ 77] Load(fffffffffffffef0_i64) -> Out64(77)
||| [ 78] Add(Out64(66), Out64(77)) -> Out64(78)
|||| [ 79] Load(4_u64) -> Out64(79)
|| [ 80] Store(Mem64[InsnOut(78)], Out64(79)) -> None
||| [ 81] Load(fffffffffffffef8_i64) -> Out64(81)
||| [ 82] Add(Out64(66), Out64(81)) -> Out64(82)
|||| [ 83] Load(4_u64) -> Out64(83)
|| [ 84] Store(Mem64[InsnOut(82)], Out64(83)) -> None
||| [ 85] Load(4_u64) -> Out64(85)
|| [ 86] Store(Mem64[InsnOut(66) - -256], Out64(85)) -> None
||| [ 87] Load(4_u64) -> Out64(87)
|| [ 88] Store(Mem64[InsnOut(66) - -248], Out64(87)) -> None
||| [ 89] Load(4_u64) -> Out64(89)
|| [ 90] Store(Mem64[InsnOut(66) - -240], Out64(89)) -> None
||| [ 91] Load(4_u64) -> Out64(91)
|| [ 92] Store(Mem64[InsnOut(66) - -232], Out64(91)) -> None
||| [ 93] Load(4_u64) -> Out64(93)
|| [ 94] Store(Mem64[InsnOut(66) - -224], Out64(93)) -> None
||| [ 95] Load(4_u64) -> Out64(95)
|| [ 96] Store(Mem64[InsnOut(66) - -216], Out64(95)) -> None
||| [ 97] Load(4_u64) -> Out64(97)
|| [ 98] Store(Mem64[InsnOut(66) - -208], Out64(97)) -> None
||| [ 99] Load(4_u64) -> Out64(99)
|| [100] Store(Mem64[InsnOut(66) - -200], Out64(99)) -> None
||| [101] Load(4_u64) -> Out64(101)
|| [102] Store(Mem64[InsnOut(66) - -192], Out64(101)) -> None
||| [103] Load(4_u64) -> Out64(103)
|| [104] Store(Mem64[InsnOut(66) - -184], Out64(103)) -> None
||| [105] Load(4_u64) -> Out64(105)
|| [106] Store(Mem64[InsnOut(66) - -176], Out64(105)) -> None
||| [107] Load(4_u64) -> Out64(107)
|| [108] Store(Mem64[InsnOut(66) - -168], Out64(107)) -> None
||| [109] Load(4_u64) -> Out64(109)
|| [110] Store(Mem64[InsnOut(66) - -160], Out64(109)) -> None
||| [111] Load(4_u64) -> Out64(111)
|| [112] Store(Mem64[InsnOut(66) - -152], Out64(111)) -> None
||| [113] Load(4_u64) -> Out64(113)
|| [114] Store(Mem64[InsnOut(66) - -144], Out64(113)) -> None
||| [115] Load(4_u64) -> Out64(115)
|| [116] Store(Mem64[InsnOut(66) - -136], Out64(115)) -> None
||| [117] Load(4_u64) -> Out64(117)
|| [118] Store(Mem64[InsnOut(66) - -128], Out64(117)) -> None
||| [119] Load(4_u64) -> Out64(119)
|| [120] Store(Mem64[InsnOut(66) - -120], Out64(119)) -> None
||| [121] Load(4_u64) -> Out64(121)
|| [122] Store(Mem64[InsnOut(66) - -112], Out64(121)) -> None
||| [123] Load(4_u64) -> Out64(123)
|| [124] Store(Mem64[InsnOut(66) - -104], Out64(123)) -> None
||| [125] Load(4_u64) -> Out64(125)
|| [126] Store(Mem64[InsnOut(66) - -96], Out64(125)) -> None
||| [127] Load(4_u64) -> Out64(127)
|| [128] Store(Mem64[InsnOut(66) - -88], Out64(127)) -> None
||| [129] Load(4_u64) -> Out64(129)
|| [130] Store(Mem64[InsnOut(66) - -80], Out64(129)) -> None
||| [131] Load(4_u64) -> Out64(131)
|| [132] Store(Mem64[InsnOut(66) - -72], Out64(131)) -> None
||| [133] Load(4_u64) -> Out64(133)
|| [134] Store(Mem64[InsnOut(66) - -64], Out64(133)) -> None
||| [135] Load(4_u64) -> Out64(135)
|| [136] Store(Mem64[InsnOut(66) - -56], Out64(135)) -> None
||| [137] Load(4_u64) -> Out64(137)
|| [138] Store(Mem64[InsnOut(66) - -48], Out64(137)) -> None
||| [139] Load(4_u64) -> Out64(139)
|| [140] Store(Mem64[InsnOut(66) - -40], Out64(139)) -> None
||| [141] Load(4_u64) -> Out64(141)
|| [142] Store(Mem64[InsnOut(66) - -32], Out64(141)) -> None
||| [143] Load(22220001_u64) -> Out64(143)
|| [144] Store(Mem64[InsnOut(66) - -8], Out64(143)) -> None
|| [145] Comment() "push callee control frame" -> None
|| [146] Store(Mem64[Reg(19) - -16], Out64(66)) -> None
|| [147] Store(Mem64[Reg(19) - -56], Out64(66)) -> None
||| [148] Load(Value(VALUE(5370923120))) -> Out64(148)
|| [149] Store(Mem64[Reg(19) - -48], Out64(148)) -> None
| [150] Store(Mem64[Reg(19) - -40], Out64(59)) -> None
| [151] Store(Mem64[Reg(19) - -24], A64Reg { num_bits: 64, reg_no: 31 }) -> None
| [152] Mov(A64Reg { num_bits: 64, reg_no: 21 }, Out64(66)) -> None
| [153] Sub(Out64(66), 8_u64) -> Out64(153)
[154] Store(Mem64[Reg(19) - -32], Out64(153)) -> None
[155] Comment() "switch to new CFP" -> None
| [156] Lea(Mem64[Reg(19) - -64]) -> Out64(156)
[157] Mov(A64Reg { num_bits: 64, reg_no: 19 }, Out64(156)) -> None
[158] Store(Mem64[Reg(20) + 16], A64Reg { num_bits: 64, reg_no: 19 }) -> None
[159] PosMarker() -> None
| [160] Load(108032a24_u64) -> Out64(160)
[161] Store(Mem64[Reg(19) + 56], Out64(160)) -> None
[162] PosMarker() -> None
[163] Comment() "gen_direct_jmp: fallthrough" -> None
[164] PosMarker() -> None
[165] PosMarker() -> None
thread '<unnamed>' panicked at 'internal error: entered unreachable code: Register spill not supported', ./yjit/src/backend/ir.rs:1077:33
stack backtrace:
0: 0x104c45d44 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h697a67b9e3817972
1: 0x104c8b90c - core::fmt::write::h9c1806db6b3cce37
2: 0x104c13570 - std::io::Write::write_fmt::hf6f15524654c436c
3: 0x104c45b78 - std::sys_common::backtrace::print::hbef5fa84cff5e4e6
4: 0x104c29390 - std::panicking::default_hook::{{closure}}::h28c8099195c7536b
5: 0x104c29054 - std::panicking::default_hook::hd22d29f2c7f8156c
6: 0x104c29aac - std::panicking::rust_panic_with_hook::h4c37bcbe28adfb13
7: 0x104c4650c - std::panicking::begin_panic_handler::{{closure}}::h75b976aa70ea6791
8: 0x104c45e80 - std::sys_common::backtrace::__rust_end_short_backtrace::heb72a15170a4f32a
9: 0x104c2968c - _rust_begin_unwind
10: 0x104c9e6c8 - core::panicking::panic_fmt::h73c0366c2442918f
11: 0x104be3bd8 - yjit::backend::arm64::<impl yjit::backend::ir::Assembler>::compile_with_regs::hdf6c3661c48db7f5
12: 0x104b9f74c - yjit::codegen::gen_single_block::h6159d16df004b60f
13: 0x104bd87d0 - yjit::core::gen_block_series::h8d9c40e0619dbd9b
14: 0x104bd9bd4 - yjit::core::branch_stub_hit_body::he14533b7990a7924
15: 0x104bc29d4 - yjit::cruby::with_vm_lock::h6c9b194bffea14ee
16: 0x104bdda78 - yjit::core::branch_stub_hit::hf5da647f5defa115
YJIT panicked while holding VM lock acquired at ./yjit/src/core.rs:1693. Aborting...
zsh: abort RUST_BACKTRACE=full rails s
    (1-1/1)