[Mono-bugs] [Bug 508538] New: System.Reflection.TargetInvocationException when calling MethodInfo.invoke

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Sat May 30 12:26:13 EDT 2009


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


           Summary: System.Reflection.TargetInvocationException when
                    calling MethodInfo.invoke
    Classification: Mono
           Product: Mono: Runtime
           Version: 2.4.x
          Platform: x86
        OS/Version: Mac OS X 10.5
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: misc
        AssignedTo: mono-bugs at lists.ximian.com
        ReportedBy: rksm at gmx.net
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---


User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_7; en-us)
AppleWebKit/525.28.3 (KHTML, like Gecko) Version/3.2.3 Safari/525.28.3

The bug appears when trying to use the C# application OMeta#
(https://ometasharp.svn.codeplex.com/svn/).

When trying to translate a grammar using
OMetaSharp.Grammars.ParseGrammarThenOptimizeThenTranslate a call to
System.Reflection.MonoMethod.Invoke throws a
System.Reflection.TargetInvocationException.

Reproducible: Always

Steps to Reproduce:
In a shell do:
tar -xzf ometacrash.tar.gz
/loadCompileRun.sh

This will
- load the OMeta sources from https://ometasharp.svn.codeplex.com/svn/trunk
- compile the required assemblies OMetaSharp.dll and OMetaSharp.OMetaCS.dll
- compile and run the test application
Actual Results:  
Unhandled Exception: System.Reflection.TargetInvocationException: Exception has
been thrown by the target of an invocation. --->
System.InvalidProgramException: Invalid IL code in (wrapper runtime-invoke)
OMetaSharp.OMetaParser:runtime_invoke_bool__this___OMetaStream`1<char>_OMetaList`1<HostExpression>&_OMetaStream`1<char>&
(object,intptr,intptr,intptr): IL_0026: call      0x00000004


  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke
(object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags
invokeAttr, System.Reflection.Binder binder, System.Object[] parameters,
System.Globalization.CultureInfo culture) [0x00000] 
  --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags
invokeAttr, System.Reflection.Binder binder, System.Object[] parameters,
System.Globalization.CultureInfo culture) [0x00000] 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[]
parameters) [0x00000] 
  at OMetaSharp.OMeta`1+<TryGetMethod>c__AnonStorey6[System.Char].<>m__A
(OMetaSharp.OMetaStream`1 inputStream, OMetaSharp.OMetaList`1& result,
OMetaSharp.OMetaStream`1& modifiedStream) [0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at OMetaSharp.OMeta`1[System.Char].FirstAndRest (OMetaSharp.OMetaStream`1
inputStream, OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.ApplyWithArgs
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream,
OMetaSharp.OMetaList`1[] arguments) [0x00000] 
  at OMetaSharp.OMetaParser+<TSName>c__AnonStorey2.<>m__C
(OMetaSharp.OMetaStream`1 inputStream2, OMetaSharp.OMetaList`1& result2,
OMetaSharp.OMetaStream`1& modifiedStream2) [0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at OMetaSharp.OMetaParser.TSName (OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at OMetaSharp.OMetaParser+<NamespacePart>c__AnonStorey1A.<>m__8D
(OMetaSharp.OMetaStream`1 inputStream3, OMetaSharp.OMetaList`1& result3,
OMetaSharp.OMetaStream`1& modifiedStream3) [0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Many1
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at OMetaSharp.OMetaParser+<NamespacePart>c__AnonStorey1A.<>m__33
(OMetaSharp.OMetaStream`1 inputStream2, OMetaSharp.OMetaList`1& result2,
OMetaSharp.OMetaStream`1& modifiedStream2) [0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at OMetaSharp.OMetaParser.NamespacePart (OMetaSharp.OMetaStream`1
inputStream, OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1&
modifiedStream) [0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at OMetaSharp.OMetaParser+<Namespace>c__AnonStorey1B.<>m__90
(OMetaSharp.OMetaStream`1 inputStream4, OMetaSharp.OMetaList`1& result4,
OMetaSharp.OMetaStream`1& modifiedStream4) [0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Many1
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at OMetaSharp.OMetaParser+<Namespace>c__AnonStorey1B.<>m__8E
(OMetaSharp.OMetaStream`1 inputStream3, OMetaSharp.OMetaList`1& result3,
OMetaSharp.OMetaStream`1& modifiedStream3) [0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at OMetaSharp.OMetaParser+<Namespace>c__AnonStorey1B.<>m__34
(OMetaSharp.OMetaStream`1 inputStream2, OMetaSharp.OMetaList`1& result2,
OMetaSharp.OMetaStream`1& modifiedStream2) [0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Or
(OMetaSharp.OMetaStream`1 inputStream, OMetaSharp.OMetaList`1& result,
OMetaSharp.OMetaStream`1& modifiedStream, OMetaSharp.Rule`1[] rules) [0x00000] 
  at OMetaSharp.OMetaParser.Namespace (OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at OMetaSharp.OMetaParser+<Grammar>c__AnonStorey1E.<>m__3B
(OMetaSharp.OMetaStream`1 inputStream2, OMetaSharp.OMetaList`1& result2,
OMetaSharp.OMetaStream`1& modifiedStream2) [0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at OMetaSharp.OMetaParser.Grammar (OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at
OMetaSharp.OMetaBase`1[System.Char].OMetaSharp.IMetaRuleEvaluator<TInput>.Apply
(OMetaSharp.Rule`1 rule, OMetaSharp.OMetaStream`1 inputStream,
OMetaSharp.OMetaList`1& result, OMetaSharp.OMetaStream`1& modifiedStream)
[0x00000] 
  at OMetaSharp.OMeta`1[System.Char].GenericMatch (OMetaSharp.OMetaStream`1
inputStream, OMetaSharp.Rule`1 rule, OMetaSharp.OMetaList`1[] arguments,
OMetaSharp.OMetaStream`1& modifiedStream) [0x00000] 
  at OMetaSharp.OMeta`1[System.Char].GenericMatch (OMetaSharp.OMetaStream`1
inputStream, OMetaSharp.Rule`1 rule, OMetaSharp.OMetaList`1[] arguments)
[0x00000] 
  at OMetaSharp.OMeta`1[System.Char].Match (OMetaSharp.OMetaStream`1
inputStream, OMetaSharp.Rule`1 rule) [0x00000] 
  at OMetaSharp.Grammars.ParseWith[OMetaParser,Char] (OMetaSharp.OMetaStream`1
inputStream, System.Func`2 ruleFetcher) [0x00000] 
  at OMetaSharp.Grammars.ParseWith[OMetaParser] (System.String input,
System.Func`2 ruleFetcher) [0x00000] 
  at
OMetaSharp.Grammars.ParseGrammarThenOptimizeThenTranslate[OMetaParser,OMetaOptimizer,OMetaTranslator]
(System.String grammarContents, System.Func`2 topParserRuleFetcher,
System.Func`2 topOptimizerRuleFetcher, System.Func`2 topTranslatorRuleFetcher)
[0x00000] 
  at Test.Main () [0x00000]

Expected Results:  
The following should appear on stdout:
using OMetaSharp;

namespace OMetaSharp
{
    public class Test : Parser
    {
    }
}

-- 
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