Bug 24566 - mcs runs into infinite loop at FlowAnalysis while compiling MS System.Xml referencesource with certain condition
Summary: mcs runs into infinite loop at FlowAnalysis while compiling MS System.Xml ref...
Status: RESOLVED DUPLICATE of bug 24511
Alias: None
Product: Compilers
Classification: Mono
Component: C# (show other bugs)
Version: unspecified
Hardware: PC Linux
: --- normal
Target Milestone: ---
Assignee: Marek Safar
URL:
Depends on:
Blocks:
 
Reported: 2014-11-17 02:27 UTC by Atsushi Eno
Modified: 2014-11-18 07:18 UTC (History)
1 user (show)

See Also:
Tags:
Is this bug a regression?: ---
Last known good build:


Attachments
repro (1.09 MB, application/x-bzip)
2014-11-17 02:27 UTC, Atsushi Eno
Details

Description Atsushi Eno 2014-11-17 02:27:55 UTC
Created attachment 8760 [details]
repro

I'm trying to build System.Xml.dll in MS referencesource (which won't as is) with some local changes, and stuck at some compiler infinite loop.

Attached the repro project. It's big (1.1M) and I tried to remove some big chunk of code, but then mcs successfully finishes (with errors) and I have no idea what to remove without crazy amount of attempts. That's not likely worthy.

Full thread dump:

"<unnamed thread>"  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0007b, 0x001e4>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.If.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0002b, 0x000da>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.If.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0002b, 0x000da>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.If.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0002b, 0x000da>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.If.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0002b, 0x000da>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.If.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0002b, 0x000da>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.If.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0002b, 0x000da>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.If.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0002b, 0x000da>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.If.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0002b, 0x000da>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.If.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0002b, 0x000da>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.ScanGotoJump (Mono.CSharp.Statement,Mono.CSharp.FlowAnalysisContext) <IL 0x0003a, 0x0009a>
  at Mono.CSharp.Goto.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00056, 0x0014a>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Switch.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00028, 0x00095>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext,int) <IL 0x0001e, 0x000a1>
  at Mono.CSharp.Block.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x0004e, 0x000ca>
  at Mono.CSharp.ParametersBlock.DoFlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00002, 0x0001f>
  at Mono.CSharp.Statement.FlowAnalysis (Mono.CSharp.FlowAnalysisContext) <IL 0x00014, 0x0003a>
  at Mono.CSharp.ToplevelBlock.Resolve (Mono.CSharp.BlockContext,Mono.CSharp.IMethodData) <IL 0x000b2, 0x0022a>
  at Mono.CSharp.MethodData.Emit (Mono.CSharp.TypeDefinition) <IL 0x00055, 0x000e7>
  at Mono.CSharp.MethodOrOperator.Emit () <IL 0x001dc, 0x004b2>
  at Mono.CSharp.Method.Emit () <IL 0x0012d, 0x003fe>
  at Mono.CSharp.TypeDefinition.Emit () <IL 0x00270, 0x0064c>
  at Mono.CSharp.ClassOrStruct.Emit () <IL 0x00026, 0x00087>
  at Mono.CSharp.Class.Emit () <IL 0x00001, 0x00017>
  at Mono.CSharp.TypeDefinition.EmitContainer () <IL 0x00010, 0x00021>
  at Mono.CSharp.TypeContainer.EmitContainer () <IL 0x0001e, 0x0006c>
  at Mono.CSharp.NamespaceContainer.EmitContainer () <IL 0x00008, 0x00023>
  at Mono.CSharp.TypeContainer.EmitContainer () <IL 0x0001e, 0x0006c>
  at Mono.CSharp.NamespaceContainer.EmitContainer () <IL 0x00008, 0x00023>
  at Mono.CSharp.TypeContainer.EmitContainer () <IL 0x0001e, 0x0006c>
  at Mono.CSharp.ModuleContainer.EmitContainer () <IL 0x0009d, 0x001ae>
  at Mono.CSharp.AssemblyDefinition.Emit () <IL 0x0009e, 0x0020d>
  at Mono.CSharp.AssemblyDefinitionStatic.Emit () <IL 0x00127, 0x003ec>
  at Mono.CSharp.Driver.Compile () <IL 0x002de, 0x00835>
  at Mono.CSharp.Driver.Main (string[]) <IL 0x00053, 0x001b0>
  at (wrapper runtime-invoke) <Module>.runtime_invoke_int_object (object,intptr,intptr,intptr) <IL 0x0005c, 0xffffffff>


Mono JIT compiler version 3.12.1 (master/50e286b 2014年 11月 12日 水曜日 19:10:01 CST)

Reproduces only with mcs (copied mcs command line from xbuild)
Comment 1 Marek Safar 2014-11-18 07:18:59 UTC

*** This bug has been marked as a duplicate of bug 24511 ***

Note You need to log in before you can comment on or make changes to this bug.