[Mono-bugs] [Bug 562152] New: abort in mono_arch_output_basic_block (x86_64) while JITting a verified method

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Thu Dec 10 08:16:51 EST 2009


http://bugzilla.novell.com/show_bug.cgi?id=562152

http://bugzilla.novell.com/show_bug.cgi?id=562152#c0


           Summary: abort in mono_arch_output_basic_block (x86_64) while
                    JITting a verified method
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.6.x
          Platform: Other
        OS/Version: Other
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: JIT
        AssignedTo: lupus at novell.com
        ReportedBy: spouliot at novell.com
         QAContact: mono-bugs at lists.ximian.com
                CC: rkumpera at novell.com
          Found By: ---
           Blocker: ---


Created an attachment (id=331958)
 --> (http://bugzilla.novell.com/attachment.cgi?id=331958)
assembly to reproduce abort

note: this is System.Core from 2.1 (Moonlight, not 4.0)

MONO_PATH=/opt/mono/lib/moonlight/plugin/ gdb --args mono --security=core-clr
--compile-all System.Core.sigabrt.55375.dll

** ERROR:(mini-amd64.c:3529):mono_arch_output_basic_block: assertion failed:
(amd64_is_imm32 (ins->inst_imm))

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x42092950 (LWP 28392)]
0x00007f920f71e5c5 in raise () from /lib64/libc.so.6
(gdb) bt
#0  0x00007f920f71e5c5 in raise () from /lib64/libc.so.6
#1  0x00007f920f71fbb3 in abort () from /lib64/libc.so.6
#2  0x00007f921054c2c7 in g_assertion_message () from
/usr/lib64/libglib-2.0.so.0
#3  0x00007f921054c762 in g_assertion_message_expr () from
/usr/lib64/libglib-2.0.so.0
#4  0x0000000000513584 in mono_arch_output_basic_block (cfg=0xae2a00,
bb=0xb0e390) at mini-amd64.c:3529
#5  0x000000000041e679 in mono_codegen (cfg=0xae2a00) at mini.c:3009
#6  0x0000000000420605 in mini_method_compile (method=0xb06688, opts=55667199,
domain=0x7f9210a62db0, run_cctors=0, compile_aot=0, parts=0) at mini.c:3810
#7  0x00000000004a381a in compile_all_methods_thread_main (args=0x7fff18bd0760)
at driver.c:881
#8  0x00000000005aeee2 in start_wrapper (data=0xa26320) at threads.c:662
#9  0x0000000000656c43 in thread_start_routine (args=0x9f9c00) at
wthreads.c:286
#10 0x000000000066fe5e in GC_start_routine (arg=0x7f9210a63e70) at
pthread_support.c:1390
#11 0x00007f920fca2040 in start_thread () from /lib64/libpthread.so.0
#12 0x00007f920f7bf08d in clone () from /lib64/libc.so.6
#13 0x0000000000000000 in ?? ()
(gdb) up 4
#4  0x0000000000513584 in mono_arch_output_basic_block (cfg=0xae2a00,
bb=0xb0e390) at mini-amd64.c:3529
3529                g_assert (amd64_is_imm32 (ins->inst_imm));
(gdb) p *cfg
$1 = {method = 0xb06688, mempool = 0xb0d420, varinfo = 0xb01600, vars =
0xb0f800, ret = 0xb0d4a0, bb_entry = 0xb0de48, bb_exit = 0xb0df50, bb_init =
0xb1b3c0, 
  bblocks = 0xb1e0e0, cil_offset_to_bb = 0xb0d928, state_pool = 0x0, cbb =
0xb0df50, prev_ins = 0x0, patch_info = 0xb25c30, jit_info = 0x0, dynamic_info =
0x0, 
  num_bblocks = 5, locals_start = 3, num_varinfo = 17, varinfo_count = 64,
stack_offset = 216, max_ireg = 0, cil_offset_to_bb_len = 162, 
  locals_min_stack_offset = -196, locals_max_stack_offset = -32, rs = 0xb00480,
spill_info = {0xb25940, 0x0 <repeats 15 times>}, spill_count = 0, 
  spill_info_len = {16, 0 <repeats 15 times>}, inlined_method = 0x0, domainvar
= 0x0, got_var = 0x0, locals = 0xb0d6a0, rgctx_var = 0x0, args = 0xb0d5f0, 
  arg_types = 0xb0de38, current_method = 0xb06688, method_to_register =
0xb06688, generic_context = 0x0, vret_addr = 0xb0d8d8, ip = 0x0, aliasing_info
= 0x0, 
  spvars = 0x0, exvars = 0x0, ldstr_list = 0x0, domain = 0x7f9210a62db0,
real_offset = 161, cbb_hash = 0x0, next_vreg = 260, generic_sharing_context =
0x0, 
  cil_start = 0x7f9210a25d08 "\017", native_code = 0xb2b170
"UH\213�ATAVAWH\201��", code_size = 10240, code_len = 80, prolog_end = 24,
epilog_begin = 0, 
  used_int_regs = 53248, opt = 55667199, prof_options = 0, flags = 2, comp_done
= 275, verbose_level = 0, stack_usage = 0, param_area = 0, frame_reg = 5, 
  sig_cookie = 0, disable_aot = 0, disable_ssa = 0, disable_llvm = 0,
enable_extended_bblocks = 0, run_cctors = 0, need_lmf_area = 0, compile_aot =
0, 
  compile_llvm = 0, got_var_allocated = 0, ret_var_is_local = 0, ret_var_set =
0, globalra = 0, unverifiable = 0, skip_visibility = 0, 
  disable_reuse_registers = 0, disable_reuse_stack_slots = 0,
disable_initlocals_opt = 0, disable_omit_fp = 0, disable_vreg_to_lvreg = 0, 
  disable_deadce_vars = 0, extend_live_ranges = 0, has_got_slots = 0,
uses_rgctx_reg = 0, uses_vtable_reg = 0, uses_simd_intrinsics = 0,
keep_cil_nops = 0, 
  gen_seq_points = 0, debug_info = 0x0, lmf_offset = 0, intvars = 0xb0d450,
coverage_info = 0x0, token_info_hash = 0x9deb40, arch = {lmf_offset = 0, 
    localloc_offset = 0, reg_save_area_offset = 0, stack_alloc_size = 200,
omit_fp = 0, omit_fp_computed = 1, no_pushes = 1, cinfo = 0xb0d858, 
    async_point_count = 0, vret_addr_loc = 0x0}, inline_depth = 0,
exception_type = 0, exception_data = 0, exception_message = 0x0, exception_ptr
= 0x0, 
  encoded_unwind_ops = 0x0, encoded_unwind_ops_len = 0, unwind_ops = 0xb25b20,
reginfo = 0xb27160, reginfo_len = 1024, vreg_to_inst = 0xb17828, 
  vreg_to_inst_len = 256, orig_method = 0xb06688, abs_patches = 0x0,
tailcall_valuetype_addrs = 0x0, iconv_raw_var = 0x0, fconv_to_r8_x_var = 0x0, 
  simd_ctor_var = 0x0, dyn_call_var = 0x0, seq_points = 0x0, got_offset = 0}
