How to get specific detail causing Azure Function Deployment's "Null Reference Error" on Microsoft.Azure.WebJobs.Script.WorkerFunctionMetadataProvider+<GetFunctionMetadataAsync>

Aiden Dipple 10 Reputation points
2023-08-02T07:05:11.6166667+00:00

I'm getting an Azure DevOps CI/CD zip packaged deployment to Azure Function that successfully deploys code generally, but I'm having an issue with when I include an rpm import (specifically Sequelize) that sees the app create the following error when trying to boot:

Screenshot 2023-08-02 at 5.02.16 pm

Application Insights provides the following stack trace:

System.NullReferenceException:
   at Microsoft.Azure.WebJobs.Script.WorkerFunctionMetadataProvider+<GetFunctionMetadataAsync>d__10.MoveNext (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/WorkerFunctionMetadataProvider.cs:83)
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at Microsoft.Azure.WebJobs.Script.WebHost.FunctionMetadataProvider+<GetFunctionMetadataAsync>d__10.MoveNext (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/FunctionMetadataProvider.cs:45)
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter`1.GetResult (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at Microsoft.Azure.WebJobs.Script.FunctionMetadataManager.LoadFunctionMetadata (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/FunctionMetadataManager.cs:145)
   at Microsoft.Azure.WebJobs.Script.FunctionMetadataManager.GetFunctionMetadata (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/FunctionMetadataManager.cs:89)
   at Microsoft.Azure.WebJobs.Script.ScriptHost.GetFunctionsMetadata (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/ScriptHost.cs:372)
   at Microsoft.Azure.WebJobs.Script.ScriptHost+<InitializeAsync>d__93.MoveNext (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/ScriptHost.cs:279)
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at Microsoft.Azure.WebJobs.Script.ScriptHost+<StartAsyncCore>d__92.MoveNext (Microsoft.Azure.WebJobs.Script, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script/Host/ScriptHost.cs:256)
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.ConfiguredTaskAwaitable+ConfiguredTaskAwaiter.GetResult (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at Microsoft.Extensions.Hosting.Internal.Host+<StartAsync>d__12.MoveNext (Microsoft.Extensions.Hosting, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60)
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at System.Runtime.CompilerServices.TaskAwaiter.GetResult (System.Private.CoreLib, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e)
   at Microsoft.Azure.WebJobs.Script.WebHost.WebJobsScriptHostService+<UnsynchronizedStartHostAsync>d__52.MoveNext (Microsoft.Azure.WebJobs.Script.WebHost, Version=4.23.0.0, Culture=neutral, PublicKeyToken=null: /_/src/WebJobs.Script.WebHost/WebJobsScriptHostService.cs:328)

The details of the Azure Function configuration are detailed in this StackOverflow question:

https://stackoverflow.com/questions/76807472/how-do-i-find-azure-function-logs-that-show-post-deploy-pre-execution-faults

Of the two examples of the imports failing, I've now only been able to get the functions to fail when importing a Sequelize class. Even then the results seem random (though I suspect there is some browser caching issues there).

Given that I still have random reproducibility success, I'm shooting in the dark without having better insight into what variable/property is null.

How do I get that?

Azure Functions
Azure Functions
An Azure service that provides an event-driven serverless compute platform.
5,911 questions
{count} votes

1 answer

Sort by: Most helpful
  1. MayankBargali-MSFT 70,936 Reputation points Moderator
    2023-08-02T07:54:26.1966667+00:00

    @Aiden Dipple Thanks for reaching out.
    You can always review the Diagnose and solve blade on your function app to know more details on the error/exception and any suggested action plan to resolve the issue. I have reviewed your function app and it looks like it is deleted (around 1st Aug 19:40 UTC) now. I will suggest you to deploy your function app again and review the Diagnose and solve blade to know more details on the issue. If the blade doesn't help, then please let me know so I can review it at my end.

    Feel free to get back to me if you need any assistance.

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.