[Mono-bugs] [Bug 560200] [verifier] abort in type_to_eval_stack_type while JITting a verified method

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Sep 1 07:48:17 EDT 2010


https://bugzilla.novell.com/show_bug.cgi?id=560200

https://bugzilla.novell.com/show_bug.cgi?id=560200#c6


--- Comment #6 from Sebastien Pouliot <spouliot at novell.com> 2010-09-01 11:48:14 UTC ---
Created an attachment (id=386813)
 --> (http://bugzilla.novell.com/attachment.cgi?id=386813)
assembly to reproduce abort (opensuse 11.3, x86)

a newer test case on opensuse 11.3 x86

MONO_PATH=./bin gdb --args mono --security=core-clr --compile-all
bin/Microsoft.VisualBasic.sigabrt.5375.dll

GNU gdb (GDB) SUSE (7.1-3.12)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i586-suse-linux".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /opt/mono/bin/mono...done.
Mono support loaded.
(gdb) run
Starting program: /opt/mono/bin/mono --security=core-clr --compile-all
bin/Microsoft.VisualBasic.sigabrt.5375.dll
Missing separate debuginfo for /lib/ld-linux.so.2
Try: zypper install -C
"debuginfo(build-id)=22e2b3718e8271a0d899156a796b0a90bc4dc391"
Missing separate debuginfo for /lib/libm.so.6
Try: zypper install -C
"debuginfo(build-id)=cea8cd6cde71d5c31abbfd61e716cf37338e92f3"
Missing separate debuginfo for /lib/librt.so.1
Try: zypper install -C
"debuginfo(build-id)=bbf8c6d2b93765386aea68bdc7705f0ed559fa4d"
Missing separate debuginfo for /lib/libdl.so.2
Try: zypper install -C
"debuginfo(build-id)=20519b5f2874a1cf29e149802cfbef0db142633f"
Missing separate debuginfo for /lib/libpthread.so.0
Try: zypper install -C
"debuginfo(build-id)=ebd849d5f5cebe33657f871a32bf0eb34132e8d1"
[Thread debugging using libthread_db enabled]
Missing separate debuginfo for /lib/libc.so.6
Try: zypper install -C
"debuginfo(build-id)=f71a3d8772eda244959bac3385b43c719b8ca227"
[New Thread 0xb7a8eb70 (LWP 5529)]
[New Thread 0xb798db70 (LWP 5530)]
Compilation of
Microsoft.Vi{ualBasic.CompilerServices.Conversions:ToCharArrayRankOne (string)
failed with exception 'Error verifying
Microsoft.Vi{ualBasic.CompilerServices.Conversions:ToCharArrayRankOne (string):
Branch or EH block targets middle of instruction at 0x0014':
Compilation of Microsoft.Vi{ualBasic.CompilerServices.Conversions:ToDate
(object) failed with exception 'Error verifying
Microsoft.Vi{ualBasic.CompilerServices.Conversions:ToDate (object): Invalid
generic type (!!89) (argument out of range or class is not generic) at 0x0000':
Compilation of Microsoft.Vi{ualBasic.CompilerServices.Conversions:ToDate
(string) failed with exception 'Error verifying
Microsoft.Vi{ualBasic.CompilerServices.Conversions:ToDate (string): Invalid
generic type (!!89) (argument out of range or class is not generic) at 0x0000':
Compilation of Microsoft.Vi{ualBasic.CompilerServices.Conversions:ToString
(single,System.Globalization.NumberFormatInfo) failed with exception 'Error
verifying Microsoft.Vi{ualBasic.CompilerServices.Conversions:ToString
(single,System.Globalization.NumberFormatInfo): Method doesn't have local 2':
Compilation of Microsoft.Vi{ualBasic.CompilerServices.DecimalType:FromObject
(object,System.Globalization.NumberFormatInfo) failed with exception 'Error
verifying Microsoft.Vi{ualBasic.CompilerServices.DecimalType:FromObject
(object,System.Globalization.NumberFormatInfo): Use of the `unused' opcode':
Compilation of Microsoft.Vi{ualBasic.CompilerServices.owControl:ForLoopInitObj
(object,object,object,object,object&,object&) failed with exception 'Error
verifying Microsoft.Vi{ualBasic.CompilerServices.owControl:ForLoopInitObj
(object,object,object,object,object&,object&): Invalid field token 0x0c000013
for stfld at 0x0059':
Compilation of Microsoft.Vi{ualBasic.CompilerServices.LateBinder:ConvertValue
(object,System.Type) failed with exception 'Error verifying
Microsoft.Vi{ualBasic.CompilerServices.LateBinder:ConvertValue
(object,System.Type): Invalid branch target: Invalid instruction target 1059':
Compilation of Microsoft.Vi{ualBasic.CompilerServices.Operators:.cctor ()
failed with exception 'Error verifying
Microsoft.Vi{ualBasic.CompilerServices.Operators:.cctor (): Invalid branch
target: Invalid instruction 8c':
Compilation of Microsoft.Vi{ualBasic.CompilerServices.Operators:AddDecimals
(System.Decimal,System.Decimal) failed with exception 'Missing or incorrect
header for method AddDecimals':
* Assertion at method-to-ir.c:626, condition `cfg->generic_sharing_context' not
met


Program received signal SIGABRT, Aborted.
[Switching to Thread 0xb798db70 (LWP 5530)]
0xffffe424 in __kernel_vsyscall ()
(gdb) bt
#0  0xffffe424 in __kernel_vsyscall ()
#1  0xb7e2d7ff in raise () from /lib/libc.so.6
#2  0xb7e2f140 in abort () from /lib/libc.so.6
#3  0x0828489a in monoeg_g_logv (log_domain=0x0, log_level=G_LOG_LEVEL_ERROR,
format=0x82a8a2c "* Assertion at %s:%d, condition `%s' not met\n", args=
    0xb798c5b4 "\034\212*\br\002") at goutput.c:134
#4  0x08284919 in monoeg_assertion_message (format=0x82a8a2c "* Assertion at
%s:%d, condition `%s' not met\n") at goutput.c:154
#5  0x08067132 in type_to_eval_stack_type (cfg=0x8440cc0, type={var},
inst=0x84aec3c) at method-to-ir.c:626
#6  0x0805ae27 in mono_compile_create_var_for_vreg (cfg=0x8440cc0, type={var},
opcode=325, vreg=129) at mini.c:1029
#7  0x0805b1ff in mono_compile_create_var (cfg=0x8440cc0, type={var},
opcode=325) at mini.c:1121
#8  0x0808acdd in inline_method (cfg=0x8440cc0, cmethod="VBConvert:ToDateTime
()", fsig=0x843dab4, sp=0x84b7b94, ip=0xb7c71b50 "(i\001", real_offset=284, 
    dont_inline=0x84aa048, inline_allways=0) at method-to-ir.c:4749
#9  0x08097212 in mono_method_to_ir (cfg=0x8440cc0,
method="Microsoft.Vi{ualBasic.CompilerServices.Operators:AddObject ()",
start_bblock=0x842be34, 
    end_bblock=0x842bed4, return_var=0x0, dont_inline=0x84aa048,
inline_args=0x0, inline_offset=0, is_virtual_call=0) at method-to-ir.c:6666
#10 0x08061850 in mini_method_compile
(method="Microsoft.Vi{ualBasic.CompilerServices.Operators:AddObject ()",
opts=59861503, domain=0x34e70, run_cctors=0, 
    compile_aot=0, parts=0) at mini.c:4135
#11 0x080e3df4 in compile_all_methods_thread_main (args=0xbfffedf4) at
driver.c:881
#12 0x081e769e in start_wrapper (data=0x841c4f8) at threads.c:747
#13 0x0826482c in thread_start_routine (args=0x84039ac) at wthreads.c:285
#14 0x082931c1 in GC_start_routine (arg=0x5dfc0) at pthread_support.c:1392
#15 0xb7f73b25 in start_thread () from /lib/libpthread.so.0
#16 0xb7ed546e in clone () from /lib/libc.so.6
(gdb) up 5
#5  0x08067132 in type_to_eval_stack_type (cfg=0x8440cc0, type={var},
inst=0x84aec3c) at method-to-ir.c:626
626            g_assert (cfg->generic_sharing_context);
(gdb) p cfg
$1 = (MonoCompile *) 0x8440cc0
(gdb) p *cfg
$2 = {method = "Microsoft.Vi{ualBasic.CompilerServices.Operators:AddObject ()",
header = 0x84a7020, mempool = 0x842abb0, varinfo = 0x84648a8, vars = 
    0x84d2ce0, ret = 0x842ac0c, bb_entry = 0x842be34, bb_exit = 0x842bed4,
bb_init = 0x84ade6c, bblocks = 0x0, cil_offset_to_bb = 0x842ae7c, state_pool = 
    0x0, cbb = 0x84c89f4, prev_ins = 0x0, patch_info = 0x0, jit_info = 0x0,
dynamic_info = 0x0, num_bblocks = 152, max_block_num = 0, locals_start = 3, 
  num_varinfo = 39, varinfo_count = 64, stack_offset = 0, max_ireg = 0,
cil_offset_to_bb_len = 1003, locals_min_stack_offset = 0,
locals_max_stack_offset = 
    0, rs = 0x8476918, spill_info = {0x0 <repeats 16 times>}, spill_count = 0,
spill_info_len = {0 <repeats 16 times>}, inlined_method = 0x0, domainvar = 
    0x0, got_var = 0x0, locals = 0x84aec34, rgctx_var = 0x0, args = 0x842acbc,
arg_types = 0x842be2c, current_method = 
    "Microsoft.Vi{ualBasic.CompilerServices.Operators:AddObject ()",
method_to_register =
"Microsoft.Vi{ualBasic.CompilerServices.Operators:AddObject ()", 
  generic_context = 0x0, vret_addr = 0x0, ip = 0xb7c71b50 "(i\001",
aliasing_info = 0x0, spvars = 0x84a6b60, exvars = 0x8477f78, ldstr_list = 0x0,
domain = 
    0x34e70, real_offset = 284, cbb_hash = 0x0, next_vreg = 130,
generic_sharing_context = 0x0, cil_start = 0xb7c71a34 "", native_code = 0x0,
code_size = 
    0, code_len = 0, prolog_end = 0, epilog_begin = 0, used_int_regs = 0, opt =
59861503, prof_options = 0, flags = 2, comp_done = 0, verbose_level = 0, 
  stack_usage = 0, param_area = 16, frame_reg = 0, 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 = 1,
disable_reuse_stack_slots = 1, disable_reuse_ref_stack_slots = 0, 
  disable_ref_noref_stack_slot_share = 0, disable_initlocals_opt = 0,
disable_initlocals_opt_refs = 0, disable_omit_fp = 0, disable_vreg_to_lvreg =
0, 
  disable_deadce_vars = 0, disable_out_of_line_bblocks = 0, gen_write_barriers
= 0, init_ref_vars = 0, extend_live_ranges = 1, 
  compute_precise_live_ranges = 1, has_got_slots = 0, uses_rgctx_reg = 0,
uses_vtable_reg = 0, uses_simd_intrinsics = 0, keep_cil_nops = 0, 
  gen_seq_points = 0, explicit_null_checks = 0, debug_info = 0x8477fd0,
lmf_offset = 0, intvars = 0x842abcc, coverage_info = 0x0, token_info_hash = 
    0x845b740, arch = {need_stack_frame_inited = 0, need_stack_frame = 0},
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 = 0x0, reginfo = 0x0, reginfo_len = 0, vreg_to_inst = 
    0x84ae834, vreg_to_inst_len = 256, orig_method =
"Microsoft.Vi{ualBasic.CompilerServices.Operators:AddObject ()", 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, seq_point_info = 
    0x0, headers_to_free = 0x84ae264, got_offset = 0, ex_info_offset = 0,
method_info_offset = 0, asm_symbol = 0x0, llvm_ex_info = 0x0, llvm_ex_info_len
= 
    0, llvm_this_reg = 0, llvm_this_offset = 0, try_block_holes = 0x0}

-- 
Configure bugmail: https://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