Support Advisory: InvalidOperationException in Azure Web Apps
This document describes the support advisory for an AppDynamics product.
Summary
Azure App Service customers, who have enabled any of the following features in Azure:
-
Authentication / Authorization
-
AppService Push
-
MySQL in App
-
Cross-Origin Resource Sharing (CORS)
Have reported this exception occurring in their instrumented Web App(s):
Failed to initialize the AppDomain:/LM/W3SVC/123456789/ROOT
Exception: System.InvalidOperationException
Message: The configuration system has already been initialized.
This issue occurred after a recent Azure App Service update triggered a timing issue between the EasyAuth module loaded by the App Service, and the AppDynamics Agent bootstrap mechanism. This exception prevents the instrumented application from initializing when starting up.
Affected Software
This issue occurs when the following conditions are met:
-
These features are enabled in Azure:
-
Authentication / Authorization
-
AppService Push
-
MySQL in App
-
Cross-Origin Resource Sharing (CORS)
-
-
Using AppDynamics >= 4.5.x and >= 20.x Site Extensions
-
Instrumenting .NET Full Framework Web Apps
Customers using AppDynamics = 4.4 Site Extensions are not affected
Customers instrumenting .NET Core applications in Azure are not affected
Workaround
Customers should add or update the AppDynamicsConfig.json
file embedded with their Azure Web Apps to include the following "profiler"
section:
{
"controller":{
"host":"yourcontroller.com",
"port":443,
"account":"accountName",
"password":"password",
"ssl":true,
"enable_tls12":true
},
"application":{
"name":"MyApp",
"tier":"Mytier"
},
"profiler":{
"agentBootstrapInstrumentations":[
{
"enabled":true,
"fullmethodsignature":"System.Void System.Web.Hosting.PipelineRuntime.InitializeApplication(System.IntPtr)"
}
]
}
}
Resolution
The AppDynamics Engineering team has implemented a fix that is now available in the 20.12 version of the .NET Agent. Additionally, we are updating internal testing procedures to ensure that any similar incompatibility issues are found and mitigated before wide release in Azure.
Revision History
Version | Publish Date | Summary of Changes |
---|---|---|
V1 |
11 Dec 2020 | Initial publication of the support advisory. |
V2 |
18 Dec 2020 | Updated to show that any of the features mentioned (Auth, Push, MySQL, CORS) result in the EasyAuth module getting loaded into the process and causing an incompatibility with the .NET Agent. |
V3 |
18 Dec 2020 | Updated to reflect that the patched build was released in 20.12. |