History | Log In     View a printable version of the current page.  
Issue Details (XML | Word | Printable)

Key: DTRC-653
Type: Exception Exception
Status: Closed Closed
Resolution: Won't Fix
Priority: Normal Normal
Assignee: Mikhail Pilin
Reporter: Corey Kosak
Votes: 0
Watchers: 0
Operations

If you were logged in you would be able to see more operations.
dotTrace

Exception of type 'System.OutOfMemoryException' was thrown.

Created: 06 Aug 07 23:47   Updated: 17 Dec 07 18:46
Component/s: None
Affects Version/s: None
Fix Version/s: 3.1

Original Estimate: Unknown Remaining Estimate: Unknown Time Spent: Unknown
File Attachments: None
Image Attachments:

1. screenshot-1.jpg
(86 kb)
Issue Links:
Depend
This issue depends on:
DTRC-689 UI should support 64-bit mode. Normal Open
 

Build: 305


 Description  « Hide
I am trying to do memory profiling on a .NET application. While profiling, I am watching its memory usage on the Windows Task Manager (which I realize is only an approximation). The Task Manager shows my program (Workbench.exe) using about 1G of memory. When I run dotTrace, it itself uses about an additional 1G of memory. Then it gets this OutOfMemoryException.

This is on an x64 machine with 16G of physical RAM. I have confirmed that I have installed the x64 version of dotTrace (I just reinstalled it to be sure).

It seems strange to me that I would run out of memory so soon. Another clue is that the task manager seems to think that dotTrace is a 32-bit application (shown by the entry in the task manager: JetBrains.dotTrace.exe *32).

