Summary
Azure App Service customers, who have enabled any of the following features in Azure:
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:
Using AppDynamics >= 4.5.x and >= 20.x Site Extensions
Instrumenting .NET Full Framework Web Apps
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)"
}
]
}
}
CODE
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 | | Initial publication of the support advisory. |
V2 | | 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 | | Updated to reflect that the patched build was released in 20.12. |