Profiler QueryView crashes if closed during query execution #245
Description
SD-1930, originally created on 11/17/2013 12:39:18 by Siegfried Pammer
Steps:
-
open a SharpDevelop Profiler Session (sdps) file
-
start a simple query (e.g. Top 20)
-
close the file while the query is still executing.
Expected: file is closed without any exception
Current result:
SharpDevelop Version : 5.0.0.3286-newNR-alpha-9cce5d93
.NET Version : 4.0.30319.18052
OS Version : Microsoft Windows NT 6.1.7601 Service Pack 1
Current culture : German (Germany) (de-DE)
Current UI language : en
Running under WOW6432, processor architecture: x86-64
Working Set Memory : 174744kb
GC Heap Memory : 62915kbUnhandled WPF exception
Exception thrown:
System.ObjectDisposedException: The provider was already closed!
Object name: 'ProfilingDataSQLiteProvider'.
at
ICSharpCode.Profiler.Controller.Data.ProfilingDataSQLiteProvider.LockAndCreateCommand(SQLiteCommand&
cmd)
at
ICSharpCode.Profiler.Controller.Data.ProfilingDataSQLiteProvider.GetMapping(Int32
nameId)
at
ICSharpCode.Profiler.Controller.Data.SQLiteCallTreeNode.get_NameMapping()
at
ICSharpCode.Profiler.Controller.Data.CallTreeNode.get_IsThread()
at
ICSharpCode.Profiler.Controls.CallTreeNodeViewModel.CreateToolTip(ControlsTranslation
translation)
at
ICSharpCode.Profiler.Controls.RingDiagramControl.Update(CallTreeNodeViewModel
item)
at
ICSharpCode.Profiler.Controls.RingDiagramControl.OnPropertyChanged(DependencyPropertyChangedEventArgs
e)
at
System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs
args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex
entryIndex, DependencyProperty dp, PropertyMetadata metadata,
EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean
coerceWithDeferredReference, Boolean coerceWithCurrentValue,
OperationType operationType)
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty
dp, Object value, PropertyMetadata metadata, Boolean
coerceWithDeferredReference, Boolean coerceWithCurrentValue,
OperationType operationType, Boolean isInternal)
at System.Windows.DependencyObject.SetValue(DependencyProperty dp,
Object value)
at
ICSharpCode.Profiler.Controls.QueryView.LoadCompleted(HierarchyList1 list, AdornerLayer layer, OverlayAdorner ad) at ICSharpCode.Profiler.Controls.QueryView.<>c__DisplayClass16.<LoadData>b__14(HierarchyList
1
list)
at
ICSharpCode.Profiler.Controls.SingleTask.<>c__DisplayClass5`1.b__4()
at
ICSharpCode.Profiler.Controls.SingleTask.<>c__DisplayClass1.b__0()
at
System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate
callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object
source, Delegate method, Object args, Int32 numArgs, Delegate
catchHandler)---- Recent log messages:
11:59:37.685 [1] DEBUG - Update Foldings
11:59:37.694 [1] DEBUG - Update Foldings
11:59:37.697 [1] DEBUG - Update Foldings
11:59:37.730 [1] DEBUG - Update Foldings
11:59:37.744 [1] DEBUG - Update Foldings
11:59:37.753 [1] DEBUG - Update Foldings
11:59:37.755 [1] DEBUG - Update Foldings
11:59:37.757 [LoadSolutionProjects] DEBUG -
ICSharpCode.SharpDevelop.BuildWorker35: ParseFiles() finished. 8 files
were re-used from CC cache; 1 files were parsed (1 of those are
serializable)
11:59:37.759 [1] DEBUG - Update Foldings
11:59:37.778 [1] DEBUG - Update Foldings
11:59:37.781 [1] DEBUG - Update Foldings
11:59:39.580 [LoadSolutionProjects] DEBUG - Deserializing
C:\Users\WheizAlien\AppData\Local\Temp\SharpDevelop5.0\arpCode.SharpDevelop.BuildWorker.f0c7011f.prj
11:59:39.695 [LoadSolutionProjects] DEBUG -
ICSharpCode.SharpDevelop.BuildWorker40: ParseFiles() finished. 8 files
were re-used from CC cache; 1 files were parsed (1 of those are
serializable)
11:59:40.945 [LoadSolutionProjects] DEBUG - Deserializing
C:\Users\WheizAlien\AppData\Local\Temp\SharpDevelop5.0\ICSharpCode.Core.ced7bc2b.prj
11:59:41.179 [LoadSolutionProjects] DEBUG - ICSharpCode.Core:
ParseFiles() finished. 72 files were re-used from CC cache; 1 files were
parsed (1 of those are serializable)
11:59:41.179 [LoadSolutionProjects] DEBUG - Deserializing
C:\Users\WheizAlien\AppData\Local\Temp\SharpDevelop5.0\ICSharpCode.Core.Presentation.bdeeede7.prj
11:59:41.543 [1] DEBUG - ActiveViewContentChanged to
11:59:41.544 [1] DEBUG - ActiveContentChanged to [AvalonEditViewContent
C:\Andreas\projekte\SharpDevelop5_work\src\AddIns\Debugger\Debugger.AddIn\Pads\ClassBrowserSupport.cs]
11:59:46.243 [1] DEBUG - ActiveWorkbenchWindowChanged to
[AvalonWorkbenchWindow: ClassBrowserSupport.cs]
11:59:46.243 [1] INFO - CurrentProject changed to Debugger.AddIn
11:59:46.243 [1] DEBUG - NavigationService
ActiveViewContent: ClassBrowserSupport.cs
Subview: ${res:FormsDesigner.DesignTabPages.SourceTabPage}
11:59:46.243 [1] DEBUG - ActiveViewContentChanged to
[AvalonEditViewContent
C:\Andreas\projekte\SharpDevelop5_work\src\AddIns\Debugger\Debugger.AddIn\Pads\ClassBrowserSupport.cs]
11:59:46.371 [1] ERROR - Unhandled WPF exception
--> Exception:
System.ObjectDisposedException: The provider was already closed!
Object name: 'ProfilingDataSQLiteProvider'.
at
ICSharpCode.Profiler.Controller.Data.ProfilingDataSQLiteProvider.LockAndCreateCommand(SQLiteCommand&
cmd)
at
ICSharpCode.Profiler.Controller.Data.ProfilingDataSQLiteProvider.GetMapping(Int32
nameId)
at
ICSharpCode.Profiler.Controller.Data.SQLiteCallTreeNode.get_NameMapping()
at
ICSharpCode.Profiler.Controller.Data.CallTreeNode.get_IsThread()
at
ICSharpCode.Profiler.Controls.CallTreeNodeViewModel.CreateToolTip(ControlsTranslation
translation)
at
ICSharpCode.Profiler.Controls.RingDiagramControl.Update(CallTreeNodeViewModel
item)
at
ICSharpCode.Profiler.Controls.RingDiagramControl.OnPropertyChanged(DependencyPropertyChangedEventArgs
e)
at
System.Windows.DependencyObject.NotifyPropertyChange(DependencyPropertyChangedEventArgs
args)
at System.Windows.DependencyObject.UpdateEffectiveValue(EntryIndex
entryIndex, DependencyProperty dp, PropertyMetadata metadata,
EffectiveValueEntry oldEntry, EffectiveValueEntry& newEntry, Boolean
coerceWithDeferredReference, Boolean coerceWithCurrentValue,
OperationType operationType)
at System.Windows.DependencyObject.SetValueCommon(DependencyProperty
dp, Object value, PropertyMetadata metadata, Boolean
coerceWithDeferredReference, Boolean coerceWithCurrentValue,
OperationType operationType, Boolean isInternal)
at System.Windows.DependencyObject.SetValue(DependencyProperty dp,
Object value)
at
ICSharpCode.Profiler.Controls.QueryView.LoadCompleted(HierarchyList1 list, AdornerLayer layer, OverlayAdorner ad) at ICSharpCode.Profiler.Controls.QueryView.<>c__DisplayClass16.<LoadData>b__14(HierarchyList
1
list)
at
ICSharpCode.Profiler.Controls.SingleTask.<>c__DisplayClass5`1.b__4()
at
ICSharpCode.Profiler.Controls.SingleTask.<>c__DisplayClass1.b__0()
at
System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate
callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object
source, Delegate method, Object args, Int32 numArgs, Delegate
catchHandler)
11:59:46.376 [LoadSolutionProjects] DEBUG -
ICSharpCode.Core.Presentation: ParseFiles() finished. 29 files were
re-used from CC cache; 3 files were parsed (1 of those are
serializable)
11:59:46.512 [LoadSolutionProjects] DEBUG - Deserializing
C:\Users\WheizAlien\AppData\Local\Temp\SharpDevelop5.0\ICSharpCode.Core.WinForms.1e9c85b5.prj---- Post-error application state information:
Installed 3rd party AddIns:
ProjectService.CurrentSolution: [Solution
C:\Andreas\projekte\SharpDevelop5_work\SharpDevelop.sln with 78
projects]
ProjectService.CurrentProject: [CSharpProject: Debugger.AddIn]
Workbench.ActiveContent: [AvalonEditViewContent
C:\Andreas\projekte\SharpDevelop5_work\src\AddIns\Debugger\Debugger.AddIn\Pads\ClassBrowserSupport.cs]