<div dir="ltr">Jamie:<div><br></div><div>A good place to start would be with running the automated tests to see if there are any new failures. You can quickly run the most relevant tests for this change with:</div><div>make -C mono/mini check</div><div>make -C mono/tests check</div><div>make -C mcs/class/corlib check</div><div>If you run `make check` at the toplevel, this will run all tests. This will take a pretty long time however (and if you submit a pull request our jenkins bot will do it for you).</div><div><br></div><div>We normally accept patches through pull requests to mono/mono on Github. When your patch is ready (which it seems to me to basically be, if the tests pass) you should sign the CLA ( <a href="https://cla.xamarin.com/">https://cla.xamarin.com/</a> ) and then open a pull request so it can be merged.</div><div><br></div><div>Two comments I would leave if I saw this as a pull request are:</div><div>    g_assert (iid <= 1000000000);</div><div>This number is pretty arbitrary. Please make a constant like LOADED_INTERFACES_MAX to hold it instead of just putting it inline the code. Also, I think you might as well bump the value up to 2^31-2, since that's the highest number there's a technical reason not to go above…</div><div>Also, "however haven't bitset code still uses" seems to be a typo.</div><div>    g_assert(icount < 65535);<br></div><div>This can and I think should be <=</div><div><br></div><div>I wonder if there's a non-ridiculous way to add a new automated test for a program with >65535 interfaces.<br></div><div><br></div><div>Thanks</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 5, 2016 at 9:04 PM, Jamie Venning <span dir="ltr"><<a href="mailto:jamie_venning@technologyonecorp.com" target="_blank">jamie_venning@technologyonecorp.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I've gone through and changed interface_id to a guint32, along with max_interface_id, leaving interface_count (I didn't see the need for it to be increased).<div><br></div><div>I've forked the repo and have it over at <a href="https://github.com/tastywheattasteslikechicken/mono/commit/6e7f1d94eb07822fb7bf5687b67df5076f969818" target="_blank">https://github.com/tastywheattasteslikechicken/mono/commit/6e7f1d94eb07822fb7bf5687b67df5076f969818</a></div><div>Are there any other considerations or things that may be missed?</div></div><div class="gmail_extra"><div><div class="h5"><br><div class="gmail_quote">On Wed, Jan 6, 2016 at 12:51 AM, Jamie Venning <span dir="ltr"><<a href="mailto:jamie_venning@technologyonecorp.com" target="_blank">jamie_venning@technologyonecorp.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Yeah, what I'm chasing are the best ways to cause failures without this assertion -- that way as I go through and fix things I can be more confident that things haven't been missed.<div class="gmail_extra"><div><div><br><div class="gmail_quote">On Tue, Jan 5, 2016 at 11:45 PM, Alexander Köplinger <span dir="ltr"><<a href="mailto:alexander.koeplinger@xamarin.com" target="_blank">alexander.koeplinger@xamarin.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">I don't think it's as easy as removing the assert.<div><br><div>For one, the interface ID returned by mono_get_unique_iid() is stored as a guint16 (<a href="https://github.com/mono/mono/blob/36c7332104eb5250a93079ae77c2e0dbf12c6c9a/mono/metadata/class-internals.h#L344" target="_blank">https://github.com/mono/mono/blob/36c7332104eb5250a93079ae77c2e0dbf12c6c9a/mono/metadata/class-internals.h#L344</a>) which means you only have 0-65,535 values there. I'm not familiar enough with the runtime codebase to say which other problems you'll run into if you try to fix this.</div><div><br></div><div>- Alex</div></div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div>2016-01-05 8:38 GMT+01:00 Jamie Venning <span dir="ltr"><<a href="mailto:jamie_venning@technologyonecorp.com" target="_blank">jamie_venning@technologyonecorp.com</a>></span>:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div><div dir="ltr"><div>Good Morning.<br></div><div><br></div><div>Bug 10784 (<a href="https://bugzilla.xamarin.com/show_bug.cgi?format=multiple&id=10784" target="_blank">https://bugzilla.xamarin.com/show_bug.cgi?format=multiple&id=10784</a>) is a major blocker for me, and a big obstacle for larger applications moving from .NET to Mono. Because I need this fixed, I am prepared to fix it myself.</div><div><br></div><div>I'm wondering if anyone knowledgeable in this area could answer these few, short questions just to confirm a few things.</div><div><br></div><div>Removing the offending assertion from class.c, and running generated test cases that previously triggered it, I did not notice any incorrect behaviour in terms of reflection, the 'is' operator failing, or the wrong implementation of functions being used. Is there anywhere that I should be looking in particular or any particular type of tests I can use to expose an underlying fault that removing this assertion causes?</div><div><br></div><div>Is it possible that this assertion is vestigial or unnecessary?</div><div><br></div>-- <br><div><p style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:10pt;font-weight:bold">
        James Venning<br><span style="font-size:11px">Research & Development - Ci2 - Product</span></p>
<table border="0" cellpadding="0" style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:9px;text-align:justify">
        <tbody>
                <tr>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                Phone:</td>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                <a href="tel:%2B61%207%203167%207300" value="+61731677300" target="_blank">+61 7 3167 7300</a> | Fax: <a href="tel:%2B61%207%203167%207301" value="+61731677301" target="_blank">+61 7 3167 7301</a> </td>
                </tr>
                <tr>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                Address:</td>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                Level 11, TechnologyOne HQ, 540 Wickham Street, Fortitude Valley QLD 4006 (PO Box 96 Fortitude Valley QLD 4006)</td>
                </tr>
                <tr>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                Email:</td>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                <a href="mailto:jamie_venning@technologyonecorp.com" target="_blank">jamie_venning@technologyonecorp.com</a>  Web: <a href="http://www.technologyonecorp.com/" style="color:rgb(17,85,204)" target="_blank">TechnologyOneCorp.com</a></td>
                </tr>
        </tbody>
</table>
<p style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:9px">
        <a href="http://www.technologyonecorp.com/" style="color:rgb(17,85,204)" target="_blank"><img border="0" src="https://googledrive.com/host/0B9M-ProixLtuRFFDLWt6UmpxWFU/T1_Logo.png"></a></p>
<p style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:9px;font-weight:bold">
        Financials | Human Resource & Payroll | Supply Chain | Corporate Performance Management | Property & Rating | Student Management | Asset Management | Enterprise Content Management | Customer Relationship Management | Consulting Services</p>
<p style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:9px">
        <strong>TechnologyOne (ASX:TNE) is Australia's largest publicly listed software company, with offices across six countries including each state and territory of Australia, as well as New Zealand, the South Pacific, Asia and the United Kingdom. For 25 years, we have been providing powerful and deeply integrated enterprise software solutions that are used every day by more than 1000 leading corporations, government departments and statutory authorities.</strong></p>
<p style="font-family:Arial,Verdana,Helvetica;font-size:9px;color:rgb(102,102,102)">
        TechnologyOne accepts no liability for any damage caused by this email or its attachments. The information in this email is only for the intended recipient and may contain confidential and/or privileged material. If you received this in error, please kindly notify the sender and delete this email and any attachments from your system. Opinions, conclusions and other information in this message that do not relate to the official business of the company shall be understood as neither given nor endorsed by it. If you believe that you have been spammed please email <a href="mailto:stop_spam@technologyonecorp.com" style="color:rgb(17,85,204)" target="_blank">Stop_Spam@TechnologyOneCorp.com</a>.</p></div>
</div>
<br></div></div>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com" target="_blank">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" rel="noreferrer" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span><font color="#888888">-- <br></font></span><div><p style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:10pt;font-weight:bold"><span><font color="#888888">
        Jamie Venning</font></span><span><br><span style="font-size:11px">Research & Development - Ci2 - Product</span></span></p><span>
<table border="0" cellpadding="0" style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:9px;text-align:justify">
        <tbody>
                <tr>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                Phone:</td>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                <a href="tel:%2B61%207%203167%207300" value="+61731677300" target="_blank">+61 7 3167 7300</a> | Fax: <a href="tel:%2B61%207%203167%207301" value="+61731677301" target="_blank">+61 7 3167 7301</a> </td>
                </tr>
                <tr>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                Address:</td>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                Level 11, TechnologyOne HQ, 540 Wickham Street, Fortitude Valley QLD 4006 (PO Box 96 Fortitude Valley QLD 4006)</td>
                </tr>
                <tr>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                Email:</td>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                <a href="mailto:jamie_venning@technologyonecorp.com" target="_blank">jamie_venning@technologyonecorp.com</a>  Web: <a href="http://www.technologyonecorp.com/" style="color:rgb(17,85,204)" target="_blank">TechnologyOneCorp.com</a></td>
                </tr>
        </tbody>
</table>
<p style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:9px">
        <a href="http://www.technologyonecorp.com/" style="color:rgb(17,85,204)" target="_blank"><img border="0" src="https://googledrive.com/host/0B9M-ProixLtuRFFDLWt6UmpxWFU/T1_Logo.png"></a></p>
<p style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:9px;font-weight:bold">
        Financials | Human Resource & Payroll | Supply Chain | Corporate Performance Management | Property & Rating | Student Management | Asset Management | Enterprise Content Management | Customer Relationship Management | Consulting Services</p>
<p style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:9px">
        <strong>TechnologyOne (ASX:TNE) is Australia's largest publicly listed software company, with offices across six countries including each state and territory of Australia, as well as New Zealand, the South Pacific, Asia and the United Kingdom. For 25 years, we have been providing powerful and deeply integrated enterprise software solutions that are used every day by more than 1000 leading corporations, government departments and statutory authorities.</strong></p>
<p style="font-family:Arial,Verdana,Helvetica;font-size:9px;color:rgb(102,102,102)">
        TechnologyOne accepts no liability for any damage caused by this email or its attachments. The information in this email is only for the intended recipient and may contain confidential and/or privileged material. If you received this in error, please kindly notify the sender and delete this email and any attachments from your system. Opinions, conclusions and other information in this message that do not relate to the official business of the company shall be understood as neither given nor endorsed by it. If you believe that you have been spammed please email <a href="mailto:stop_spam@technologyonecorp.com" style="color:rgb(17,85,204)" target="_blank">Stop_Spam@TechnologyOneCorp.com</a>.</p></span></div>
</div></div>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span class="HOEnZb"><font color="#888888">-- <br></font></span><div><span class="HOEnZb"><font color="#888888"><p style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:10pt;font-weight:bold">
        Jamie Venning<br>
        <span style="font-size:11px">Intern Developer | Research & Development - Ci2 - Product</span></p></font></span><span class="">
<table border="0" cellpadding="0" style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:9px;text-align:justify">
        <tbody>
                <tr>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                Phone:</td>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                <a href="tel:%2B61%207%203167%207300" value="+61731677300" target="_blank">+61 7 3167 7300</a> | Fax: <a href="tel:%2B61%207%203167%207301" value="+61731677301" target="_blank">+61 7 3167 7301</a> </td>
                </tr>
                <tr>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                Address:</td>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                Level 11, TechnologyOne HQ, 540 Wickham Street, Fortitude Valley QLD 4006 (PO Box 96 Fortitude Valley QLD 4006)</td>
                </tr>
                <tr>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                Email:</td>
                        <td style="font-family:arial,sans-serif;margin:0px;font-size:8pt">
                                <a href="mailto:jamie_venning@technologyonecorp.com" target="_blank">jamie_venning@technologyonecorp.com</a>  Web: <a href="http://www.technologyonecorp.com/" style="color:rgb(17,85,204)" target="_blank">TechnologyOneCorp.com</a></td>
                </tr>
        </tbody>
</table>
<p style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:9px">
        <a href="http://www.technologyonecorp.com/" style="color:rgb(17,85,204)" target="_blank"><img border="0" src="https://googledrive.com/host/0B9M-ProixLtuRFFDLWt6UmpxWFU/T1_Logo.png"></a></p>
<p style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:9px;font-weight:bold">
        Financials | Human Resource & Payroll | Supply Chain | Corporate Performance Management | Property & Rating | Student Management | Asset Management | Enterprise Content Management | Customer Relationship Management | Consulting Services</p>
<p style="color:rgb(0,0,0);font-family:Arial,Verdana,Helvetica;font-size:9px">
        <strong>TechnologyOne (ASX:TNE) is Australia's largest publicly listed software company, with offices across six countries including each state and territory of Australia, as well as New Zealand, the South Pacific, Asia and the United Kingdom. For 25 years, we have been providing powerful and deeply integrated enterprise software solutions that are used every day by more than 1000 leading corporations, government departments and statutory authorities.</strong></p>
<p style="font-family:Arial,Verdana,Helvetica;font-size:9px;color:rgb(102,102,102)">
        TechnologyOne accepts no liability for any damage caused by this email or its attachments. The information in this email is only for the intended recipient and may contain confidential and/or privileged material. If you received this in error, please kindly notify the sender and delete this email and any attachments from your system. Opinions, conclusions and other information in this message that do not relate to the official business of the company shall be understood as neither given nor endorsed by it. If you believe that you have been spammed please email <a href="mailto:stop_spam@technologyonecorp.com" style="color:rgb(17,85,204)" target="_blank">Stop_Spam@TechnologyOneCorp.com</a>.</p></span></div>
</div>
<br>_______________________________________________<br>
Mono-devel-list mailing list<br>
<a href="mailto:Mono-devel-list@lists.ximian.com">Mono-devel-list@lists.ximian.com</a><br>
<a href="http://lists.ximian.com/mailman/listinfo/mono-devel-list" rel="noreferrer" target="_blank">http://lists.ximian.com/mailman/listinfo/mono-devel-list</a><br>
<br></blockquote></div><br></div>