The rollover that displays the summary of unit tests results for a project build/configuration seems to be causing lots of Ajax errors. If you are away from the page for extended periods of time and return. This is often the situation when you have the build auto build and there are still unit test failures, so you return to your Development environment to fix them. If you refresh the web page, the errors go away and everything works well.
This sounds like a javascript/IIS caching issue. We’re using a bundling tool which is supposed to stop this sort of thing happening but sometimes IIS just does it’s own thing.
Are there any errors logged in the Continua Eventlog?
Interestingly there is an event log entry, apparently triggered twice. Attached is the event log entry.
The web server reported the following error: Exception: ArgumentException Message: The parameters dictionary contains a null entry for parameter 'id' of non-nullable type 'System.Int32' for method 'System.Web.Mvc.ActionResult GetUnitTestTooltip(Int32)' in 'Continua.Web.Builds.Controllers.ConfigurationsController'. An optional parameter must be a reference type, a nullable type, or be declared as an optional parameter. Parameter name: parameters Stack Trace: at System.Web.Mvc.ActionDescriptor.ExtractParameterFromDictionary(ParameterInfo parameterInfo, IDictionary`2 parameters, MethodInfo methodInfo) at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext() at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.<>c__DisplayClass39.b__33() at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass4f.b__49() at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass37.b__36(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.<>c__DisplayClass2a.b__20() at System.Web.Mvc.Async.AsyncControllerActionInvoker.<>c__DisplayClass25.b__22(IAsyncResult asyncResult) at System.Web.Mvc.Controller.<>c__DisplayClass1d.b__18(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar) at System.Web.Mvc.Controller.EndExecuteCore(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar) at System.Web.Mvc.MvcHandler.<>c__DisplayClass8.b__3(IAsyncResult asyncResult) at System.Web.Mvc.Async.AsyncResultWrapper.<>c__DisplayClass4.b__3(IAsyncResult ar) at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
Arrggghh, I thought we had resolved that error. For some reason MVC is barfing on our ajax request. We’ve been over the code several times and have not been able to reproduce it here. We even put extra checks in before the ajax call is made to make sure the id is provided, otherwise the ajax call is not made. I’ll get someone to take another look at this.
Actually, more bad news, it seems to be a timing issue. If I rollover one, after loading the page it works ok. If I then start rapidly rolling over the overs, Ajax errors aplenty.
I've not managed to replicate the issue, but have changed the way the tooltip data is retrieved and added some extra checks. You can download a new build version 1.0.0.2515 using the following links:
If you still get this errors after installing this, can you open the IE developer tools (F12) and select on the Network tab? Click the Start Capturing button and then continue to hover the mouse over the build number to generate the error. A url containing the text getunittesttooltip should appear in the list. If you then click the save button to export the network capture to xml and send this on to support@finalbuilder.com, we'll have a look and see if we can get to the bottom of the issue.
Ok, I’m happy with that change, looks like a positive change. Not even close to causing an AJAX error on the UI or via the event log. Nice work! Now just let me load windows 8.1 and IE 11… hehehehehehe.