Watch, Follow, &
Connect with Us

Please visit our new home
community.embarcadero.com.

Public Report
Report From: Delphi Prism/IDE/VS Integration    [ Add a report in this area ]  
Report #:  93556   Status: Open
Occasional hang/lockup when building web application solution
Project:  Embarcadero Prism Build #:  4.0.27.843
Version:    14.1 Submitted By:   Robert Ogren
Report Type:  Crash / Data loss / Total failure Date Reported:  5/4/2011 8:57:38 AM
Severity:    Commonly encountered problem Last Updated: 3/20/2012 2:24:39 AM
Platform:    64 Bit Internal Tracking #:   283194
Resolution: None (Resolution Comments) Resolved in Build: : None
Duplicate of:  None
Voting and Rating
Overall Rating: No Ratings Yet
0.00 out of 5
Total Votes: 28
Description
We have a solution developed in Delphi Prism that consists of two class libraries and a web application in one solution. Occasionally when starting a build, the Visual Studio IDE immediately freezes. It is necessary to kill it using Task Manager and restart it.

I am using Visual Studio 2010 Shell version 10.0.40219.1 SP1Rel and RemObjects Oxygene   4.0.27.843, running on .NET 4 on Windows Vista SP2 64-bit.

I attached to the Visual Studio process using another Visual Studio instance and checked the call stacks. It appears to be a deadlock between the "Main thread" and a thread named "Worker Thread", involving the class RemObjects.Oxygene.VisualStudio.Language.2010.dll!B.q


Main thread

