April 2016 release of SSDT crashes VS 2015 when using Data Comparison when comparing tables using Always Encrypted - sql-server-2016

I have two Always Encrypted enabled databases using Azure Key Vault for the keys. One is in Azure and the other one is local. When I try to use Data Comparison it crashes Visual Studio and VS restarts. It does not crash when the database did not have any AE enabled tables. I have tried it with and without “Column Encryption Setting=enabled”. I use Data Comparison to pull our databases down from Azure and test from my local database. I’m using the April 2016 version.
Thanks in advance for any advice!
The Event Viewer reports:
Log Name: Application
Source: .NET Runtime
Date: 5/5/2016 5:56:26 PM
Event ID: 1026
Task Category: None
Level: Error
Keywords: Classic
User: N/A
Computer: DESKTOP-64U74F2
Description:
Application: devenv.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.InvalidCastException
at System.Data.SqlClient.SqlBuffer.get_SqlString()
at System.Data.SqlClient.SqlDataReader.GetSqlString(Int32)
at Microsoft.Data.Tools.Schema.Utilities.Sql.Compare.Data.SqlTableReader.get_CurrentRow()
at Microsoft.Data.Tools.Schema.Utilities.Sql.Compare.Data.ComparisonSession.CompareTable(Microsoft.Data.Tools.Schema.Utilities.Sql.Compare.Data.ITableReader, Microsoft.Data.Tools.Schema.Utilities.Sql.Compare.Data.ITableReader, Microsoft.Data.Tools.Schema.Utilities.Sql.Compare.Data.TableComparisonSetting, Int64, Int64 ByRef, Microsoft.Data.Tools.Schema.Utilities.Sql.Compare.Data.SessionSettings)
at Microsoft.Data.Tools.Schema.Utilities.Sql.Compare.Data.ComparisonSession.CompareDatabases(Microsoft.Data.Tools.Schema.Utilities.Sql.Compare.Data.Database, Microsoft.Data.Tools.Schema.Utilities.Sql.Compare.Data.Database, Microsoft.Data.Tools.Schema.Utilities.Sql.Compare.Data.TableComparisonSettings, Microsoft.Data.Tools.Schema.Utilities.Sql.Compare.Data.SessionSettings)
at Microsoft.VisualStudio.Data.Tools.DataCompare.UI.Editors.DataCompareDataPopulationJob.Run()
at Microsoft.Data.Tools.Schema.Utilities.Sql.Common.Threading2.JobManager+JobBase.<Microsoft.Data.Tools.Schema.Utilities.Sql.Common.Threading2.JobManager.IManageableJob.RunImpl>b__22_0(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at Microsoft.Data.Tools.Schema.Utilities.Sql.Common.Threading2.JobManager+JobBase.Microsoft.Data.Tools.Schema.Utilities.Sql.Common.Threading2.JobManager.IManageableJob.RunImpl(System.Object)
at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()

A workaround is to uncheck the encrypted column, which should allow the comparison to complete without this crash happening. We (the SSDT team) are working on a more elegant solution.

Related

Blueprism resource pc gets killed automatically during Java Automation

I have a automation done in blue prism whice is scheduled to run every 15 minutes. With lighter loads it completes within about 10 minutes. But depending on the work load sometimes a single run might take few hours. The issue is, when such a long run is encountered, the resource pc gets itself killed during the automation after few hours. It doesn't even wait for the completion of that run.
How can I stop the resource pc shutdown? Is there a maximum time limit in blue prism where it expects a single run should last and if not completed it kills the resource pc? If so how can I increase it?
Edit:
After analyzing bit more I found out that the Blue Prism resource PC crashes during my automation run. Seems like a problem between Blue Prism and Java access bridge. Following are the exception details from Windows event log. Is there a way to prevent this crash and continue to run my automation?
Application: Automate.exe Framework Version: v4.0.30319 Description:
The process was terminated due to an unhandled exception. Exception
Info: System.AccessViolationException at
BluePrism.ApplicationManager.JAB.WAB32.getAccessibleContextFromHWND(Int32,
Int32 ByRef, Int64 ByRef) at
BluePrism.ApplicationManager.JAB.WAB.getAccessibleContextFromHWND(Int32,
Int32 ByRef, Int64 ByRef) at
BluePrism.ApplicationManager.JAB.JABWrapper.GetContextFromWindow(Int32)
at
BluePrism.ApplicationManager.clsUIModel.GetJABObjects(BluePrism.ApplicationManager.ApplicationManagerUtilities.clsQuery,
BluePrism.ApplicationManager.JAB.JABWrapper, Int32) at
BluePrism.ApplicationManager.clsUIModel.GetJABObject(BluePrism.ApplicationManager.ApplicationManagerUtilities.clsQuery,
BluePrism.ApplicationManager.JAB.JABWrapper) at
BluePrism.ApplicationManager.clsLocalTargetApp.ProcessCommand_JABCheckExists(BluePrism.ApplicationManager.ApplicationManagerUtilities.clsQuery)
Exception Info: System.Reflection.TargetInvocationException at
System.RuntimeMethodHandle.InvokeMethod(System.Object,
System.Object[], System.Signature, Boolean) at
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object,
System.Object[], System.Object[]) at
System.Reflection.RuntimeMethodInfo.Invoke(System.Object,
System.Reflection.BindingFlags, System.Reflection.Binder,
System.Object[], System.Globalization.CultureInfo) at
BluePrism.ApplicationManager.clsLocalTargetApp.ExecuteQuery(BluePrism.ApplicationManager.ApplicationManagerUtilities.clsQuery)
at
BluePrism.ApplicationManager.clsLocalTargetApp.ProcessCommand_Wait(BluePrism.ApplicationManager.ApplicationManagerUtilities.clsQuery)
Exception Info: System.Reflection.TargetInvocationException at
System.RuntimeMethodHandle.InvokeMethod(System.Object,
System.Object[], System.Signature, Boolean) at
System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(System.Object,
System.Object[], System.Object[]) at
System.Reflection.RuntimeMethodInfo.Invoke(System.Object,
System.Reflection.BindingFlags, System.Reflection.Binder,
System.Object[], System.Globalization.CultureInfo) at
BluePrism.ApplicationManager.clsLocalTargetApp.ExecuteQuery(BluePrism.ApplicationManager.ApplicationManagerUtilities.clsQuery)
at
BluePrism.ApplicationManager.clsLocalTargetApp.ProcessQuery(System.String,
System.TimeSpan) at
BluePrism.ApplicationManager.clsLocalTargetApp.ProcessQuery(System.String)
at
BluePrism.AMI.clsAMI.DoWait(System.Collections.Generic.List`1,
Int32, clsAMIMessage ByRef) at
BluePrism.AutomateProcessCore.Stages.clsWaitStartStage.Execute(System.Guid
ByRef) at
BluePrism.AutomateProcessCore.clsProcess.RunStep(BluePrism.AutomateProcessCore.clsProcessBreakpointInfo
ByRef, Boolean) at
BluePrism.AutomateProcessCore.clsProcess.RunAction(RunActions,
BluePrism.AutomateProcessCore.clsProcessBreakpointInfo ByRef, Boolean)
at BluePrism.AutomateProcessCore.clsVBO.DoDoAction(System.String,
BluePrism.AutomateProcessCore.clsProcessStage,
BluePrism.AutomateProcessCore.clsArgumentList,
BluePrism.AutomateProcessCore.clsArgumentList ByRef) at
BluePrism.AutomateProcessCore.clsBusinessObject.DoAction(System.String,
BluePrism.AutomateProcessCore.clsProcessStage,
BluePrism.AutomateProcessCore.clsArgumentList,
BluePrism.AutomateProcessCore.clsArgumentList ByRef) at
BluePrism.AutomateProcessCore.Stages.clsActionStage.Execute(System.Guid
ByRef) at
BluePrism.AutomateProcessCore.clsProcess.RunStep(BluePrism.AutomateProcessCore.clsProcessBreakpointInfo
ByRef, Boolean) at
BluePrism.AutomateProcessCore.clsProcess.RunAction(RunActions,
BluePrism.AutomateProcessCore.clsProcessBreakpointInfo ByRef, Boolean)
at BluePrism.AutomateProcessCore.clsProcess.RunAction(RunActions)
at BluePrism.AutomateAppCore.RunnerRecord.RunnerMethod() at
System.Threading.ThreadHelper.ThreadStart_Context(System.Object) at
System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext,
System.Threading.ContextCallback, System.Object, Boolean) at
System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,
System.Threading.ContextCallback, System.Object, Boolean) at
System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext,
System.Threading.ContextCallback, System.Object) at
System.Threading.ThreadHelper.ThreadStart()
The resource PC would likely crash when it encounters an unhandled exception. Have a Recover & Resume block in your master process and on Resume, log an error message with the exception details and continue on with the next run.
While this will prevent the crash, you will still have to analyse your java app and the BP java access bridge to identify the root cause. You may want to reach out the BP Support team if you are unable to.

Replicator failure in service exiting with FailFast

We are experiencing a specific statefull service that is unable to fully "go green", the partitions keep reshuffling and we are not seeing any indications of the errors in our own logs. After lots of digging we found something suspicious in the EventLogs on one of the WMs (pasted below)
Application: (hidden).exe
Framework Version: v4.0.30319
Description: The application requested process termination through System.Environment.FailFast(string message).
Message: ((copyMode & CopyMode.FalseProgress) == 0) || (sourceStartingLsn < targetStartingLsn). Source starting lsn : 2018, target starting lsn :2018
Stack:
at System.Environment.FailFast(System.String)
at Microsoft.ServiceFabric.Replicator.Utility.CodingError(System.String, System.Object[])
at Microsoft.ServiceFabric.Replicator.Utility.Assert(Boolean, System.String, ...)
at Microsoft.ServiceFabric.Replicator.LoggingReplicator.GetLogRecordsToCopy(Microsoft.ServiceFabric.Replicator.ProgressVector, System.Fabric.Epoch, Microsoft.ServiceFabric.Replicator.LogicalSequenceNumber, Microsoft.ServiceFabric.Replicator.LogicalSequenceNumber, Int64, Int64, Microsoft.ServiceFabric.Replicator.LogicalSequenceNumber ByRef, Microsoft.ServiceFabric.Replicator.LogicalSequenceNumber ByRef, Microsoft.ServiceFabric.Data.IAsyncEnumerator'1 ByRef, Microsoft.ServiceFabric.Replicator.BeginCheckpointLogRecord ByRef)
at Microsoft.ServiceFabric.Replicator.LoggingReplicatorCopyStream+d__3.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[[Microsoft.ServiceFabric.Replicator.LoggingReplicatorCopyStream+d__3, Microsoft.ServiceFabric.Data.Impl, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]](d__3 ByRef)
at Microsoft.ServiceFabric.Replicator.LoggingReplicatorCopyStream.GetNextAsync(System.Threading.CancellationToken)
at System.Fabric.StateProviderBroker+AsyncEnumerateOperationDataBroker.b__8(System.Threading.CancellationToken)
at System.Fabric.Interop.Utility.WrapNativeAsyncMethodImplementation(System.Func`2, IFabricAsyncOperationCallback, System.String, System.Fabric.Interop.InteropApi)
We are not sure what to make of this. Seems related to state replication but we don't think we've changed anything related to the state of the service. Since the service is exiting with FailFast, we don't get a chance to do anything in our code to remedy this so we are basically stuck in this loop right now (luckily on a non-Live environment but still...)
Does anyone have any idea what this is related to specifically and how we can recover the service and the data?

