1.0.0.847 - General stability issues

Hi,

 I've installed the most recent beta, with uninstalling the previous installation (v 1.0.0.3xx) first.

 While I managed to get the system up and running, it would seem to be somewhat unstable. Initially the installer did not create the Application Service - only the SSH service - to the system, but reinstallation took care of that.

However there seems to be number of issues with the software.

* Selecting Notfications from User Preferences view shows an error:

Server Error in '/' Application.
Object reference not set to an instance of an object.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

Source Error:
Line 35: @foreach (var s in ViewBag.sources)
Line 36: {
Line 37: foreach (var v in s.Value)
Line 38: {
Line 39: @: sourceCategories.push({"category" : "@s.Key" , "Name" : "@v.Name" , "Id" : "@v.Id" });


Source File: c:\Program Files\VSoft Technologies\ContinuaCI\Web\Views\Account\Notifications.cshtml Line: 37

Stack Trace:
[NullReferenceException: Object reference not set to an instance of an object.]
ASP.Notifications_cshtml.Execute() in c:\Program Files\VSoft Technologies\ContinuaCI\Web\Views\Account\Notifications.cshtml:37
System.Web.WebPages.WebPageBase.ExecutePageHierarchy() +279
System.Web.Mvc.WebViewPage.ExecutePageHierarchy() +102
System.Web.WebPages.StartPage.ExecutePageHierarchy() +142
System.Web.WebPages.WebPageBase.ExecutePageHierarchy(WebPageContext pageContext, TextWriter writer, WebPageRenderingBase startPage) +156
System.Web.Mvc.ViewResultBase.ExecuteResult(ControllerContext context) +379
System.Web.Mvc.<>c__DisplayClass1c.b__19() +32
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultFilter(IResultFilter filter, ResultExecutingContext preContext, Func`1 continuation) +613
System.Web.Mvc.ControllerActionInvoker.InvokeActionResultWithFilters(ControllerContext controllerContext, IList`1 filters, ActionResult actionResult) +263
System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName) +691
System.Web.Mvc.Controller.ExecuteCore() +162
System.Web.Mvc.ControllerBase.Execute(RequestContext requestContext) +305
System.Web.Mvc.<>c__DisplayClassb.b__5() +62
System.Web.Mvc.Async.<>c__DisplayClass1.b__0() +20
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +469
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +375

 * Attempting to upload a license to the server results in error message with directions to see the Continua Log. The log contains the following items:

Exception:
Message: Failed to read license information.
Stack Trace: at ..(String )
at Continua.LicenseManager.AddLicense(String licenseData)
at Continua.Services.CoreService.AddLicense(String serializedLicense)
at SyncInvokeAddLicense(Object , Object[] , Object[] )
at System.ServiceModel.Dispatcher.SyncMethodInvoker.Invoke(Object instance, Object[] inputs, Object[]& outputs)
at System.ServiceModel.Dispatcher.DispatchOperationRuntime.InvokeBegin(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage5(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.ImmutableDispatchRuntime.ProcessMessage31(MessageRpc& rpc)
at System.ServiceModel.Dispatcher.MessageRpc.Process(Boolean isOperationContextSet)

Exception: InvalidOperationException
Message: There is an error in XML document (14, 18).
Stack Trace: at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle, XmlDeserializationEvents events)
at System.Xml.Serialization.XmlSerializer.Deserialize(XmlReader xmlReader, String encodingStyle)
at ..(String )

Exception: XmlException
Message: Data at the root level is invalid. Line 14, position 18.
Stack Trace: at System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
at System.Xml.XmlTextReaderImpl.ParseRootLevelWhitespace()
at System.Xml.XmlTextReaderImpl.ParseDocumentContent()
at System.Xml.XmlReader.ReadEndElement()
at Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderLicenseArray.Read1_ArrayOfLicense()


and

Exception: CommunicationException
Message: The socket connection was aborted. This could be caused by an error processing your message or a receive timeout being exceeded by the remote host, or an underlying network resource issue. Local socket timeout was '00:00:10'.
Stack Trace: at System.ServiceModel.Channels.SocketConnection.ReadCore(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, Boolean closing)
at System.ServiceModel.Channels.SocketConnection.Read(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout)
at System.ServiceModel.Channels.SessionConnectionReader.Receive(TimeSpan timeout)
at System.ServiceModel.Channels.SynchronizedMessageSource.Receive(TimeSpan timeout)
at System.ServiceModel.Channels.FramingDuplexSessionChannel.Receive(TimeSpan timeout)
at System.ServiceModel.Channels.FramingDuplexSessionChannel.TryReceive(TimeSpan timeout, Message& message)
at System.ServiceModel.Channels.InputChannelWrapper.TryReceive(TimeSpan timeout, Message& message)
at System.ServiceModel.Channels.ServerReliableChannelBinder`1.DuplexServerReliableChannelBinder`1.OnTryReceive(TDuplexChannel channel, TimeSpan timeout, RequestContext& requestContext)
at System.ServiceModel.Channels.ReliableChannelBinder`1.TryReceive(TimeSpan timeout, RequestContext& requestContext, MaskingMode maskingMode)
at System.ServiceModel.Security.SecuritySessionServerSettings.ServerSecuritySessionChannel.TryReceiveRequest(TimeSpan timeout, RequestContext& requestContext)
at System.ServiceModel.Security.SecuritySessionServerSettings.ServerSecuritySessionChannel.TryReceive(TimeSpan timeout, Message& message)
at System.ServiceModel.Security.SecuritySessionServerSettings.ServerSecurityDuplexSessionChannel.WaitForInputSessionClose(TimeSpan timeout, Boolean& wasAborted)
at System.ServiceModel.Security.SecuritySessionServerSettings.ServerSecurityDuplexSessionChannel.OnClose(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)
at System.ServiceModel.Channels.ServiceChannel.OnClose(TimeSpan timeout)
at System.ServiceModel.Channels.CommunicationObject.Close(TimeSpan timeout)
at System.ServiceModel.Dispatcher.MessageRpc.CloseChannel()

Exception: SocketException
Message: An existing connection was forcibly closed by the remote host
Stack Trace: at System.ServiceModel.Channels.SocketConnection.ReadCore(Byte[] buffer, Int32 offset, Int32 size, TimeSpan timeout, Boolean closing)

* Clicking the Export -link for either of the above items at the log page results in yet another server error:

Server Error in '/' Application.
Compilation Error
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately.

Compiler Error Message: CS1061: 'Continua.Common.Services.DataTransferObjects.EventDTO' does not contain a definition for 'Importance' and no extension method 'Importance' accepting a first argument of type 'Continua.Common.Services.DataTransferObjects.EventDTO' could be found (are you missing a using directive or an assembly reference?)

Source Error:
Line 3: Layout = null;
Line 4: }
Line 5: Importance: @Model.Importance
Line 6:
Line 7: Date: @Model.Date.ToClientTime().ToLongDateString()

Source File: c:\Program Files\VSoft Technologies\ContinuaCI\Web\Areas\Administration\Views\Events\export.cshtml Line: 5

The issues related to licensing are caused by the license file you have up for downloading at the post with the download links.

 There is two issues with the license file

1) the file is not valid XML, there is partial tag at the end of the file

2) the license expired 2012-07-30

 

I'd hope that the system would handle invalid file inputs more gracefully.

Hi Olli

Thanks for the feedback. I checked the license file on the server and it was fine, however I did also see the corrupt and outdated file when downloading it here at home. Ctr+F5 on the file did get the full correct latest version of the file. The current file on the server expires on 14/09/2012.

I’ll get the other issues looked at first thing tomorrow. I tried reproducing the notifications issue but it worked fine.

Hi Olli,
The Notifications bug is strange, the value reported as being null is never null in our code so it must be a problem with the serialization of that value. I suspect the web server is holding onto stale data. It’s probably best for you to do an iis reset and try again. Regardless of the reason for the value being null, the web page should’ve handled a null value gracefully. I’ve added better error handling for that page and a few others like it so it should load properly now.

The license code has been changed to catch exceptions when a license file can’t be deserialized. The CommunicationException was a ripple effect of us not handling the original exception. I’ve added code to handle bad license files and you should now see an error popup in the toast bubble when the license can’t be deserialized rather than a wall of exceptions.

As for the export link, that was an obvious (silly) error in the code which has now been fixed.

The fixes for the problems you’ve reported will appear in the next build which we should be releasing some time today along with a bunch of other bug fixes.

Thanks for the bug report!


The Notifications bug is strange, the value reported as being null is never null in our code so it must be a problem with the serialization of that value. I suspect the web server is holding onto stale data. It's probably best for you to do an iis reset and try again. 

We tried to run IISReset, but it did not affect the notification issue, and it's still reproduced with two separate users.

 We are using LDAP authentication from company AD, in case that has any connection to the issue.

Hi Olli

We have reproduced the problem here, it’s a ProtoBuf serialization issue. Vinne is working on a fix, hopefully we should have a build with the fix available later today.