[Managed to Native Transition]
>Microsoft.Build.dll!Microsoft.Build.Shared.ThreadingUtilities.WaitNoMessagePump(System.Threading.WaitHandle[] handles = {System.Threading.WaitHandle[2]}, System.TimeSpan timeout) + 0xda bytes
Microsoft.Build.dll!Microsoft.Build.BackEnd.RequestBuilder.WaitWithBuilderThreadStart(System.Threading.WaitHandle[] handles, bool recursive = false, Microsoft.Build.Execution.LegacyThreadingData threadingData = {Microsoft.Build.Execution.LegacyThreadingData}) + 0x7e bytes
Microsoft.Build.dll!Microsoft.Build.Execution.BuildSubmission.Execute() + 0x79 bytes
RemObjects.Oxygene.VisualStudio.ProjectBase.2010.dll!RemObjects.VisualStudio.Project.ProjectNode.InvokeMsBuild(string target) + 0x19e bytes
RemObjects.Oxygene.VisualStudio.Project.2010.dll!A.O.InvokeMsBuild(string A) + 0xf5 bytes
RemObjects.Oxygene.VisualStudio.ProjectBase.2010.dll!RemObjects.VisualStudio.Project.ProjectNode.Build(uint vsopts, RemObjects.VisualStudio.Project.ConfigPair config, Microsoft.VisualStudio.Shell.Interop.IVsOutputWindowPane output, string target, bool doLog) + 0xbb bytes
RemObjects.Oxygene.VisualStudio.ProjectBase.2010.dll!RemObjects.VisualStudio.Project.OutputGroup.Refresh() + 0x85 bytes
RemObjects.Oxygene.VisualStudio.ProjectBase.2010.dll!RemObjects.VisualStudio.Project.OutputGroup.get_KeyOutputObject(out Microsoft.VisualStudio.Shell.Interop.IVsOutput2 ppKeyOutput = null) + 0x19 bytes
[Native to Managed Transition]
[Managed to Native Transition]
Microsoft.VisualStudio.Web.Application.dll!Microsoft.VisualStudio.Web.Application.WAProject.Microsoft.VisualStudio.Shell.Interop.IVsUpdateSolutionEvents2.UpdateProjectCfg_Done(Microsoft.VisualStudio.Shell.Interop.IVsHierarchy pHierProj = {System.__ComObject}, Microsoft.VisualStudio.Shell.Interop.IVsCfg pCfgProj = {RemObjects.Oxygene.VisualStudio.OxygeneProject.OxygeneProjectConfig}, Microsoft.VisualStudio.Shell.Interop.IVsCfg pCfgSln = {System.__ComObject}, uint dwAction = 65536, int fSuccess = 1, int fCancel = 0) + 0x16d bytes
[Native to Managed Transition]
[Managed to Native Transition]
RemObjects.Oxygene.VisualStudio.ProjectBase.2010.dll!RemObjects.VisualStudio.Project.BuildableProjectConfig.NotifyBuildEnd(RemObjects.VisualStudio.Project.MSBuildResult result = Successful, string buildTarget = null) + 0x78 bytes
RemObjects.Oxygene.VisualStudio.ProjectBase.2010.dll!RemObjects.VisualStudio.Project.BuildableProjectConfig.Build.AnonymousMethod__0(RemObjects.VisualStudio.Project.MSBuildResult result, string buildTarget) + 0xa bytes
RemObjects.Oxygene.VisualStudio.ProjectBase.2010.dll!RemObjects.VisualStudio.Project.ProjectNode.DoMSBuildSubmission.AnonymousMethod__b() + 0x63 bytes
RemObjects.Oxygene.VisualStudio.ProjectBase.2010.dll!RemObjects.VisualStudio.Project.UIThread.Run.AnonymousMethod__0(object ignore) + 0x1b bytes
[Native to Managed Transition]
mscorlib.dll!System.Delegate.DynamicInvokeImpl(object[] args) + 0x77 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackDo(System.Windows.Forms.Control.ThreadMethodEntry tme) + 0xa7 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(object obj) + 0x69 bytes
mscorlib.dll!System.Threading.ExecutionContext.runTryCode(object userData) + 0x51 bytes
[Native to Managed Transition]
[Managed to Native Transition]
mscorlib.dll!System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x6a bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool ignoreSyncCtx) + 0x7e bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state) + 0x2c bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallback(System.Windows.Forms.Control.ThreadMethodEntry tme) + 0x95 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.InvokeMarshaledCallbacks() + 0x11f bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.WndProc(ref System.Windows.Forms.Message m) + 0x120 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.OnMessage(ref System.Windows.Forms.Message m) + 0x13 bytes
System.Windows.Forms.dll!System.Windows.Forms.Control.ControlNativeWindow.WndProc(ref System.Windows.Forms.Message m) + 0x31 bytes
System.Windows.Forms.dll!System.Windows.Forms.NativeWindow.DebuggableCallback(System.IntPtr hWnd, int msg = 49643, System.IntPtr wparam, System.IntPtr lparam) + 0x64 bytes
[Native to Managed Transition]
[Managed to Native Transition]
RemObjects.Oxygene.VisualStudio.Project.2010.dll!RemObjects.VisualStudio.Project.OxygeneBuildLogger.DoWaiting(b.F aCodeModel) + 0x14c bytes
RemObjects.Oxygene.VisualStudio.Language.2010.dll!B.q.A(System.Collections.Generic.Dictionary<a.R,b.F> A = Count = Cannot evaluate expression because a native frame is on top of the call stack.) + 0x146 bytes
RemObjects.Oxygene.VisualStudio.Language.2010.dll!B.q.a() + 0x2d bytes
RemObjects.Oxygene.VisualStudio.Language.2010.dll!B.b.FDoIdle(uint A = 4294967294) + 0x58 bytes
[Native to Managed Transition]

Thread named ”Worker Thread”