System.Net.HttpListenerException: Failed to listen on prefix 'xxxx' because it conflicts with an existing registration on the machine

Whenever deploy our component we were receiving the following exception. Sometimes the component itself won’t start, sometimes the Service Console might say started but the service wont process any message.
The error is pretty straightforward. There is a another HttpListener still listening to the prefix.
NServiceBus.Hosting.GenericHost System.Exception: Failed to start listener for http://localhost/products/ make sure that you have admin priviliges ---> System.Net.HttpListenerException: Failed to listen on prefix 'http://localhost:80/products/' because it conflicts with an existing registration on the machine.
at System.Net.HttpListener.AddAllPrefixes()
at System.Net.HttpListener.Start()
at NServiceBus.Gateway.Channels.Http.HttpChannelReceiver.Start(String address, Int32 numWorkerThreads) in c:\BuildAgent\work\nsb.master_6\src\gateway\NServiceBus.Gateway\Channels\Http\HttpChannelReceiver.cs:line 30
--- End of inner exception stack trace ---
at NServiceBus.Gateway.Channels.Http.HttpChannelReceiver.Start(String address, Int32 numWorkerThreads) in c:\BuildAgent\work\nsb.master_6\src\gateway\NServiceBus.Gateway\Channels\Http\HttpChannelReceiver.cs:line 37
at NServiceBus.Gateway.Receiving.GatewayReceiver.Start(Address localAddress) in c:\BuildAgent\work\nsb.master_6\src\gateway\NServiceBus.Gateway\Receiving\GatewayReceiver.cs:line 38
at System.Collections.Generic.List`1.ForEach(Action`1 action)
at NServiceBus.Unicast.UnicastBus.NServiceBus.IStartableBus.Start(Action startupAction) in c:\BuildAgent\work\nsb.master_6\src\unicast\NServiceBus.Unicast\UnicastBus.cs:line 867
at NServiceBus.Hosting.GenericHost.Start() in c:\BuildAgent\work\nsb.master_6\src\hosting\NServiceBus.Hosting\GenericHost.cs:line 34
When we perform the deep analysis.
This issue is only happening when you run the NServiceBus.Master
Profile
This issue is only happening whenever your perform service restart from Service Console
There is no matter how many WorkerThreads you run
It puzzled us, when we read the NSB code much deeper, we found that HttpListener is closed during the object Dispose. Addition to this, when you stop the service the entire Process itself killed, so there will not be any object living on the machine to listen to the given URL prefix. BUT, we were wrong. When we analyze much closure, we found that the NServinceBus.Host process is still running even after Service-Console considered the service was stopped. Whenever we stop the Service on Service Console, the Process is still active on the machine & it took quite longer to shutdown completely. So, when we perform restart, there is a chance that there is a more than one instance of process for current service – one is trying to start another one is still trying to stop. We confirmed that the restart process throw the above exception.
We took the dump of the process which was shutting down. We found that, there are background threads still active on the process though the Service Console showing the status as stopped. There are lot of locks/ObjWait during the Dispose. For sure the stopped service is not yet closed the HttpListener object.
Child SP IP Call Site
000000001f19e048 00000000778818ca [GCFrame: 000000001f19e048]
000000001f19e118 00000000778818ca [HelperMethodFrame_1OBJ: 000000001f19e118] System.Threading.Monitor.ObjWait(Boolean, Int32, System.Object)
000000001f19e230 000007fe99d57ccb System.Transactions.CommittableTransaction.Commit()
000000001f19e2d0 000007fe99d577df System.Transactions.TransactionScope.InternalDispose()
000000001f19e3c0 000007fe99d56f1c System.Transactions.TransactionScope.Dispose()
000000001f19e590 000007fe99c4a3b5 NServiceBus.Utils.TransactionWrapper.RunInTransaction(System.Action, System.Transactions.IsolationLevel, System.TimeSpan)
000000001f19e610 000007fe99c45b2b NServiceBus.Unicast.Transport.Transactional.TransactionalTransport.Process()
000000001f19e680 000007fe99c455cb NServiceBus.Utils.WorkerThread.Loop()
000000001f19e6d0 000007fef6fdf8a5 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
000000001f19e830 000007fef6fdf609 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
000000001f19e860 000007fef6fdf5c7 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
000000001f19e8b0 000007fef6ff2d21 System.Threading.ThreadHelper.ThreadStart()
000000001f19ebc8 000007fef81cf713 [GCFrame: 000000001f19ebc8]
000000001f19eef8 000007fef81cf713 [DebuggerU2MCatchHandlerFrame: 000000001f19eef8]
000000001f19f0d8 000007fef81cf713 [ContextTransitionFrame: 000000001f19f0d8]
000000001f19f2c8 000007fef81cf713 [DebuggerU2MCatchHandlerFrame: 000000001f19f2c8]
We found that, the HttpListener was active & listening.
Child SP IP Call Site
000000002038e2f8 000000007788135a [InlinedCallFrame: 000000002038e2f8] System.Net.UnsafeNclNativeMethods+HttpApi.HttpReceiveHttpRequest(System.Runtime.InteropServices.CriticalHandle, UInt64, UInt32, HTTP_REQUEST*, UInt32, UInt32*, System.Threading.NativeOverlapped*)
000000002038e2f8 000007fe99c6a2f8 [InlinedCallFrame: 000000002038e2f8] System.Net.UnsafeNclNativeMethods+HttpApi.HttpReceiveHttpRequest(System.Runtime.InteropServices.CriticalHandle, UInt64, UInt32, HTTP_REQUEST*, UInt32, UInt32*, System.Threading.NativeOverlapped*)
000000002038e2b0 000007fe99c6a2f8 DomainBoundILStubClass.IL_STUB_PInvoke(System.Runtime.InteropServices.CriticalHandle, UInt64, UInt32, HTTP_REQUEST*, UInt32, UInt32*, System.Threading.NativeOverlapped*)
000000002038e3b0 000007fe99c697a4 System.Net.HttpListener.GetContext()
000000002038e4d0 000007fe99c6924f NServiceBus.Gateway.Channels.Http.HttpChannelReceiver.HttpServer()
000000002038e530 000007fef6fdf8a5 System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
000000002038e690 000007fef6fdf609 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
000000002038e6c0 000007fef6fdf5c7 System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
000000002038e710 000007fef6ff2d21 System.Threading.ThreadHelper.ThreadStart()
000000002038ea28 000007fef81cf713 [GCFrame: 000000002038ea28]
000000002038ed58 000007fef81cf713 [DebuggerU2MCatchHandlerFrame: 000000002038ed58]
000000002038ef38 000007fef81cf713 [ContextTransitionFrame: 000000002038ef38]
000000002038f128 000007fef81cf713 [DebuggerU2MCatchHandlerFrame: 000000002038f128]
Question:
Why the Service Console reports the service is stopped, even though the process is still active on the machine
NOTE: To reproduce this issue, you have to install your host as Windows Service using NServiceBus.Master profile and try to restart the service, you may need more attempts to get this issue.
Update:
When I read NSB code, on HttpChannelReceiver.Start(), its starting the Listener on the new Thread.
This listener thread is Foreground thread. (all other worker threads are BG thread)
No stop signal goes to this Foreground thread
There is no variable/fields holding the reference of this Thread - aborts are not possible.
This listener thread only reclaimed when ServiceHost kills the memory of current process, until ServicHost collects it, this thread will be blocked from exiting the current process.
This should already be fixed in v4, see https://github.com/NServiceBus/NServiceBus/blob/4.0.0/src/NServiceBus.Core/Gateway/Channels/Http/HttpChannelReceiver.cs#L41

Lucene.net - Crashes during indexing

My indexer, using Lucene, seems to crash during indexing operations after writing an index file approximately 16GB in size.
The stack trace written to the console is repeated three times for reasons I don't know. For brevity I've only supplied the single part that's repeated. Here's the stack trace as written to the conolse by Lucene:
Lucene.Net.Index.MergePolicy+MergeException: Exception of type 'Lucene.Net.Index.MergePolicy+MergeException' was thrown. --->
System.IO.FileNotFoundException: Could not find file 'PATH_TO_MY_INDEX_DIRECTORY\_xx.cfs'.
File name: 'PATH_TO_MY_INDEX_DIRECTORY\_xx.cfs'
at Lucene.Net.Index.IndexWriter.HandleMergeException(Exception t, OneMerge merge)
at Lucene.Net.Index.IndexWriter.Merge(OneMerge merge)
at Lucene.Net.Index.ConcurrentMergeScheduler.MergeThread.Run()
--- End of inner exception stack trace ---
at Lucene.Net.Index.ConcurrentMergeScheduler.HandleMergeException(Exception exc)
at Lucene.Net.Index.ConcurrentMergeScheduler.MergeThread.Run()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
When I open the generated log with the Java edition of Luke the index is deleted (presumably because it's corrupted, the "write.lock" file remains, for example), though this could be a bug or misconfiguration of Luke.
Creating this index takes approximately 36 hours and I'm not keen on having to do it again for the third time (this isn't the first time it's happened).
I have no idea what's causing this. What can I do?
I'm using Lucene.net 2.9.2 because it's the last version that was built for .NET 3.5.
I realised that this was caused by writing too much to the index without calling Commit. I modiifed my code to call Commit after writing about 10MB of data. I haven't had the exception since - and when it does crash it means I don't need to rebuild the entire 36GB index, just the last 10MB.
It took awhile to find, but this turned out (in my case) to be caused by the local hard disk being full. A more useful exception message would have been helpful.
Right, VERY late to the party but I had the same issue as part of this exception:
Exception Info: Lucene.Net.Index.CorruptIndexException
at Lucene.Net.Index.IndexWriter.HandleMergeException(System.Exception,
OneMerge)
at Lucene.Net.Index.IndexWriter.Merge(OneMerge)
at Lucene.Net.Index.ConcurrentMergeScheduler+MergeThread.Run()
Exception Info: Lucene.Net.Index.MergePolicy+MergeException
at Lucene.Net.Index.ConcurrentMergeScheduler.HandleMergeException(System.Exception)
at Lucene.Net.Index.ConcurrentMergeScheduler+MergeThread.Run()
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
at System.Threading.ThreadHelper.ThreadStart()
I resolved this by deleting all the indexes and rebuilding them.

w3wp.exe crash - ThreadAbortException

we have a problem that we can't reproduce, it happens randomly on our web server (Windows Server 2008 Datacenter 64-bit, hosted on Amazon EC2) running ASP.NET 4.
It starts with a ASP.NET warning in the error log (a strange GET request with a really long URL):
Exception information:
Exception type: HttpException
Exception message: The length of the URL for this request exceeds the configured maxUrlLength value.
at System.Web.HttpRequest.ValidateInputIfRequiredByConfig()
at System.Web.HttpApplication.PipelineStepManager.ValidateHelper(HttpContext context)
Then an error:
Application ID: /LM/W3SVC/2/ROOT
Process ID: 4604
Exception: System.Threading.ThreadAbortException
Message: Thread was being aborted.
StackTrace: at System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotificationHelper(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
at System.Web.Hosting.PipelineRuntime.ProcessRequestNotification(IntPtr managedHttpContext, IntPtr nativeRequestContext, IntPtr moduleData, Int32 flags)
Then another error:
Application ID: DefaultDomain
Process ID: 4604
Exception: System.Threading.ThreadAbortException
Message: Thread was being aborted.
StackTrace:
And then the application error:
Faulting application w3wp.exe, version 7.0.6002.18005, time stamp 0x49e03238, faulting module kernel32.dll, version 6.0.6002.18005, time stamp 0x49e041d1, exception code 0xe0434352, fault offset 0x00000000000176fd, process id 0x%9, application start time 0x%10.
Windbg
I managed to get a dump for a crash with adplus, but I really don't know what to look for. I've troubleshooted some stackoverflows with Windbg before, but I don't know which approach to use for this error.
!pe on the thread with the error:
Exception object: 00000001c323d948
Exception type: System.Threading.ThreadAbortException
Message: Thread was being aborted.
InnerException:
StackTrace (generated):
StackTraceString:
HResult: 80131530
!clrstack
Child SP IP Call Site
0000000015f7f078 0000000076c176fd [GCFrame: 0000000015f7f078]
0000000015f7f258 0000000076c176fd [GCFrame: 0000000015f7f258]
k
Child-SP RetAddr Call Site
0000000015f7edf0 000007fef2826e39 kernel32!RaiseException+0x39
0000000015f7eec0 000007fef2bbbfb4 clr!RaiseTheExceptionInternalOnly+0x363
0000000015f7eff0 000007fef2bbc906 clr!RaiseTheException+0xa4
0000000015f7f020 000007fef2c3b99b clr!BStrFromString+0x66
0000000015f7f050 000007fef2c3b9a9 clr!RealCOMPlusThrow+0x3b
0000000015f7f0c0 000007fef2c93156 clr!RealCOMPlusThrow+0x9
0000000015f7f0f0 000007fef2b229f3 clr!Thread::RaiseCrossContextException+0x2a7
0000000015f7f310 000007fef2830886 clr! ?? ::FNODOBFM::string'+0xafb03
0000000015f7f4c0 000007fef27fcce3 clr!UM2MDoADCallBack+0x9e
0000000015f7f530 000007fef845ba59 clr!UMThunkStubAMD64+0x273
0000000015f7f5c0 000007fef8458f02 webengine4!W3_MGD_HANDLER::ProcessNotification+0x79
0000000015f7f5f0 000007fef27d4595 webengine4!ProcessNotificationCallback+0x43
0000000015f7f620 000007fef27d3ac8 clr!UnManagedPerAppDomainTPCount::DispatchWorkItem+0x181
0000000015f7f6d0 000007fef294658f clr!ThreadpoolMgr::NewWorkerThreadStart+0x2e5
0000000015f7f770 000007fef29447c6 clr!ThreadpoolMgr::WorkerThreadStart+0x3b
0000000015f7f810 0000000076c1be3d clr!Thread::intermediateThreadProc+0x7d
0000000015f7fbd0 0000000076d56a51 kernel32!BaseThreadInitThunk+0xd
0000000015f7fc00 00000000`00000000 ntdll!RtlUserThreadStart+0x1d
Anybody have a clue what this could be? Or can point me in the right direction for analyzing it with Windbg?
Edit:
The incoming urls usually looks like this:
foo.bar.com/wEPDwULLTE1MTk5MzIzMTFkGAMFFmN0bDAwJGRiMSRkZGxEYXRhYmFzZXMPFCsAAmRkZAU7Y3RsMDAkU2VhcmNoQ2xvdWQxJF9SaWdodENvbHVtbiRfU2VhcmNoQ2xvdWQkbHN2U2VhcmNoVGVybXMPFCsADmRkZGRkZGQ8KwAUAAIUZGRkZgL/D2QFK2N0bDAwJHN1cnZleTEkX1JpZ2h0Q29sdW1uJF9JUiR1c2VyQ29tbWVudHMPFCsAA2VnZGQeuUcvQDsShDIp1k7YjJw70Ry 9/Q1B9Sd1egrovYgkw==/
but I found in the event log that this happen for this urls like this aswell:
foo.bar.com/&
("dangerous request" in .NET 4)
You should at least load symbols and then see the correct strings displayed in call stack.
If you are not capable of handling such analysis, I think opening a support case via http://support.microsoft.com is good for you.
I have been trying to work out a similar issue.
I found this article which purports a process for determining the cause, I think it actually makes sense:
http://blogs.msdn.com/b/asiatech/archive/2012/06/21/how-to-troubleshoot-httpexception-request-timed-out-asp-net-4-0-64-bit.aspx
Caveat: I have not been able to sucessfully complete the steps described. I will be posting here asking for help.