I have the app running in a Web App for container running in Azure.
After a period of time, while you use the application, and you generate some names for your resources, application is crashing, with the following error in the logs:
`2022-11-22T13:16:18.981924037Z �[40m�[1m�[33mwarn�[39m�[22m�[49m: Microsoft.AspNetCore.Components.Server.Circuits.RemoteRenderer[100]
2022-11-22T13:16:18.981974937Z Unhandled exception rendering component: Object reference not set to an instance of an object.
2022-11-22T13:16:18.986191553Z System.NullReferenceException: Object reference not set to an instance of an object.
2022-11-22T13:16:18.986258153Z at AzureNamingTool.Pages.Generate.b__0_2(RenderTreeBuilder __builder2) in /src/Pages/Generate.razor:line 51
2022-11-22T13:16:18.987751559Z at Microsoft.AspNetCore.Components.CascadingValue`1.Render(RenderTreeBuilder builder)
2022-11-22T13:16:18.987771959Z at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
2022-11-22T13:16:18.995392088Z �[41m�[30mfail�[39m�[22m�[49m: Microsoft.AspNetCore.Components.Server.Circuits.CircuitHost[111]
2022-11-22T13:16:18.995411488Z Unhandled exception in circuit 'oxQ_b7CYUxOGTM_tNLhnMp3yEgo1tB9rEyTJR77pVis'.
2022-11-22T13:16:18.996416992Z System.NullReferenceException: Object reference not set to an instance of an object.
2022-11-22T13:16:18.996460292Z at AzureNamingTool.Pages.Generate.b__0_2(RenderTreeBuilder __builder2) in /src/Pages/Generate.razor:line 51
2022-11-22T13:16:18.996466892Z at Microsoft.AspNetCore.Components.CascadingValue`1.Render(RenderTreeBuilder builder)
2022-11-22T13:16:18.997848997Z at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
2022-11-22T13:16:19.205078882Z �[40m�[32minfo�[39m�[22m�[49m: Microsoft.AspNetCore.Routing.EndpointMiddleware[1]
2022-11-22T13:16:19.205128082Z Executed endpoint '/_blazor'
2022-11-22T13:16:19.206160786Z �[40m�[32minfo�[39m�[22m�[49m: Microsoft.AspNetCore.Hosting.Diagnostics[2]`
or
`2022-11-22T13:46:40.396486506Z �[41m�[30mfail�[39m�[22m�[49m: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1]
2022-11-22T13:46:40.396514007Z An unhandled exception has occurred while executing the request.
2022-11-22T13:46:40.396520307Z System.NullReferenceException: Object reference not set to an instance of an object.
2022-11-22T13:46:40.396524807Z at AzureNamingTool.Pages.Reference.GenerateName(ResourceType type, String shortName, String staticvalues) in /src/Pages/Reference.razor:line 389
2022-11-22T13:46:40.396529107Z at AzureNamingTool.Pages.Reference.BuildRenderTree(RenderTreeBuilder __builder) in /src/Pages/Reference.razor:line 92
2022-11-22T13:46:40.396533407Z at Microsoft.AspNetCore.Components.Rendering.ComponentState.RenderIntoBatch(RenderBatchBuilder batchBuilder, RenderFragment renderFragment, Exception& renderFragmentException)
2022-11-22T13:46:40.396537907Z --- End of stack trace from previous location ---
2022-11-22T13:46:40.396541807Z at Microsoft.AspNetCore.Components.Rendering.HtmlRenderer.HandleException(Exception exception)
2022-11-22T13:46:40.396545907Z at Microsoft.AspNetCore.Components.RenderTree.Renderer.HandleExceptionViaErrorBoundary(Exception error, ComponentState errorSourceOrNull)
2022-11-22T13:46:40.396549707Z at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()
2022-11-22T13:46:40.396553607Z --- End of stack trace from previous location ---
2022-11-22T13:46:40.396557407Z at Microsoft.AspNetCore.Components.Rendering.HtmlRenderer.HandleException(Exception exception)
2022-11-22T13:46:40.396561307Z at Microsoft.AspNetCore.Components.RenderTree.Renderer.ProcessRenderQueue()
2022-11-22T13:46:40.396582707Z at Microsoft.AspNetCore.Components.RenderTree.Renderer.AddToRenderQueue(Int32 componentId, RenderFragment renderFragment)
2022-11-22T13:46:40.396587407Z at Microsoft.AspNetCore.Components.ComponentBase.StateHasChanged()
2022-11-22T13:46:40.396591207Z at Microsoft.AspNetCore.Components.ComponentBase.CallOnParametersSetAsync()
2022-11-22T13:46:40.396595007Z at Microsoft.AspNetCore.Components.ComponentBase.RunInitAndSetParametersAsync()
2022-11-22T13:46:40.396599307Z at Microsoft.AspNetCore.Components.Rendering.HtmlRenderer.HandleException(Exception exception)
2022-11-22T13:46:40.396603407Z at Microsoft.AspNetCore.Components.RenderTree.Renderer.HandleExceptionViaErrorBoundary(Exception error, ComponentState errorSourceOrNull)
2022-11-22T13:46:40.396608307Z at Microsoft.AspNetCore.Components.Rendering.ComponentState.SetDirectParameters(ParameterView parameters)
2022-11-22T13:46:40.396612707Z at Microsoft.AspNetCore.Components.RenderTree.Renderer.RenderRootComponentAsync(Int32 componentId, ParameterView initialParameters)
2022-11-22T13:46:40.396616707Z at Microsoft.AspNetCore.Components.Rendering.HtmlRenderer.CreateInitialRenderAsync(Type componentType, ParameterView initialParameters)
2022-11-22T13:46:40.396620607Z at Microsoft.AspNetCore.Components.Rendering.HtmlRenderer.RenderComponentAsync(Type componentType, ParameterView initialParameters)
2022-11-22T13:46:40.396624507Z at Microsoft.AspNetCore.Components.Rendering.RendererSynchronizationContext.<>c__11`1.<b__11_0>d.MoveNext()
2022-11-22T13:46:40.396628907Z --- End of stack trace from previous location ---
2022-11-22T13:46:40.396632807Z at Microsoft.AspNetCore.Mvc.ViewFeatures.StaticComponentRenderer.PrerenderComponentAsync(ParameterView parameters, HttpContext httpContext, Type componentType)
2022-11-22T13:46:40.396636707Z at Microsoft.AspNetCore.Mvc.ViewFeatures.ComponentRenderer.PrerenderedServerComponentAsync(HttpContext context, ServerComponentInvocationSequence invocationId, Type type, ParameterView parametersCollection)
2022-11-22T13:46:40.396640807Z at Microsoft.AspNetCore.Mvc.ViewFeatures.ComponentRenderer.RenderComponentAsync(ViewContext viewContext, Type componentType, RenderMode renderMode, Object parameters)
2022-11-22T13:46:40.396644807Z at Microsoft.AspNetCore.Mvc.TagHelpers.ComponentTagHelper.ProcessAsync(TagHelperContext context, TagHelperOutput output)
2022-11-22T13:46:40.396648707Z at Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner.g__Awaited|0_0(Task task, TagHelperExecutionContext executionContext, Int32 i, Int32 count)
2022-11-22T13:46:40.396653207Z at AzureNamingTool.Pages.Pages__Host.ExecuteAsync() in /src/Pages/_Host.cshtml:line 10
2022-11-22T13:46:40.396657007Z at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageCoreAsync(IRazorPage page, ViewContext context)
2022-11-22T13:46:40.396661007Z at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderPageAsync(IRazorPage page, ViewContext context, Boolean invokeViewStarts)
2022-11-22T13:46:40.396664908Z at Microsoft.AspNetCore.Mvc.Razor.RazorView.RenderAsync(ViewContext context)
2022-11-22T13:46:40.396672608Z at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode)
2022-11-22T13:46:40.396677308Z at Microsoft.AspNetCore.Mvc.ViewFeatures.ViewExecutor.ExecuteAsync(ViewContext viewContext, String contentType, Nullable`1 statusCode)
2022-11-22T13:46:40.396681408Z at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|30_0[TFilter,TFilterAsync](ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2022-11-22T13:46:40.396685708Z at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResultExecutedContextSealed context)
2022-11-22T13:46:40.396689608Z at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.ResultNext[TFilter,TFilterAsync](State& next, Scope& scope, Object& state, Boolean& isCompleted)
2022-11-22T13:46:40.396694008Z at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeResultFilters()
2022-11-22T13:46:40.396697808Z --- End of stack trace from previous location ---
2022-11-22T13:46:40.396701608Z at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
2022-11-22T13:46:40.396705808Z at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
2022-11-22T13:46:40.396709708Z at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
2022-11-22T13:46:40.396714308Z at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
2022-11-22T13:46:40.396718308Z --- End of stack trace from previous location ---
2022-11-22T13:46:40.396724208Z at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1(ResourceInvoker invoker)
2022-11-22T13:46:40.396728308Z at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Logged|17_1(ResourceInvoker invoker)
2022-11-22T13:46:40.396732408Z at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
2022-11-22T13:46:40.396736608Z at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
2022-11-22T13:46:40.396741008Z at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
2022-11-22T13:46:40.396745308Z at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
2022-11-22T13:46:40.396750008Z �[40m�[32minfo�[39m�[22m�[49m: Microsoft.AspNetCore.Routing.EndpointMiddleware[0]
2022-11-22T13:46:40.396754208Z Executing endpoint '/Error'`
If i go and delete generatednames.json and adminlogmessages.json, and then restart web app, application is working fine again.
In case you don't delete the log files i receive a stack overflow error which is attached, and application is crashing constantly.
stackOverFlowIssue.txt
How i use application?
I'm having a function that calls the api to generate names for azure resources, using this api call /api/ResourceNamingRequests/RequestName
How you can replicate?
Just create a function to generate a name for all resource types using the following api call /api/ResourceNamingRequests/RequestName
"as","apim","apivs","apis","apii","apiia","apiic","apio","apiot","apir","apiss","apitd","apitg","apias","apib","apic","apid","apig","apigu","apiip","apil","apin","recem","apioi","apipo","apipr","api","grp","aspt","prop","subsr","ast","temp","user","appcs","lock","pasm","pasr","pasd","policyr","policyd","initm","initr","initd","aa","aacert","aaconn","cred","runbk","sched","var","watch","wbhk","ba","appl","bbcert","pool","blchm","bpas","bp","bpa","bpv","botsvc","chan","bbconn","botec","redis","crrule","cdnp","cdne","cerco","cog","avail","cld","des","osdisk","disk","gal","cgap","apver","gimg","ver","cimg","snap","slc","smc","vmssl","vmssw","ci","cr","btsk","step","rep","scmap","task","tokn","webhk","aks","osmc","cihub","authp","conn","chcmap","int","kpi","link","pred","prof","rlink","rel","role","view","cpas","cprep","dbjob","dbw","adf","flow","dset","run","lksvc","pipe","trig","rerun","dla","cmpol","dlsta","dlarule","dlasa","dls","dlsrule","dlsrulev","dms","proj","mdbsv","mdbdb","dmdsfrule","dmdsvrule","mysql","dbmysql","dmsfrule","dmsvrule","psql","dbpsql","dpsfrule","dpsvrule","iot","dicert","congp","provs","pcert","dtlab","img","form","vml","vmw","dbact","cosmos","evgd","evgt","evgs","egtp","evhcl","evhns","enarule","drcfg","evh","enearule","cgrp","mls","spark","storm","hadoop","hbase","kafka","arcs","iejob","ag","inala","appi","inma","insqr","iotapp","kv","kvs","arck","dec","dedb","dcon","ehcon","ia","assem","bconf","cert","limap","part","rpcnf","schem","ses","lise","mapi","logic","mlcp","mlweb","mlws","mlw","mlswc","id","mg","macc","mms","lievt","liout","strep","migr","sac","asg","afw","bas","con","dnsz","erc","waf","wafrg","fd","fdfp","sac","sac","nlirule","lgw","nic","nsg","nsgsr","nw","pdnsz","pdnsv","pl","pip","ippre","rf","nrfrr","rt","udr","se","traf","vgw","vnet","snet","peer","vwan","vpng","vcn","vpn","ntfns","nnarule","ntf","nnnarule","opic","log","opms","pdash","pbiwc","pbi","pview","rsv","rsvbp","rns","rnarule","hycon","rnharule","wcfr","wcfra","deloy","rg","rtn","rtnv","tspec","srch","sb","snarule","sbndc","migc","sbq","snqarule","sbt","sntarule","tsub","sntsrule","sf","sigr","sqlmi","sqldw","sql","sqlsa","sqldb","sqlsg","sqlep","sqlfg","sqlfw","sbl","squ","stvm","st","stbl","stblc","stfs","stfss","stmp","sta","sss","sgrp","ssimp","asa","sasj","sjf","sjin","sjout","sjtrf","subcr","synw","synsp","syndp","tsi","tsiea","tsiee","tsier","wbcer","plan","stapp","app","func","ase","aswba","slot"
Api call json body :
{"resourceType": "shortNameFromTheList","resourceUnitDept": "sud","resourceProjAppSvc": "spa","resourceEnvironment": "dev","resourceLocation": "we","resourceInstance": "001"}