10

This is a C# web services project in Visual Studio that has existed for a number of years. Today it started throwing an exception upon startup within Visual Studio, but only when the debugger is attached.

The exception is:

System.StackOverflowException was unhandled
Message: An unhandled exception of type 'System.StackOverflowException' occurred in mscorlib.dll

This is Visual Studio 2013 Update 3.

Relevant section of stack trace:

System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.JsonDataContract.WriteJsonValue(System.Runtime.Serialization.XmlWriterDelegator jsonWriter, object obj, System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson context, System.RuntimeTypeHandle declaredTypeHandle)   Unknown
System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, System.RuntimeTypeHandle declaredTypeHandle) Unknown
System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerializeReference(System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, System.RuntimeTypeHandle declaredTypeHandle)    Unknown
[Lightweight Function]  
System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.JsonDataContract.WriteJsonValue(System.Runtime.Serialization.XmlWriterDelegator jsonWriter, object obj, System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson context, System.RuntimeTypeHandle declaredTypeHandle)   Unknown
System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeAndVerifyType(System.Runtime.Serialization.DataContract dataContract, System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, bool verifyKnownType, System.RuntimeTypeHandle declaredTypeHandle, System.Type declaredType)    Unknown
System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson.SerializeWithXsiType(System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, System.RuntimeTypeHandle objectTypeHandle, System.Type objectType, int declaredTypeID, System.RuntimeTypeHandle declaredTypeHandle, System.Type declaredType) Unknown
System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerialize(System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, System.RuntimeTypeHandle declaredTypeHandle) Unknown
System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializerWriteContext.InternalSerializeReference(System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, bool isDeclaredType, bool writeXsiType, int declaredTypeID, System.RuntimeTypeHandle declaredTypeHandle)    Unknown
[Lightweight Function]  
System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.JsonClassDataContract.WriteJsonValueCore(System.Runtime.Serialization.XmlWriterDelegator jsonWriter, object obj, System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson context, System.RuntimeTypeHandle declaredTypeHandle)  Unknown
System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.JsonDataContract.WriteJsonValue(System.Runtime.Serialization.XmlWriterDelegator jsonWriter, object obj, System.Runtime.Serialization.Json.XmlObjectSerializerWriteContextComplexJson context, System.RuntimeTypeHandle declaredTypeHandle)   Unknown
System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializerWriteContext.SerializeWithoutXsiType(System.Runtime.Serialization.DataContract dataContract, System.Runtime.Serialization.XmlWriterDelegator xmlWriter, object obj, System.RuntimeTypeHandle declaredTypeHandle)   Unknown
System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalWriteObjectContent(System.Runtime.Serialization.XmlWriterDelegator writer, object graph)  Unknown
System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.DataContractJsonSerializer.InternalWriteObject(System.Runtime.Serialization.XmlWriterDelegator writer, object graph) Unknown
System.Runtime.Serialization.dll!System.Runtime.Serialization.XmlObjectSerializer.WriteObjectHandleExceptions(System.Runtime.Serialization.XmlWriterDelegator writer, object graph, System.Runtime.Serialization.DataContractResolver dataContractResolver) Unknown
System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.DataContractJsonSerializer.WriteObject(System.Xml.XmlDictionaryWriter writer, object graph)  Unknown
System.Runtime.Serialization.dll!System.Runtime.Serialization.Json.DataContractJsonSerializer.WriteObject(System.IO.Stream stream, object graph)    Unknown
Microsoft.VisualStudio.Web.PageInspector.Runtime.dll!Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.JsonUtility.Serialize(object data, System.IO.Stream outputStream) Unknown
Microsoft.VisualStudio.Web.PageInspector.Runtime.dll!Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.RequestDataHttpHandler.System.Web.IHttpHandler.ProcessRequest(System.Web.HttpContext context) Unknown
System.Web.dll!System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()  Unknown
System.Web.dll!System.Web.HttpApplication.ExecuteStep(System.Web.HttpApplication.IExecutionStep step, ref bool completedSynchronously)  Unknown
System.Web.dll!System.Web.HttpApplication.PipelineStepManager.ResumeSteps(System.Exception error)   Unknown
System.Web.dll!System.Web.HttpApplication.BeginProcessRequestNotification(System.Web.HttpContext context, System.AsyncCallback cb)  Unknown
System.Web.dll!System.Web.HttpRuntime.ProcessRequestNotificationPrivate(System.Web.Hosting.IIS7WorkerRequest wr, System.Web.HttpContext context)    Unknown
System.Web.dll!System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(System.IntPtr rootedObjectsPointer, System.IntPtr nativeRequestContext, System.IntPtr moduleData, int flags) Unknown
System.Web.dll!System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(System.IntPtr rootedObjectsPointer, System.IntPtr nativeRequestContext, System.IntPtr moduleData, int flags)   Unknown
[Native to Managed Transition]  
[Managed to Native Transition]  
System.Web.dll!System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(System.IntPtr rootedObjectsPointer, System.IntPtr nativeRequestContext, System.IntPtr moduleData, int flags) Unknown
System.Web.dll!System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(System.IntPtr rootedObjectsPointer, System.IntPtr nativeRequestContext, System.IntPtr moduleData, int flags)   Unknown
[AppDomain Transition]  
redcalx
  • 8,177
  • 4
  • 56
  • 105

2 Answers2

16

The following entry added to the web.config prevents this problem:

<appSettings>
    <!--  Turn-off VS2013 BrowserLink feature which causes issues when Debugging -->
    <add key="vs:EnableBrowserLink" value="false" />
redcalx
  • 8,177
  • 4
  • 56
  • 105
  • 3
    Wow, I've been scratching my head over this for an hour trying to find where in the hell I have caused an infinite loop! The problem went away after disabling BrowserLink, thanks. BTW you can also disable it from the VS toolbar by clicking the little arrow beside "↺" – Saeb Amini Sep 23 '15 at 13:41
  • 3
    @Saeb: Adding it to the web.config makes sure that the issue is not encountered by others working on the same project. – misha Feb 25 '16 at 12:45
  • @redcalx : Awesome :) – Rahul Chowdhury Dec 01 '16 at 21:52
0

The answer by redcalx is correct.

This problem still exists in the 'latest' version of Visual Studio (2015). I ran into it and thought, might as wel try it because I am totally out of ideas.

Well, it worked, I am so grateful.

Version information: Microsoft Visual Studio Enterprise 2015 Version 14.0.25425.01 Update 3 Microsoft .NET Framework Version 4.6.01586

Installed Version: Enterprise Architecture and Modeling Tools 00322-80000-00000-AA466 Microsoft Architecture and Modeling Tools

Visual C# 2015 00322-80000-00000-AA466 Microsoft Visual C# 2015 ASP.NET and Web Tools 2015.1 (Beta8) 14.1.11107.0 ASP.NET and Web Tools 2015.1 (Beta8)

ASP.NET Web Frameworks and Tools 2012.2 4.1.41102.0

ASP.NET Web Frameworks and Tools 2013 5.2.40314.0

Kabwla-TwoLips
  • 101
  • 1
  • 6