Bug 20034

Summary: Compiler crashing when compiling async code (Xam.iOS)
Product: [Mono] Compilers Reporter: Paul Johnson <paul>
Component: C#Assignee: Marek Safar <masafa>
Status: RESOLVED FIXED    
Severity: normal CC: mkrueger, mono-bugs+mono
Priority: ---    
Version: 3.4.0   
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS   
Tags: Is this bug a regression?: ---
Last known good build:

Description Paul Johnson 2014-05-25 20:43:49 UTC
I have the following source

var pushes = await SyncManager.GetSyncData().ContinueWith((res) =>
                    {
                        toPush = res.Result;
                        if (toPush.Count != 0)
                        {
                            foreach (var tp in toPush)
                                RunUpdateToSync(tp.object_id, tp.table).ContinueWith(() =>
                                {
                                    tp.is_deleted = true;
                                    AppDelegate.Self.DBManager.AddOrUpdateSync(tp);
                                }).RunSynchronously();
                        }
                    });

GetSyncData is a method that grabs a table from an Azure service and returns

When attempting to compile this code, the compile crashes with the following throwback

Unhandled Exception:
Mono.CSharp.InternalErrorException: /Users/Paul/Developer/ftrack2/iOS/ftrack2-ios/ftrack2-ios/AppDelegate.cs(280,28): FTrack2iOS.AppDelegate.UpdateSync(object, System.EventArgs) ---> Mono.CSharp.InternalErrorException: /Users/Paul/Developer/ftrack2/iOS/ftrack2-ios/ftrack2-ios/AppDelegate.cs(299,79): ---> System.NullReferenceException: Object reference not set to an instance of an object
  at Mono.CSharp.StatementExpression.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Block.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Foreach.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Block.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.If.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Block.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousExpression.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousExpression.Compatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.AnonymousExpression ae) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousExpression.Compatible (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousMethodExpression.Compatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.TypeSpec type) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.CSharp.AnonymousMethodExpression.Compatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.TypeSpec type) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousMethodExpression.ImplicitStandardConversionExists (Mono.CSharp.ResolveContext ec, Mono.CSharp.TypeSpec delegate_type) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Convert.ImplicitConversionExists (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression expr, Mono.CSharp.TypeSpec target_type) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.OverloadResolver.IsArgumentCompatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.Argument argument, Modifier param_mod, Mono.CSharp.TypeSpec parameter) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.OverloadResolver.IsApplicable (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& arguments, Int32 arg_count, Mono.CSharp.MemberSpec& candidate, IParametersMember pm, System.Boolean& params_expanded_form, System.Boolean& dynamicArgument, Mono.CSharp.TypeSpec& returnType) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.OverloadResolver.ResolveMember[MethodSpec] (Mono.CSharp.ResolveContext rc, Mono.CSharp.Arguments& args) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.MethodGroupExpr.OverloadResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& args, IErrorHandler cerrors, Restrictions restr) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Invocation.DoResolveOverload (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec, ResolveFlags flags) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.CSharp.Method.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeDefinition.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.ClassOrStruct.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Class.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeDefinition.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.ModuleContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AssemblyDefinition.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AssemblyDefinitionStatic.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: Mono.CSharp.InternalErrorException: /Users/Paul/Developer/ftrack2/iOS/ftrack2-ios/ftrack2-ios/AppDelegate.cs(280,28): FTrack2iOS.AppDelegate.UpdateSync(object, System.EventArgs) ---> Mono.CSharp.InternalErrorException: /Users/Paul/Developer/ftrack2/iOS/ftrack2-ios/ftrack2-ios/AppDelegate.cs(299,79): ---> System.NullReferenceException: Object reference not set to an instance of an object
  at Mono.CSharp.StatementExpression.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Block.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Foreach.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Block.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.If.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Block.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousExpression.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousExpression.Compatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.AnonymousExpression ae) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousExpression.Compatible (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousMethodExpression.Compatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.TypeSpec type) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.CSharp.AnonymousMethodExpression.Compatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.TypeSpec type) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousMethodExpression.ImplicitStandardConversionExists (Mono.CSharp.ResolveContext ec, Mono.CSharp.TypeSpec delegate_type) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Convert.ImplicitConversionExists (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression expr, Mono.CSharp.TypeSpec target_type) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.OverloadResolver.IsArgumentCompatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.Argument argument, Modifier param_mod, Mono.CSharp.TypeSpec parameter) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.OverloadResolver.IsApplicable (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& arguments, Int32 arg_count, Mono.CSharp.MemberSpec& candidate, IParametersMember pm, System.Boolean& params_expanded_form, System.Boolean& dynamicArgument, Mono.CSharp.TypeSpec& returnType) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.OverloadResolver.ResolveMember[MethodSpec] (Mono.CSharp.ResolveContext rc, Mono.CSharp.Arguments& args) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.MethodGroupExpr.OverloadResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& args, IErrorHandler cerrors, Restrictions restr) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Invocation.DoResolveOverload (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec, ResolveFlags flags) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.CSharp.Method.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeDefinition.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.ClassOrStruct.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Class.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeDefinition.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.ModuleContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AssemblyDefinition.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AssemblyDefinitionStatic.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename unknown>:0 

