Bug 320900 (MONO78156) - [GMCS] Crash with anonymous methods and out parameters
Summary: [GMCS] Crash with anonymous methods and out parameters
Status: RESOLVED FIXED
Alias: MONO78156
Product: Mono: Compilers
Classification: Mono
Component: C# (show other bugs)
Version: 1.0
Hardware: Other Other
: P3 - Medium : Normal
Target Milestone: ---
Assignee: Raja R Harinath
QA Contact: Mono Bugs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-04-21 16:25 UTC by Forgotten User vxPDddArjq
Modified: 2007-09-15 21:24 UTC (History)
0 users

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Wiest 2007-09-15 19:55:39 UTC


---- Reported by vargaz@gmail.com 2006-04-21 09:25:07 MST ----

Testcase:
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
using System;

public class Tests {

	public delegate bool FilterStackFrame(object o);

	public static void DumpException(FilterStackFrame fsf) {
	}

	public static void foo (out bool continueInteraction) {
		continueInteraction = false;

		try {
		}
		catch (Exception ex) {
			DumpException(delegate(object o) {
				return true;
			});
		}
	}

	public static void Main (String[] args) {
		bool b;

		foo (out b);
	}
}
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Result:
Exception caught by the compiler while compiling:
   Block that caused the problem begin at: bug.cs(10,21):
                     Block being compiled: [bug.cs(10,56):,bug.cs(20,2):]
System.NullReferenceException: A null value was found where an object
instance was required.

Unhandled Exception: System.NullReferenceException: A null value was found
where an object instance was required.
in <0x0000d> Mono.CSharp.MyBitVector:Or (Mono.CSharp.MyBitVector new_vector)
in <0x00033> Mono.CSharp.FlowBranching+UsageVector:MergeFinally
(Mono.CSharp.UsageVector f_origins, Mono.CSharp.MyBitVector f_params)
in <0x00059> Mono.CSharp.FlowBranching+UsageVector:MergeFinally
(Mono.CSharp.UsageVector f_vector, Mono.CSharp.UsageVector f_origins)
in <0x00023> Mono.CSharp.FlowBranchingException:Merge ()
in <0x00011> Mono.CSharp.FlowBranching+UsageVector:MergeChild
(Mono.CSharp.FlowBranching branching)
in <0x0001a> Mono.CSharp.FlowBranching:MergeChild
(Mono.CSharp.FlowBranching child)
in <0x00021> Mono.CSharp.EmitContext:DoEndFlowBranching ()
in <0x0000e> Mono.CSharp.EmitContext:EndFlowBranching ()
in <0x0066b> Mono.CSharp.Try:Resolve (Mono.CSharp.EmitContext ec)
in <0x001cc> Mono.CSharp.Block:Resolve (Mono.CSharp.EmitContext ec)
in <0x00145> Mono.CSharp.EmitContext:ResolveTopBlock
(Mono.CSharp.EmitContext anonymous_method_host, Mono.CSharp.ToplevelBlock
block, Mono.CSharp.Parameters ip, IMethodData md, System.Boolean unreachable)


This prevents IronPython 1.0 Beta 6 from compiling with gmcs.



---- Additional Comments From rharinath@novell.com 2006-04-24 07:53:20 MST ----

*** https://bugzilla.novell.com/show_bug.cgi?id=MONO78170 has been marked as a duplicate of this bug. ***



---- Additional Comments From rharinath@novell.com 2006-04-24 08:00:30 MST ----

Should be fixed in SVN r59807.


Unknown operating system unknown. Setting to default OS "Other".