Bug 51407 - Evaluator stuck in infinite loop when getting completions for "typeof(System.Console."
Summary: Evaluator stuck in infinite loop when getting completions for "typeof(System....
Status: NEW
Alias: None
Product: Compilers
Classification: Mono
Component: C# (show other bugs)
Version: unspecified
Hardware: PC Mac OS
: --- normal
Target Milestone: ---
Assignee: Marek Safar
URL:
Depends on:
Blocks:
 
Reported: 2017-01-11 13:24 UTC by Alexander Köplinger [MSFT]
Modified: 2017-01-11 13:24 UTC (History)
1 user (show)

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


Attachments

Description Alexander Köplinger [MSFT] 2017-01-11 13:24:32 UTC
Repro:

> using System;
> using Mono.CSharp;
> 
> namespace TestConsole
> {
> 	class MainClass
> 	{
> 		public static void Main(string[] args)
> 		{
> 			Console.WriteLine("Hello World!");
> 
> 			var settings = new CompilerSettings();
> 			var printer = new ConsoleReportPrinter();
> 			var eval = new Evaluator(new CompilerContext(settings, printer));
> 
> 			eval.DescribeTypeExpressions = true;
> 			eval.WaitOnTask = true;
> 
> 			string prefix = null;
> 			string complete = "typeof(System.Console.";
> 			string[] completions = eval.GetCompletions(complete, out prefix);
> 			Console.WriteLine(String.Join(Environment.NewLine, completions));
> 		}
> 	}
> }

Compile and run:

> $ mcs Program.cs /r:Mono.CSharp.dll

> $ mono Program.exe
>   Hello World!

After that the program is stuck. This was extracted from the "csharp" tool source where this problem was noticed first.

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