Skip to content

RunReadyToRunCompiler task doesn't produce actionable information on failures #15466

Closed
@trylek

Description

@trylek

While switching over framework compilation to use Crossgen2 I noticed that the RunReadyToRunCompiler task in

public class RunReadyToRunCompiler : ToolTask

isn't too developer friendly when hitting errors. In most cases the only diagnostic output is the error message "Invalid parameters were passed to RunReadyToRunCompiler task" no matter whether the problem is missing JitPath, DOTNET_ROOT not pointing at the .dotnet folder and preventing execution of the crossgen2 managed executable or anything else.

Even locally it's super complicated to identify what went wrong; on top of that the absence of any diagnostic output makes it very hard to identify whether crossgen or crossgen2 compilation has taken place from AzDO lab jobs. The purpose of this issue is to improve this situation. Here are some suggestions that come to mind:

  1. ValidateParameters should spew diagnostic output stating clearly which parameter it doesn't like and for what reason.

  2. Similar to CoreCLR Crossgen2 test build, we should display command lines representing the individual Crossgen2 executions when compiling the framework and error information upon failure. I haven't managed to receive any logging information about Crossgen2 executions even after I bumped up msbuild verbosity to diagnostic.

/cc: @dotnet/crossgen-contrib
/cc: @jkoritzinsky, @AntonLapounov

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions