November Happy Hour will be moved to Thursday December 5th.

cmsmembershipproviders throwing error in windows eventlog

Vote:
 

Episerver.CMS : 9.12.2

Episerver.CMS.Core : 9.12.2

EPiServer.Commerce : 9.24.1

EPiServer.Commerce.Core: 9.24.1

EPiServer.Commerce.Azure : 9.24.1

This is hosted on Azure web app. I get this error on production in event log:

Exception information:

    Exception type: ConfigurationErrorsException

    Exception message: Unsecured Passwords Format Detected. The Membership Provider that contains the unsecure passwords format is: WindowsMembershipProvider. The obsoleted password format is: Encrypted. For more information, see https://go.microsoft.com/fwlink/?linkid=834784.

It throws this error. The azure performance graph that is otherwise stable suddenly goes down and immediately crashes the application.

Has anybody seen this before.

#180033
Jun 28, 2017 20:40
Vote:
 

Hi, we have the same issue starting from yesterday (EPiServer.CMS 10.3.2). No solution yet. 

#180145
Jun 30, 2017 11:31
Vote:
 

For now the original error is fixed, but and we end up with another very informative error (site works right after deployment, but after some time it stops working [returns 500]):

Event code: 3008

Event message: A configuration error has occurred.

Event time: 6/30/2017 11:45:43 AM

Event time (UTC): 6/30/2017 11:45:43 AM

Event ID: fe6874ba954d49c2a87a1a86d83b9edf

Event sequence: 407

Event occurrence: 1

Event detail code: 0



Application information:

    Application domain: /LM/W3SVC/815313056/ROOT-17-131432961332995379

    Trust level: Full

    Application Virtual Path: /

    Application Path: D:\home\site\wwwroot\

    Machine name: RD00155D670613



Process information:

    Process ID: 9788

    Process name: w3wp.exe

    Account name: IIS APPPOOL\moller-forhandlere-web-dev



Exception information:

    Exception type: ConfigurationErrorsException

    Exception message: The configuration file has been changed by another program. (D:\home\site\wwwroot\web.config)
   at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
   at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSection(String configKey)
   at System.Web.Configuration.RuntimeConfig.GetSectionObject(String sectionName)
   at System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index)
   at System.Web.Configuration.RuntimeConfig.get_Globalization()
   at System.Web.ThreadContext.SetRequestLevelCulture()
   at System.Web.ThreadContext.AssociateWithCurrentThread(Boolean setImpersonationContext)
   at System.Web.HttpApplication.OnThreadEnterPrivate(Boolean setImpersonationContext)
   at System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)
   at System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)
   at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)





Request information:

    Request URL: https://audi-moller-bil-oslo-vest.creunacloud-test.net:443/EPiServer/Cms/

    Request path: /EPiServer/Cms/

    User host address: 91.221.167.8

    User: 

    Is authenticated: False

    Authentication Type: 

    Thread account name: IIS APPPOOL\moller-forhandlere-web-dev



Thread information:

    Thread ID: 142

    Thread account name: IIS APPPOOL\moller-forhandlere-web-dev

    Is impersonating: False

    Stack trace:    at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
   at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSection(String configKey)
   at System.Web.Configuration.RuntimeConfig.GetSectionObject(String sectionName)
   at System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index)
   at System.Web.Configuration.RuntimeConfig.get_Globalization()
   at System.Web.ThreadContext.SetRequestLevelCulture()
   at System.Web.ThreadContext.AssociateWithCurrentThread(Boolean setImpersonationContext)
   at System.Web.HttpApplication.OnThreadEnterPrivate(Boolean setImpersonationContext)
   at System.Web.HttpApplication.PipelineStepManager.ResumeSteps(Exception error)
   at System.Web.HttpApplication.BeginProcessRequestNotification(HttpContext context, AsyncCallback cb)
   at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)




Custom event details:

with the following in the EPiServerErrors.log:

2017-06-30 11:46:01,460 [161] ERROR EPiServer.Global: 1.2.5 Unhandled exception in ASP.NET
System.Configuration.ConfigurationErrorsException: The configuration file has been changed by another program. (D:\home\site\wwwroot\web.config)
   at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
   at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSection(String configKey)
   at System.Web.Configuration.RuntimeConfig.GetSectionObject(String sectionName)
   at System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index)
   at System.Web.Configuration.RuntimeConfig.get_Authorization()
   at System.Web.Security.UrlAuthorizationModule.CheckUrlAccessForPrincipal(String virtualPath, IPrincipal user, String verb)
   at EPiServer.Security.PrincipalInfo.HasPathAccess(String path)
   at EPiServer.Web.Internal.DefaultDisplayChannelService.GetActiveChannels(HttpContextBase context)
   at EPiServer.Web.Internal.TemplateResolverImplementation.ResolveCore(HttpContextBase httpContext, ContentType contentType, Type itemType, Object itemToRender, TemplateTypeCategories category, String tag)
   at EPiServer.Web.TemplateResolver.Resolve(HttpContextBase httpContext, Object itemToRender, TemplateTypeCategories templateTypeCategory, ContextMode contextMode)
   at EPiServer.Web.Mvc.Internal.ExistingActionRouteConstraint.Match(Route route, SegmentContext routingContext, String parameterName)
   at EPiServer.Web.Routing.Internal.DefaultContentRoute.MatchConstraints(SegmentContext segmentContext, HttpContextBase context)
   at EPiServer.Web.Routing.Internal.DefaultContentRoute.GetRouteData(HttpContextBase httpContext)
   at System.Web.Routing.RouteCollection.GetRouteData(HttpContextBase httpContext)
   at EPiServer.Web.Routing.RouteCollectionExtensions.HandleRouteData(RouteCollection routes, HttpContextBase context)
   at EPiServer.Global.DefaultDocumentHandling(Object sender, EventArgs e)
   at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
System.Configuration.ConfigurationErrorsException: The configuration file has been changed by another program. (D:\home\site\wwwroot\web.config)
   at System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult)
   at System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject)
   at System.Configuration.BaseConfigurationRecord.GetSection(String configKey)
   at System.Web.Configuration.RuntimeConfig.GetSectionObject(String sectionName)
   at System.Web.Configuration.RuntimeConfig.GetSection(String sectionName, Type type, ResultsIndex index)
   at System.Web.Configuration.RuntimeConfig.get_Authorization()
   at System.Web.Security.UrlAuthorizationModule.CheckUrlAccessForPrincipal(String virtualPath, IPrincipal user, String verb)
   at EPiServer.Security.PrincipalInfo.HasPathAccess(String path)
   at EPiServer.Web.Internal.DefaultDisplayChannelService.GetActiveChannels(HttpContextBase context)
   at EPiServer.Web.Internal.TemplateResolverImplementation.ResolveCore(HttpContextBase httpContext, ContentType contentType, Type itemType, Object itemToRender, TemplateTypeCategories category, String tag)
   at EPiServer.Web.TemplateResolver.Resolve(HttpContextBase httpContext, Object itemToRender, TemplateTypeCategories templateTypeCategory, ContextMode contextMode)
   at EPiServer.Web.Mvc.Internal.ExistingActionRouteConstraint.Match(Route route, SegmentContext routingContext, String parameterName)
   at EPiServer.Web.Routing.Internal.DefaultContentRoute.MatchConstraints(SegmentContext segmentContext, HttpContextBase context)
   at EPiServer.Web.Routing.Internal.DefaultContentRoute.GetRouteData(HttpContextBase httpContext)
   at System.Web.Routing.RouteCollection.GetRouteData(HttpContextBase httpContext)
   at EPiServer.Web.Routing.RouteCollectionExtensions.HandleRouteData(RouteCollection routes, HttpContextBase context)
   at EPiServer.Global.DefaultDocumentHandling(Object sender, EventArgs e)
   at System.Web.HttpApplication.SyncEventExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
   at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
#180150
Jun 30, 2017 13:53
Vote:
 

tried <add key="WEBSITE_DYNAMIC_CACHE" value="0" /> with no luck; found a thread where similar problem is discussed https://world.episerver.com/forum/developer-forum/-Episerver-75-CMS/Thread-Container/2017/6/the-configuration-file-has-been-changed-by-another-program/

#180152
Edited, Jun 30, 2017 13:57
Vote:
 

Hi Vladmir,

I came across this article that talks about Password hashing causing the issue. And also increase in CPU utilization. We do see a high CPU utilization. 

We are using "HMACSHA512" hasalgorithm. Not sure if it is related to this particular algorithm and cmsmembershipprovider.

Our webApp has 2 instances in Azure and normally one of the instance gets hit by this error. So yes, there is possibility of other application trying to change the web.config and causing this error which is talked about in the other article you referenced. We will wait for the epi to fix the ticket that is open on this.

#180169
Jun 30, 2017 17:13
Vote:
 

Oops! missed the link i am talking about hashing:

Here

https://dzone.com/articles/stronger-password-hashing-net

#180170
Jun 30, 2017 17:14
Vote:
 

Hi Sapna,

We fixed the initial error message be turning windows membership off and ended up with "The configuration file has been changed by another program", so it's definitely not  hashing the root cause of the problem for us :)

#180172
Jun 30, 2017 17:33
Vote:
 

Hi Sapna & Vladimir,

 

Have you found a solution for what Sapna reported initially? We started experiencing the same issue today (our app is also hosted in Epi Azure) and I don't have many leads on where to look to find the cause of this issue and how to fix it.

Any help would me much appreciated!

#180754
Jul 25, 2017 10:35
* You are NOT allowed to include any hyperlinks in the post because your account hasn't associated to your company. User profile should be updated.