[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