Unhandled Exception:
Mono.CSharp.InternalErrorException: /Users/Paul/Developer/ftrack2/iOS/ftrack2-ios/ftrack2-ios/AppDelegate.cs(280,28): FTrack2iOS.AppDelegate.UpdateSync(object, System.EventArgs) ---> Mono.CSharp.InternalErrorException: /Users/Paul/Developer/ftrack2/iOS/ftrack2-ios/ftrack2-ios/AppDelegate.cs(299,79): ---> System.NullReferenceException: Object reference not set to an instance of an object
  at Mono.CSharp.StatementExpression.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Block.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Foreach.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Block.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.If.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Block.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousExpression.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousExpression.Compatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.AnonymousExpression ae) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousExpression.Compatible (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousMethodExpression.Compatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.TypeSpec type) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.CSharp.AnonymousMethodExpression.Compatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.TypeSpec type) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousMethodExpression.ImplicitStandardConversionExists (Mono.CSharp.ResolveContext ec, Mono.CSharp.TypeSpec delegate_type) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Convert.ImplicitConversionExists (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression expr, Mono.CSharp.TypeSpec target_type) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.OverloadResolver.IsArgumentCompatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.Argument argument, Modifier param_mod, Mono.CSharp.TypeSpec parameter) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.OverloadResolver.IsApplicable (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& arguments, Int32 arg_count, Mono.CSharp.MemberSpec& candidate, IParametersMember pm, System.Boolean& params_expanded_form, System.Boolean& dynamicArgument, Mono.CSharp.TypeSpec& returnType) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.OverloadResolver.ResolveMember[MethodSpec] (Mono.CSharp.ResolveContext rc, Mono.CSharp.Arguments& args) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.MethodGroupExpr.OverloadResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& args, IErrorHandler cerrors, Restrictions restr) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Invocation.DoResolveOverload (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec, ResolveFlags flags) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.CSharp.Method.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeDefinition.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.ClassOrStruct.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Class.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeDefinition.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.ModuleContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AssemblyDefinition.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AssemblyDefinitionStatic.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename unknown>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: Mono.CSharp.InternalErrorException: /Users/Paul/Developer/ftrack2/iOS/ftrack2-ios/ftrack2-ios/AppDelegate.cs(280,28): FTrack2iOS.AppDelegate.UpdateSync(object, System.EventArgs) ---> Mono.CSharp.InternalErrorException: /Users/Paul/Developer/ftrack2/iOS/ftrack2-ios/ftrack2-ios/AppDelegate.cs(299,79): ---> System.NullReferenceException: Object reference not set to an instance of an object
  at Mono.CSharp.StatementExpression.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Block.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Foreach.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Block.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.If.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Block.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousExpression.MarkReachable (Reachability rc) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousExpression.Compatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.AnonymousExpression ae) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousExpression.Compatible (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousMethodExpression.Compatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.TypeSpec type) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.CSharp.AnonymousMethodExpression.Compatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.TypeSpec type) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AnonymousMethodExpression.ImplicitStandardConversionExists (Mono.CSharp.ResolveContext ec, Mono.CSharp.TypeSpec delegate_type) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Convert.ImplicitConversionExists (Mono.CSharp.ResolveContext ec, Mono.CSharp.Expression expr, Mono.CSharp.TypeSpec target_type) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.OverloadResolver.IsArgumentCompatible (Mono.CSharp.ResolveContext ec, Mono.CSharp.Argument argument, Modifier param_mod, Mono.CSharp.TypeSpec parameter) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.OverloadResolver.IsApplicable (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& arguments, Int32 arg_count, Mono.CSharp.MemberSpec& candidate, IParametersMember pm, System.Boolean& params_expanded_form, System.Boolean& dynamicArgument, Mono.CSharp.TypeSpec& returnType) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.OverloadResolver.ResolveMember[MethodSpec] (Mono.CSharp.ResolveContext rc, Mono.CSharp.Arguments& args) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.MethodGroupExpr.OverloadResolve (Mono.CSharp.ResolveContext ec, Mono.CSharp.Arguments& args, IErrorHandler cerrors, Restrictions restr) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Invocation.DoResolveOverload (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Invocation.DoResolve (Mono.CSharp.ResolveContext ec) [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Expression.Resolve (Mono.CSharp.ResolveContext ec, ResolveFlags flags) [0x00000] in <filename unknown>:0 
  --- End of inner exception stack trace ---
  at Mono.CSharp.Method.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeDefinition.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.ClassOrStruct.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Class.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeDefinition.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.NamespaceContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.TypeContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.ModuleContainer.EmitContainer () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AssemblyDefinition.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.AssemblyDefinitionStatic.Emit () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Driver.Compile () [0x00000] in <filename unknown>:0 
  at Mono.CSharp.Driver.Main (System.String[] args) [0x00000] in <filename unknown>:0 
Build complete -- 1 error, 49 warnings

Line 280 is the start of the async method
Comment 1 Paul Johnson 2014-05-25 20:52:19 UTC
Removal of the await does not change the outcome
Comment 2 Marek Safar 2014-05-26 04:27:24 UTC
Do you think you could simplify the code or upload full project. It's hard to guess what all these local variables are defined like.
Comment 3 Paul Johnson 2014-05-26 06:35:13 UTC
The call to GetDataSync() calls the following async method

var pushes = await AppDelegate.MobileService.GetTable<T>.where(t=>t.__updatedBy > ftrackData.LastSync).ToListAsync();
return pushes;

tp.object_id and tp.table are two strings and is_deleted = a bool.

Nothing out of the ordinary, but causes the compiler to crash
Comment 4 Marek Safar 2014-05-26 09:16:27 UTC
Fixed in master
Comment 5 Paul Johnson 2014-05-26 10:15:24 UTC
What was the issue? The last time I managed to crash the compiler, it was pre version 1 of mono!
Comment 6 Marek Safar 2014-05-26 10:20:33 UTC
The code is incorrect. Nested ContinueWith lambda requires 1 parameter.
Comment 7 Marek Safar 2014-05-27 08:47:54 UTC
*** Bug 19847 has been marked as a duplicate of this bug. ***