[Mono-bugs] [Bug 582823] New: ArgumentOutOfRange in DelegatesPassedToNativeCodeMustIncludeExceptionHandlingRule

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Wed Feb 24 12:47:11 EST 2010


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

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


           Summary: ArgumentOutOfRange in
                    DelegatesPassedToNativeCodeMustIncludeExceptionHandlin
                    gRule
    Classification: Mono
           Product: Mono: Tools
           Version: SVN
          Platform: x86-64
        OS/Version: Windows 7
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: Gendarme
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: david at dasz.at
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---
           Blocker: ---


Created an attachment (id=344547)
 --> (http://bugzilla.novell.com/attachment.cgi?id=344547)
the dll causing the crash

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 6.1; en-GB; rv:1.9.2)
Gecko/20100115 Firefox/3.6

When trying to check a COM-wrapper written in managed C++, compiled with
microsoft's compiler, the
DelegatesPassedToNativeCodeMustIncludeExceptionHandlingRule becomes confused
and dies.

Reproducible: Always

Steps to Reproduce:
1. run gendarme on the attached dll (--severity high+), including the
DelegatesPassedToNativeCodeMustIncludeExceptionHandlingRule

Actual Results:  
An uncaught exception occured. Please fill a bug report at
https://bugzilla.novell.com/
Rule:  
Gendarme.Rules.Interoperability.DelegatesPassedToNativeCodeMustIncludeExceptionHandlingRule
Target: System.Void modopt(System.Runtime.CompilerServices.CallConvThiscall)
<Module>::<CrtImplementationDetails>.LanguageSupport.InitializeVtables(<CrtImplementationDetails>.LanguageSupport*
modopt(System.Runtime.Compil
erServices.IsConst) modopt(System.Runtime.CompilerServices.IsConst))
Stack trace: System.ArgumentOutOfRangeException: Index was out of range. Must
be non-negative and less than the size of the collection.
Parameter name: index
   at System.ThrowHelper.ThrowArgumentOutOfRangeException()
   at System.Collections.Generic.List`1.RemoveAt(Int32 index)
   at
Gendarme.Rules.Interoperability.DelegatesPassedToNativeCodeMustIncludeExceptionHandlingRule.CheckMethod(MethodDefinition
method) in
P:\tempmono-complete\mono-tools\gendarme\rules\Gendarme.Rules.Interoperability\Del
egatesPassedToNativeCodeMustIncludeExceptionHandlingRule.cs:line 222
   at Gendarme.Framework.Runner.OnMethod(RunnerEventArgs e) in
P:\tempmono-complete\mono-tools\gendarme\framework\Gendarme.Framework\Runner.cs:line
341
   at Gendarme.Framework.Runner.Run() in
P:\tempmono-complete\mono-tools\gendarme\framework\Gendarme.Framework\Runner.cs:line
384
   at Gendarme.ConsoleRunner.Run() in
P:\tempmono-complete\mono-tools\gendarme\console\ConsoleRunner.cs:line 390
   at Gendarme.ConsoleRunner.Execute(String[] args) in
P:\tempmono-complete\mono-tools\gendarme\console\ConsoleRunner.cs:line 323


Expected Results:  
proper checking of the assembly or a message stating the non-support of this
beast

P.S.: thanks for your quick responses and fixes, much appreciated!

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


More information about the mono-bugs mailing list