0
Fixed

Event Broker: System.ArgumentNullException: Value cannot be null

Bob Bradley 7 years ago • updated by anonymous 3 years ago 6

After disabling a global operation list I clicked on the Home page to start the EvB scheduler and got the following error and stack trace:

Error

System.Web.HttpException (0x80004005): Error executing child request for handler 'System.Web.Mvc.HttpHandlerUtil+ServerExecuteHttpHandlerAsyncWrapper'. ---> System.ArgumentNullException: Value cannot be null.
Parameter name: sourceElement
 at Unify.Framework.XElementExtensions.AttributeValue(XElement sourceElement, XName attributeName) in c:\Program Files (x86)\Jenkins\jobs\Event Broker\workspace\Core Framework SDK\Source\Xml\Unify.Framework.Xml\XElementExtensions.AttributeValues.cs:line 31
 at Unify.EventBroker.Web.AlertMessages.AgentTestConnection(HtmlHelper htmlHelper, UrlHelper urlHelper, AlertInformation alertInformation) in c:\Program Files (x86)\Jenkins\jobs\Event Broker\workspace\Source\Unify.EventBroker.Web\Models\Alerts\AlertMessages.cs:line 146
 at Unify.EventBroker.Web.AlertMessages.ShowMessage(HtmlHelper htmlHelper, UrlHelper urlHelper, AlertInformation alertInformation) in c:\Program Files (x86)\Jenkins\jobs\Event Broker\workspace\Source\Unify.EventBroker.Web\Models\Alerts\AlertMessages.cs:line 51
 at ASP._Page_Views_Home_AlertOverview_cshtml.Execute() in c:\Program Files\UNIFY Solutions\Event Broker\Web\Views\Home\AlertOverview.cshtml:line 18
 at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
 at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
 at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
 at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
 at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19()
 at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
 at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
 at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
 at System.Web.Mvc.Controller.ExecuteCore()
 at System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext)
 at System.Web.Mvc.MvcHandler.<>c__DisplayClass6.<>c__DisplayClassb.<BeginProcessRequest>b__5()
 at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass1.<MakeVoidDelegate>b__0()
 at System.Web.Mvc.MvcHandler.<>c__DisplayClasse.<EndProcessRequest>b__d()
 at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.<>c__DisplayClass4.<Wrap>b__3()
 at System.Web.Mvc.HttpHandlerUtil.ServerExecuteHttpHandlerWrapper.Wrap[TResult](Func`1 func)
 at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
 at System.Web.HttpServerUtility.ExecuteInternal(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage, VirtualPath path, VirtualPath filePath, String physPath, Exception error, String queryStringOverride)
 at System.Web.HttpServerUtility.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm, Boolean setPreviousPage)
 at System.Web.HttpServerUtilityWrapper.Execute(IHttpHandler handler, TextWriter writer, Boolean preserveForm)
 at System.Web.Mvc.Html.ChildActionExtensions.ActionHelper(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues, TextWriter textWriter)
 at System.Web.Mvc.Html.ChildActionExtensions.Action(HtmlHelper htmlHelper, String actionName, String controllerName, RouteValueDictionary routeValues)
 at Unify.EventBroker.Web.RenderExtensions.ActionRefresh(HtmlHelper htmlHelper, UrlHelper urlHelper, Func`2 htmlHelperAction, Func`2 urlHelperAction, String id, Int32 timeout) in c:\Program Files (x86)\Jenkins\jobs\Event Broker\workspace\Source\Unify.EventBroker.Web\Extensions\RenderExtensions.cs:line 789
 at ASP._Page_Views_Home_Index_cshtml.Execute() in c:\Program Files\UNIFY Solutions\Event Broker\Web\Views\Home\Index.cshtml:line 31
 at System.Web.WebPages.WebPageBase.ExecutePageHierarchy()
 at System.Web.Mvc.WebViewPage.ExecutePageHierarchy()
 at System.Web.WebPages.StartPage.ExecutePageHierarchy()
 at System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage)
 at System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context)
 at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass1c.<InvokeActionResultWithFilters>b__19()
 at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation)
 at System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult)
 at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)

I am going to restart the service but before I do do you wish to see this for yourself? It is possible that restarting may prevent this exception from recurring ...

Tony, can you do a quick analysis and determine if we should try and get any more information out of Bob's EB instance before he restarts it.

As expected restarting the service solved the problem ... nothing urgent here, but the logs may be of interest.

Sorry guys - things got really screwed up and I had no choice ... suspect the problem was environmental/resource availability.

I think Tony was going to ask you for the config when it was still broken, but as the issue was resolved by restarting I'd wager a guess that the problem was in-memory and reloading the (correct) config fixed it.

As you've been able to resolve it for now we'll defer looking at this until the next lifecycle, but the stack trace you've provided us will probably be enough to go on.

Thanks again.

The test agent XML had no checks around whether a message element was null. There are a few potential causes for this, but the most likely is that the exception thrown during testing of the agent did not have a message. Without the full logs I can't specifically say which exception this was.

Reassigned for confirmation of completion.

The error handling around this component has been updated to ensure that null references can't popup on reading the XML; without knowing the Agent failing / the conditions its difficult to know why the exception message would have been null (cause of the issue), and may have been incidentally fixed with the behaviour of some agents having changes.