[In a sleep, wait, or join]
>mscorlib.dll!System.Threading.Monitor.Enter(object obj, ref bool lockTaken) + 0x14 bytes
RemObjects.Oxygene.VisualStudio.Language.2010.dll!B.q.A(a.R A = {RemObjects.VisualStudio.Project.OxygeneBuildLogger}, b.F a = null, bool B = true) + 0x66 bytes
RemObjects.Oxygene.VisualStudio.Project.2010.dll!RemObjects.VisualStudio.Project.OxygeneBuildLogger.BuildStartedHandler(object sender, Microsoft.Build.Framework.BuildStartedEventArgs buildEvent) + 0x37 bytes
Microsoft.VisualStudio.CommonIDE.dll!Microsoft.VisualStudio.CommonIDE.BuildManager.MuxLogger.SubmissionRecord.RaiseBuildStartedEvent(object sender = null, Microsoft.Build.Framework.BuildStartedEventArgs buildEvent = {Microsoft.Build.Framework.BuildStartedEventArgs}) + 0x74 bytes
Microsoft.VisualStudio.CommonIDE.dll!Microsoft.VisualStudio.CommonIDE.BuildManager.MuxLogger.SubmissionRecord.RaiseProjectStartedEvent(object sender = null, Microsoft.Build.Framework.ProjectStartedEventArgs buildEvent = {Microsoft.Build.Framework.ProjectStartedEventArgs}) + 0xf9 bytes
Microsoft.Build.dll!Microsoft.Build.BackEnd.Logging.EventSourceSink.RaiseProjectStartedEvent(object sender = null, Microsoft.Build.Framework.ProjectStartedEventArgs buildEvent = {Microsoft.Build.Framework.ProjectStartedEventArgs}) + 0x57 bytes
Microsoft.Build.dll!Microsoft.Build.BackEnd.Logging.EventSourceSink.Consume(Microsoft.Build.Framework.BuildEventArgs buildEvent) + 0x1c9 bytes
Microsoft.Build.dll!Microsoft.Build.BackEnd.Logging.EventSourceSink.Consume(Microsoft.Build.Framework.BuildEventArgs buildEvent, int sinkId) + 0x5 bytes
Microsoft.Build.dll!Microsoft.Build.BackEnd.Logging.EventRedirectorToSink.Microsoft.Build.Framework.IEventRedirector.ForwardEvent(Microsoft.Build.Framework.BuildEventArgs buildEvent) + 0x2c bytes
Microsoft.Build.dll!Microsoft.Build.BackEnd.Logging.CentralForwardingLogger.EventSource_AnyEventRaised(object sender, Microsoft.Build.Framework.BuildEventArgs buildEvent) + 0x17 bytes
Microsoft.Build.dll!Microsoft.Build.BackEnd.Logging.EventSourceSink.RaiseAnyEvent(object sender, Microsoft.Build.Framework.BuildEventArgs buildEvent = {Microsoft.Build.Framework.ProjectStartedEventArgs}) + 0x37 bytes
Microsoft.Build.dll!Microsoft.Build.BackEnd.Logging.EventSourceSink.RaiseStatusEvent(object sender, Microsoft.Build.Framework.BuildStatusEventArgs buildEvent) + 0x39 bytes
Microsoft.Build.dll!Microsoft.Build.BackEnd.Logging.EventSourceSink.RaiseProjectStartedEvent(object sender, Microsoft.Build.Framework.ProjectStartedEventArgs buildEvent) + 0x39 bytes
Microsoft.Build.dll!Microsoft.Build.BackEnd.Logging.EventSourceSink.Consume(Microsoft.Build.Framework.BuildEventArgs buildEvent) + 0x1c9 bytes
Microsoft.Build.dll!Microsoft.Build.BackEnd.Logging.LoggingService.RouteBuildEvent(Microsoft.Build.Framework.BuildEventArgs eventArg = {Microsoft.Build.Framework.ProjectStartedEventArgs}) + 0x49 bytes
Microsoft.Build.dll!Microsoft.Build.BackEnd.Logging.LoggingService.RouteBuildEvent(object loggingEvent) + 0x42 bytes
Microsoft.Build.dll!Microsoft.Build.BackEnd.Logging.LoggingService.LoggingEventThreadLoop(object state) + 0xa9 bytes
mscorlib.dll!System.Threading.QueueUserWorkItemCallback.WaitCallback_Context(object state) + 0x2d bytes
mscorlib.dll!System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, object state, bool ignoreSyncCtx) + 0xb0 bytes
mscorlib.dll!System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() + 0x5a bytes
mscorlib.dll!System.Threading.ThreadPoolWorkQueue.Dispatch() + 0x147 bytes
mscorlib.dll!System.Threading._ThreadPoolWaitCallback.PerformWaitCallback() + 0x2d bytes
[Native to Managed Transition]
Steps to Reproduce:
None
Workarounds
None
Attachment
None
Comments

None

Server Response from: ETNACODE01