(gdb) p *bb
$2 = {last_ins = 0xb14270, next_bb = 0xb0e288, code = 0xaf64e0, block_num = 5,
dfn = 4, out_count = 1, in_count = 1, in_bb = 0xb1c920, out_bb = 0xb142c0, 
  cil_code = 0x7f9210a25d14 "\003\017", cil_length = 41, native_offset = 80,
max_offset = 80, max_length = 432, flags = 0, dominators = 0xb1e3e0, 
  dfrontier = 0x0, idom = 0xb0e160, dominated = 0x0, df_parent = 0xb0e160,
ancestor = 0x0, child = 0x0, label = 0x0, bucket = 0x0, size = 0, sdom = 0,
idomn = 0, 
  loop_blocks = 0x0, nesting = 0 '\0', loop_body_start = 0 '\0', out_of_line =
0, not_useless = 1, has_array_access = 0, extended = 0, has_jump_table = 0, 
  has_call_handler = 0, gen_set = 0xb20258, kill_set = 0xb20270, live_in_set =
0xb20318, live_out_set = 0xb202e8, out_scount = 0, in_scount = 0, out_stack =
0x0, 
  in_stack = 0x0, real_offset = 52, region = 4294967295, max_vreg = 258}

-- 
Configure bugmail: http://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list