Azure / Azure/azure-functions-host

(0xE0434352 - CLR Exception) is being logged sometimes after a Host Shutdown has occurred on v2 Runtime.

Open
#3,917 1 comment 0 reactions 0 assignees View on GitHub
needs-investigation
Dominant language
C#
Stars
2k
Forks
482
Avg merge
2d 12h
Merged PRs (30d)
38

Description

#### Investigative information

Please provide the following:

- Timestamp: Reproducible in general but specifically 2018-12-05T19:37 to 2018-12-06T19:37
- Function App version (1.0 or 2.0): 2.0
- Function App name: FinTestFunctionsApps
- Function name(s) (as appropriate):TestFinTimerBlob
- Invocation ID:
- Region:West Europe

#### Repro steps

Provide the steps required to reproduce the problem:

1. Create a Function App with two Functions.

Blob Trigger

public static void Run(Stream myBlob, string name, ILogger log)
{
log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
}

Timer Trigger

using System;

public static void Run(TimerInfo myTimer, out string outputBlob, ILogger log)
{
log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
outputBlob = DateTime.Now.ToString();
}

#### Expected behavior

Provide a description of the expected behavior.

These Functions are running as expected but the Diagnose and Solve blade Application Crashes detector should not show CLR Exceptions on Exit.

#### Actual behavior

Provide a description of the actual behavior observed.

These Functions are running as expected but the Diagnose and Solve blade Application Crashes detector shows CLR Exceptions on Exit. 0xE0434352

#### Known workarounds

Provide a description of any known workarounds.

No Workarounds exist.

#### Related information

Here's an example of the Logs we see
  | RoleInstance | MediumDedicatedWebWorkerRole_IN_19
  | ExitCode | 0xE0434352

Sample Kusto Query with time frames.(sanitized)

let BT = datetime(2018-11-21T10:00Z);
let ET = datetime(2018-11-21T11:00Z);
let tenantId = "";
let roleId= "MediumDedicatedWebWorkerRole_IN_19";
let appId= "";
AntaresRuntimeWorkerEvents
| where PreciseTimeStamp between (BT .. ET)
| where Tenant =~ tenantId and RoleInstance =~ roleId
| where ApplicationPool =~ '' or ApplicationPool startswith '' or SiteName =~ '' or SiteName startswith ''
| extend Site = strcat(ApplicationPool, SiteName, ApplicationPoolName)
| extend EvtM = iff(EventMessage startswith "[", "", EventMessage)
| extend Log = strcat(EvtM, LogStatement, Details, Message, Exception)
| extend ProcId = iff(JobProcessIDs != "", toint(JobProcessIDs), ProcessId)
| extend Path= strcat(VolumeRootPath, StorageVolumePath, RootPathChosen, DirectoryPath, Path)
| where EventId != 55020 and EventId != 20101 and EventId != 18050 and EventId != 16001 and (EventId < 55560 or EventId > 55567)
| sort by PreciseTimeStamp asc
| project PreciseTimeStamp, Level, EventId, Site, Log, Path, ProcId, ExitCode

PreciseTimeStamp Level EventId Site Log
2018-11-21 10:27:49.9945296 4 15028 Worker Process with PID 108 is being signalled to stop processing its HTTP queue...
2018-11-21 10:27:52.1601093 4 15028 The worker process and any child processes have exited.
2018-11-21 10:27:52.1601150 4 15013 A worker process for the application pool '%1' has terminated unexpectedly. The exit code is '%4'.

PreciseTimeStamp Level EventId Site Log Path ProcId ExitCode
2018-11-21 10:27:52.1601150 4 15013 A worker process for the application pool '%1' has terminated unexpectedly. The exit code is '%4'. 108 -532462766

PreciseTimeStamp Summary
2018-11-21 10:07:40.4957703 Executed 'ResourceCountChecker' (Succeeded, Id=7ebe8e39-0d04-4002-a613-f9b5eb33bbad)
PreciseTimeStamp Source Summary Pid
2018-11-21 10:27:50.0150043 Host.General Host shutdown completed. 108

Contributor guide

Open the contributing guide

Research direction

The report names no repository files, tests, or code entry points. Start by reproducing the two-function C# Blob Trigger and Timer Trigger setup, then correlate the 0xE0434352 exit with the logged “Host shutdown completed” event; done means intentional host shutdowns no longer appear as application crashes.

Written by the indexing model from the issue text.

Assessment

Tech stack
azure, csharp
Domain
backend, cloud
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
28/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.