This is Xamarin's bug tracking system. For product support, please use the support links listed in your Xamarin Account.
Bug 10784 - Too many classes implementing an interface? Assertion at class.c:2586, condition `iid <= 65535' not met
Summary: Too many classes implementing an interface? Assertion at class.c:2586, condi...
Status: RESOLVED FIXED
Alias: None
Product: Runtime
Classification: Mono
Component: misc (show other bugs)
Version: unspecified
Hardware: Macintosh Mac OS
: --- enhancement
Target Milestone: ---
Assignee: Bugzilla
URL:
Depends on:
Blocks:
 
Reported: 2013-02-28 18:33 UTC by Mark Probst
Modified: 2016-11-07 17:33 UTC (History)
4 users (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
Test case (gzipped). (659.47 KB, application/x-gzip)
2013-02-28 18:33 UTC, Mark Probst
Details

Description Mark Probst 2013-02-28 18:33:23 UTC
Created attachment 3516 [details]
Test case (gzipped).

The attached testcase crashes like so:

* Assertion at class.c:2586, condition `iid <= 65535' not met

Stacktrace:

  at <unknown> <0xffffffff>
  at Bitmaps.MakeAndFillL3735R3736 (int,object[],bool) <0x0004b>
  at Bitmaps.MakeAndFillL3735R3737 (int,object[],bool) <0x00023>
  at Bitmaps.MakeAndFillL3735R3739 (int,object[],bool) <0x00023>
  at Bitmaps.MakeAndFillL3732R3739 (int,object[],bool) <0x0003f>
  at Bitmaps.MakeAndFillL3726R3739 (int,object[],bool) <0x0003f>
  at Bitmaps.MakeAndFillL3726R3753 (int,object[],bool) <0x00023>
  at Bitmaps.MakeAndFillL3726R3780 (int,object[],bool) <0x00023>
  at Bitmaps.MakeAndFillL3672R3780 (int,object[],bool) <0x0003f>
  at Bitmaps.MakeAndFillL3672R3888 (int,object[],bool) <0x00023>
  at Bitmaps.MakeAndFillL3456R3888 (int,object[],bool) <0x0003f>
  at Bitmaps.MakeAndFillL3456R4320 (int,object[],bool) <0x00023>
  at Bitmaps.MakeAndFillL3456R5184 (int,object[],bool) <0x00023>
  at Bitmaps.MakeAndFillL3456R6912 (int,object[],bool) <0x00023>
  at Bitmaps.MakeAndFillL0R6912 (int,object[],bool) <0x0003f>
  at Bitmaps.MakeAndFillL0R13824 (int,object[],bool) <0x00023>
  at Bitmaps.MakeAndFill (int,object[],bool) <0x00027>
  at DescriptorTest.Main () <0x000a7>
  at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <0xffffffff>

Native stacktrace:

	0   mono-sgen                           0x00169d3b mono_handle_native_sigsegv + 379
	1   mono-sgen                           0x001ef31d sigabrt_signal_handler + 141
	2   libsystem_c.dylib                   0x986e286b _sigtramp + 43
	3   ???                                 0xffffffff 0x0 + 4294967295
	4   libsystem_c.dylib                   0x9872e4f8 abort + 168
	5   mono-sgen                           0x003cc2ff monoeg_g_logv + 271
	6   mono-sgen                           0x003cc396 monoeg_assertion_message + 54
	7   mono-sgen                           0x00200ee1 mono_get_unique_iid + 833
	8   mono-sgen                           0x00207e13 mono_class_init + 851
	9   mono-sgen                           0x00200f97 collect_implemented_interfaces_aux + 151
	10  mono-sgen                           0x00201042 mono_class_get_implemented_interfaces + 50
	11  mono-sgen                           0x00202a52 setup_interface_offsets + 434
	12  mono-sgen                           0x002084dc mono_class_init + 2588
	13  mono-sgen                           0x00200f97 collect_implemented_interfaces_aux + 151
	14  mono-sgen                           0x00201042 mono_class_get_implemented_interfaces + 50
	15  mono-sgen                           0x00202a52 setup_interface_offsets + 434
	16  mono-sgen                           0x002084bf mono_class_init + 2559
	17  mono-sgen                           0x002fd923 mono_class_create_runtime_vtable + 451
	18  mono-sgen                           0x002fd683 mono_class_vtable_full + 243
	19  mono-sgen                           0x002fd57c mono_class_vtable + 44
	20  mono-sgen                           0x000e0411 mono_method_to_ir + 172673
	21  mono-sgen                           0x0007f61a mini_method_compile + 4138
	22  mono-sgen                           0x00081688 mono_jit_compile_method_inner + 1800
	23  mono-sgen                           0x0008259d mono_jit_compile_method_with_opt + 781
	24  mono-sgen                           0x00082779 mono_jit_compile_method + 57
	25  mono-sgen                           0x002fab43 mono_compile_method + 83
	26  mono-sgen                           0x0016bf91 common_call_trampoline + 2273
	27  mono-sgen                           0x0016c6cd mono_magic_trampoline + 109
	28  ???                                 0x005fa066 0x0 + 6266982
	29  ???                                 0x0230150c 0x0 + 36705548
	30  ???                                 0x023014a4 0x0 + 36705444
	31  ???                                 0x02300c30 0x0 + 36703280
	32  ???                                 0x022ffab0 0x0 + 36698800
	33  ???                                 0x022ffa2c 0x0 + 36698668
	34  ???                                 0x022ff9c4 0x0 + 36698564
	35  ???                                 0x022f4ee8 0x0 + 36654824
	36  ???                                 0x022f4e64 0x0 + 36654692
	37  ???                                 0x022c9bc0 0x0 + 36477888
	38  ???                                 0x022c9b3c 0x0 + 36477756
	39  ???                                 0x022c9ad4 0x0 + 36477652
	40  ???                                 0x022c9a6c 0x0 + 36477548
	41  ???                                 0x006a77c8 0x0 + 6977480
	42  ???                                 0x006a7744 0x0 + 6977348
	43  ???                                 0x006a7700 0x0 + 6977280
	44  ???                                 0x006a6e80 0x0 + 6975104
	45  ???                                 0x006a7066 0x0 + 6975590
	46  mono-sgen                           0x000833c0 mono_jit_runtime_invoke + 1488
	47  mono-sgen                           0x00300a6a mono_runtime_invoke + 170
	48  mono-sgen                           0x0030377c mono_runtime_exec_main + 716
	49  mono-sgen                           0x0030293c mono_runtime_run_main + 940
	50  mono-sgen                           0x0012f3ef mono_jit_exec + 239
	51  mono-sgen                           0x0012f640 main_thread_handler + 560
	52  mono-sgen                           0x00131d92 mono_main + 7634
	53  mono-sgen                           0x00072b6f mono_main_with_options + 815
	54  mono-sgen                           0x00072c08 main + 56
	55  libdyld.dylib                       0x98f87725 start + 0

I'm on mono master.
Comment 1 Rodrigo Kumpera 2013-05-16 23:29:26 UTC
We have a hardcoded limit of 65k interfaces due to how we implement iface tests.
Comment 2 Alexander Köplinger 2016-11-07 17:33:48 UTC
Fixed by https://github.com/mono/mono/pull/2408

Note You need to log in before you can comment on or make changes to this bug.