Azure / Azure/azure-functions-host
TypeScript compilation intermittently times out
- Dominant language
- C#
- Stars
- 2k
- Forks
- 482
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 38
Description
_From @jumpei-yamauchi on November 5, 2017 23:28_
Hi,
Recently we started to see this error intermittently - "Microsoft.CodeAnalysis.Scripting.CompilationErrorException : Compilation timed out" when running one of the function. Please see the full error message below.
The function is queue-triggered and written in Typescript. Restarting the Function App that contains this function seemed to have helped (runs successfully without the error) but after a while it started to spit out the same error again. Has anyone come across this before?
Thank you in advance,
```
Microsoft.Azure.WebJobs.Host.FunctionInvocationException : Exception while executing function: ---> Microsoft.CodeAnalysis.Scripting.CompilationErrorException : Compilation timed out.
at async Microsoft.Azure.WebJobs.Script.Description.ConditionalJavaScriptCompilationService.GetCompilationResultAsync(FunctionMetadata functionMetadata) at C:\azure-webjobs-sdk-script\src\WebJobs.Script\Description\Node\Compilation\ConditionalJavaScriptCompilationService.cs : 115
at async Microsoft.Azure.WebJobs.Script.Description.ConditionalJavaScriptCompilationService.GetFunctionCompilationAsync(FunctionMetadata functionMetadata) at C:\azure-webjobs-sdk-script\src\WebJobs.Script\Description\Node\Compilation\ConditionalJavaScriptCompilationService.cs : 56
at async Microsoft.Azure.WebJobs.Script.Description.NodeFunctionInvoker.CompileAndTraceAsync(LogTargets logTargets,Boolean throwOnCompilationError,Boolean suppressCompilationSummary) at C:\azure-webjobs-sdk-script\src\WebJobs.Script\Description\Node\NodeFunctionInvoker.cs : 170
at async Microsoft.Azure.WebJobs.Script.Description.NodeFunctionInvoker.CreateFunctionTarget(CancellationToken cancellationToken) at C:\azure-webjobs-sdk-script\src\WebJobs.Script\Description\Node\NodeFunctionInvoker.cs : 133
at async Microsoft.Azure.WebJobs.Script.Description.FunctionLoader`1.GetFunctionTargetAsync[T](Int32 attemptCount) at C:\azure-webjobs-sdk-script\src\WebJobs.Script\Description\FunctionLoader.cs : 0
at async Microsoft.Azure.WebJobs.Script.Description.NodeFunctionInvoker.GetFunctionTargetAsync() at C:\azure-webjobs-sdk-script\src\WebJobs.Script\Description\Node\NodeFunctionInvoker.cs : 121
at async Microsoft.Azure.WebJobs.Script.Description.NodeFunctionInvoker.InvokeCore(Object[] parameters,FunctionInvocationContext context) at C:\azure-webjobs-sdk-script\src\WebJobs.Script\Description\Node\NodeFunctionInvoker.cs : 192
```
_Copied from original issue: Azure/Azure-Functions#579_
Contributor guide
Research direction
Start by tracing ConditionalJavaScriptCompilationService.cs at lines 56 and 115, then follow NodeFunctionInvoker.cs at lines 121, 133, 170, and 192. Reproduce the intermittent timeout with a queue-triggered TypeScript function and inspect when compilation is retried or blocked. Done means the cause is identified and the function no longer intermittently fails with Compilation timed out.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- azure, csharp, typescript
- Domain
- backend, cloud
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 20/100