Is there a reason this should be so? Perhaps I am making some basic configuration error.
Build305
JetBrains.ReSharper.Util.InternalErrorException: Exception of type 'System.OutOfMemoryException' was thrown.
An exception has occurred ---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at JetBrains.dotTrace.Utils.BitArray..ctor(Int32 count) in C:\Agent\work\Server\dotTrace-Main\src\Utils\src\DataStructures\BitArray.cs:line 21
at JetBrains.dotTrace.SnapShot.Memory.ClassTree.Builds.RecursiveCollectActive(IGraph graph, ITree tree, Handle root) in C:\Agent\work\Server\dotTrace-Main\src\SnapShot.Memory\src\ClassTree\Builds.cs:line 411
at JetBrains.dotTrace.ViewControls.Memory.ClassTreeView.Aliases.GetNodesByAlias(Handle node) in C:\Agent\work\Server\dotTrace-Main\src\ViewControls.Memory\src\ClassTreeView\Aliases.cs:line 28
at JetBrains.dotTrace.ViewControls.Memory.ClassTreeView.View.GetHeld(AbstractTreeNode node) in C:\Agent\work\Server\dotTrace-Main\src\ViewControls.Memory\src\ClassTreeView\View.cs:line 372
at JetBrains.dotTrace.ViewControls.Memory.ClassTreeView.TreePresenter.UpdateNode(IAbstractTreeNode n, Object o) in C:\Agent\work\Server\dotTrace-Main\src\ViewControls.Memory\src\ClassTreeView\TreePresenter.cs:line 104
at JetBrains.dotTrace.TreeViewControl.Support.TreePresenterWithEvents.UpdateNode(IAbstractTreeNode n, Object o) in C:\Agent\work\Server\dotTrace-Main\src\TreeViewControl\src\Support\TreePresenterWithEvents.cs:line 39
at JetBrains.ReSharper.UI.AbstractTreeBuilder.AbstractTreeBuilder.InitializeNewNode(IAbstractTreeNode node, Object item) in c:\Agent\work\Server\ReSharper2.0\src\AbstractTreeBuilder\src\AbstractTreeBuilder.cs:line 323
at JetBrains.ReSharper.UI.AbstractTreeBuilder.AbstractTreeBuilder.UpdateChildren(IAbstractTreeNode parentNode) in c:\Agent\work\Server\ReSharper2.0\src\AbstractTreeBuilder\src\AbstractTreeBuilder.cs:line 275
at JetBrains.ReSharper.UI.AbstractTreeBuilder.AbstractTreeBuilder.MyTreeControl_OnExpandedChanged(IAbstractTreeControl treeControl, IAbstractTreeNode node) in c:\Agent\work\Server\ReSharper2.0\src\AbstractTreeBuilder\src\AbstractTreeBuilder.cs:line 169
at JetBrains.dotTrace.TreeViewControl.TreeControl.NodeExpandedChanged(AbstractTreeNode node) in C:\Agent\work\Server\dotTrace-Main\src\TreeViewControl\src\TreeControl\TreeControl.cs:line 584
at JetBrains.dotTrace.TreeViewControl.AbstractTreeNode.set_Expanded(Boolean value) in C:\Agent\work\Server\dotTrace-Main\src\TreeViewControl\src\TreeControl\AbstractTreeNode.cs:line 118
at JetBrains.ReSharper.UI.AbstractTreeBuilder.AbstractTreeBuilder.UpdateChildren(IAbstractTreeNode parentNode) in c:\Agent\work\Server\ReSharper2.0\src\AbstractTreeBuilder\src\AbstractTreeBuilder.cs:line 241
at JetBrains.ReSharper.UI.AbstractTreeBuilder.AbstractTreeBuilder.UpdateSubtree(IAbstractTreeNode rootNode, Object rootItem) in c:\Agent\work\Server\ReSharper2.0\src\AbstractTreeBuilder\src\AbstractTreeBuilder.cs:line 97
at JetBrains.ReSharper.UI.AbstractTreeBuilder.AbstractTreeBuilder.UpdateAll() in c:\Agent\work\Server\ReSharper2.0\src\AbstractTreeBuilder\src\AbstractTreeBuilder.cs:line 88
at JetBrains.dotTrace.ViewControls.Memory.ClassTreeView.View.View_HandleCreated(Object sender, EventArgs e) in C:\Agent\work\Server\dotTrace-Main\src\ViewControls.Memory\src\ClassTreeView\View.cs:line 140
at System.Windows.Forms.Control.OnHandleCreated(EventArgs e)
at System.Windows.Forms.Control.WmCreate(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
— End of inner exception stack trace —

at JetBrains.ReSharper.Util.Logger.LogExceptionEx(Exception, String, Boolean) in c:\Agent\work\Server\ReSharper2.0\src\Util\src\Logger.cs:line 331 column 9
at JetBrains.ReSharper.Util.Logger.LogException(Exception) in c:\Agent\work\Server\ReSharper2.0\src\Util\src\Logger.cs:line 343 column 5
at JetBrains.ReSharper.Shell.ShellBase.OnUnhandledException(Exception) in c:\Agent\work\Server\ReSharper2.0\src\Shell\src\ShellBase.cs:line 132 column 5
at JetBrains.ReSharper.Shell.UIApplicationShell.Application_ThreadException(Object, ThreadExceptionEventArgs) in c:\Agent\work\Server\ReSharper2.0\src\Shell\src\UIApplicationShell.cs:line 785 column 5
at System.Windows.Forms.ThreadContext.OnThreadException(Exception)
at System.Windows.Forms.Control.WndProcException(Exception)
at System.Windows.Forms.ControlNativeWindow.OnThreadException(Exception)
at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
at System.Windows.Forms.UnsafeNativeMethods.IntCreateWindowEx(Int32, String, String, Int32, Int32, Int32, Int32, Int32, HandleRef, HandleRef, HandleRef, Object)
at System.Windows.Forms.UnsafeNativeMethods.CreateWindowEx(Int32, String, String, Int32, Int32, Int32, Int32, Int32, HandleRef, HandleRef, HandleRef, Object)
at System.Windows.Forms.NativeWindow.CreateHandle(CreateParams)
at System.Windows.Forms.Control.CreateHandle()
at System.Windows.Forms.Control.CreateControl(Boolean)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.ControlCollection.Add(Control)
at JetBrains.dotTrace.UIModel.PageManager.TabPage.OnObjectSelectedChanged(Object, EventArgs) in C:\Agent\work\Server\dotTrace-Main\src\UIModel\src\PageManager\TabPage.cs:line 191 column 6
at JetBrains.dotTrace.UIModel.PageManager.ViewsList.ObjectsListViewControl.set_SelectedObjectTreeNode(ObjectsTreeNode) in C:\Agent\work\Server\dotTrace-Main\src\UIModel\src\PageManager\Impl\ViewsList\ObjectsListViewControl.cs:line 625 column 7
at JetBrains.dotTrace.UIModel.PageManager.TabPage.SetVisible() in C:\Agent\work\Server\dotTrace-Main\src\UIModel\src\PageManager\TabPage.cs:line 47 column 6
at System.RuntimeMethodHandle._InvokeMethodFast(Object, Object[], SignatureStruct&, MethodAttributes, RuntimeTypeHandle)
at System.RuntimeMethodHandle.InvokeMethodFast(Object, Object[], Signature, MethodAttributes, RuntimeTypeHandle)
at System.Reflection.RuntimeMethodInfo.Invoke(Object, BindingFlags, Binder, Object[], CultureInfo, Boolean)
at System.Delegate.DynamicInvokeImpl(Object[])
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object)
at System.Threading.ExecutionContext.runTryCode(Object)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, Object)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext, ContextCallback, Object)
at System.Threading.ExecutionContext.Run(ExecutionContext, ContextCallback, Object)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
at System.Windows.Forms.Control.WndProc(Message&)
at System.Windows.Forms.ScrollableControl.WndProc(Message&)
at System.Windows.Forms.ContainerControl.WndProc(Message&)
at System.Windows.Forms.UserControl.WndProc(Message&)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message&)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message&)
at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&)
at System.Windows.Forms.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32, Int32, Int32)
at System.Windows.Forms.ThreadContext.RunMessageLoopInner(Int32, ApplicationContext)
at System.Windows.Forms.ThreadContext.RunMessageLoop(Int32, ApplicationContext)
at System.Windows.Forms.Application.DoEvents()
at JetBrains.ReSharper.Shell.Progress.UITaskExecutor.OnUnitsUpdated(Double) in c:\Agent\work\Server\ReSharper2.0\src\Shell\src\Progress\UITaskExecutor.cs:line 313 column 4
at JetBrains.ReSharper.Shell.Progress.MyProgressIndicator.Advance(Double) in c:\Agent\work\Server\ReSharper2.0\src\Shell\src\Progress\UITaskExecutor.cs:line 73 column 7
at JetBrains.dotTrace.Utils.AutoCancelableProgressIndicator.Advance(Double) in C:\Agent\work\Server\dotTrace-Main\src\Utils\src\Progress\AutoCancelableProgressIndicator.cs:line 29 column 3
at JetBrains.ReSharper.Shell.Progress.SubProgressIndicator.Advance(Double) in c:\Agent\work\Server\ReSharper2.0\src\Shell\src\Progress\Progress.cs:line 231 column 5
at JetBrains.ReSharper.Shell.Progress.ProgressIndicatorBase.Stop() in c:\Agent\work\Server\ReSharper2.0\src\Shell\src\Progress\Progress.cs:line 112 column 5
at JetBrains.dotTrace.UIModel.PageManager.TabGroup.Init(IProgressIndicator) in C:\Agent\work\Server\dotTrace-Main\src\UIModel\src\PageManager\TabGroup.cs:line 114 column 3
at JetBrains.dotTrace.ViewControls.Memory.TabGroup.Init(IProgressIndicator) in C:\Agent\work\Server\dotTrace-Main\src\ViewControls.Memory\src\TabGroup.cs:line 84 column 4
at JetBrains.dotTrace.SnapshotManagement.Helper.OpenSnapShotAndCreateRootTabPage(IProgressIndicator) in C:\Agent\work\Server\dotTrace-Main\src\dotTrace2\src\Actions\SnapShot\OpenSnapShotFileAction.cs:line 186 column 6
at JetBrains.ReSharper.Shell.Progress.TaskHelper.Run() in c:\Agent\work\Server\ReSharper2.0\src\Shell\src\Progress\UITaskExecutor.cs:line 231 column 13
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object)
at System.Threading.ExecutionContext.runTryCode(Object)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, Object)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext, ContextCallback, Object)
at System.Threading.ExecutionContext.Run(ExecutionContext, ContextCallback, Object)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
at System.Windows.Forms.Control.WndProc(Message&)
at System.Windows.Forms.ScrollableControl.WndProc(Message&)
at System.Windows.Forms.ContainerControl.WndProc(Message&)
at System.Windows.Forms.Form.WndProc(Message&)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message&)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message&)
at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
at JetBrains.UI.Interop.Win32Declarations.DispatchMessage(MSG&)
at JetBrains.ReSharper.Shell.Progress.UITaskExecutor.OnInitialTimeoutElapsed() in c:\Agent\work\Server\ReSharper2.0\src\Shell\src\Progress\UITaskExecutor.cs:line 379 column 15
at JetBrains.ReSharper.Shell.Progress.UITaskExecutor.ExecuteTask(TaskHelper, String, Boolean, Boolean&) in c:\Agent\work\Server\ReSharper2.0\src\Shell\src\Progress\UITaskExecutor.cs:line 155 column 9
at JetBrains.ReSharper.Shell.Progress.UITaskExecutor.ExecuteTask(TaskWithProgress, String, Boolean&) in c:\Agent\work\Server\ReSharper2.0\src\Shell\src\Progress\UITaskExecutor.cs:line 170 column 7
at JetBrains.dotTrace.SnapshotManagement.Helper.OpenSnapShotAndCreateRootTabPage() in C:\Agent\work\Server\dotTrace-Main\src\dotTrace2\src\Actions\SnapShot\OpenSnapShotFileAction.cs:line 86 column 8
at JetBrains.dotTrace.SnapshotManagement.OpenSnapShotFileAction.OpenTemporal(String, ITaskExecutor) in C:\Agent\work\Server\dotTrace-Main\src\dotTrace2\src\Actions\SnapShot\OpenSnapShotFileAction.cs:line 246 column 5
at JetBrains.dotTrace.Handlers.SnapShotUpdater.LoadOrRemoveSnapShot(String) in C:\Agent\work\Server\dotTrace-Main\src\dotTrace2\src\Handlers\SnapShotUpdater.cs:line 53 column 4
at System.RuntimeMethodHandle._InvokeMethodFast(Object, Object[], SignatureStruct&, MethodAttributes, RuntimeTypeHandle)
at System.RuntimeMethodHandle.InvokeMethodFast(Object, Object[], Signature, MethodAttributes, RuntimeTypeHandle)
at System.Reflection.RuntimeMethodInfo.Invoke(Object, BindingFlags, Binder, Object[], CultureInfo, Boolean)
at System.Delegate.DynamicInvokeImpl(Object[])
at System.Windows.Forms.Control.InvokeMarshaledCallbackDo(ThreadMethodEntry)
at System.Windows.Forms.Control.InvokeMarshaledCallbackHelper(Object)
at System.Threading.ExecutionContext.runTryCode(Object)
at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode, CleanupCode, Object)
at System.Threading.ExecutionContext.RunInternal(ExecutionContext, ContextCallback, Object)
at System.Threading.ExecutionContext.Run(ExecutionContext, ContextCallback, Object)
at System.Windows.Forms.Control.InvokeMarshaledCallback(ThreadMethodEntry)
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
at System.Windows.Forms.Control.WndProc(Message&)
at System.Windows.Forms.ScrollableControl.WndProc(Message&)
at System.Windows.Forms.ContainerControl.WndProc(Message&)
at System.Windows.Forms.Form.WndProc(Message&)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message&)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message&)
at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
at System.Windows.Forms.NativeWindow.DefWndProc(Message&)
at System.Windows.Forms.NativeWindow.WndProc(Message&)
at JetBrains.ReSharper.CommonControls.WindowListener.WndProc(Message&) in c:\Agent\work\Server\ReSharper2.0\src\CommonControls\src\Utils\WindowListener.cs:line 37 column 5
at System.Windows.Forms.NativeWindow.Callback(IntPtr, Int32, IntPtr, IntPtr)
at System.Windows.Forms.UnsafeNativeMethods.DispatchMessageW(MSG&)
at System.Windows.Forms.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(Int32, Int32, Int32)
at System.Windows.Forms.ThreadContext.RunMessageLoopInner(Int32, ApplicationContext)
at System.Windows.Forms.ThreadContext.RunMessageLoop(Int32, ApplicationContext)
at System.Windows.Forms.Application.Run(Form)
at JetBrains.dotTrace.PocketTasks.RunMainFormTask.Execute() in C:\Agent\work\Server\dotTrace-Main\src\dotTrace2\src\PocketTasks\RunMainFormTask.cs:line 17 column 3
at JetBrains.dotTrace.MainStuff.Main(String[]) in C:\Agent\work\Server\dotTrace-Main\src\dotTrace2\src\MainStuff.cs:line 31 column 6



 All   Comments   Work Log   Change History      Sort Order:
Corey Kosak - 06 Aug 07 23:49
This is a screenshot of my task manager at the time the exception is thrown

Mikhail Pilin - 17 Dec 07 18:44
dotTrace UI cannot work in 64-bit mode, because it is compiled for .NET framework 1.x