Bug 4878 - MonoDevelop is caching and using invalid tree iters
Summary: MonoDevelop is caching and using invalid tree iters
Status: RESOLVED FIXED
Alias: None
Product: Xamarin Studio
Classification: Desktop
Component: General ()
Version: Trunk
Hardware: PC Mac OS
: --- normal
Target Milestone: ---
Assignee: Lluis Sanchez
URL:
Depends on:
Blocks:
 
Reported: 2012-05-04 06:09 UTC by Alan McGovern
Modified: 2012-05-04 12:46 UTC (History)
2 users (show)

Tags:
Is this bug a regression?: ---
Last known good build:

Notice (2018-05-24): bugzilla.xamarin.com is now in read-only mode.

Please join us on Visual Studio Developer Community and in the Xamarin and Mono organizations on GitHub to continue tracking issues. Bugzilla will remain available for reference in read-only mode. We will continue to work on open Bugzilla bugs, copy them to the new locations as needed for follow-up, and add the new items under Related Links.

Our sincere thanks to everyone who has contributed on this bug tracker over the years. Thanks also for your understanding as we make these adjustments and improvements for the future.


Please create a new report on Developer Community or GitHub with your current version information, steps to reproduce, and relevant error messages or log files if you are hitting an issue that looks similar to this resolved bug and you do not yet see a matching new report.

Related Links:
Status:
RESOLVED FIXED

Description Alan McGovern 2012-05-04 06:09:12 UTC
1) Create a project
2) Go to the project settings and change it from .NET 4 to .NET 3.5. Click OK
3) Reopen the settings and change it from 3.5 back to 4.

Result:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.InvalidOperationException: Tree iterator has been invalidated.
  at MonoDevelop.Ide.Gui.Components.ExtensibleTreeView+TreeNodeNavigator.AssertIsValid () [0x0006a] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/TreeNodeNavigator.cs:69 
  at MonoDevelop.Ide.Gui.Components.ExtensibleTreeView+TreeNodeNavigator.get_CurrentPosition () [0x00000] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/TreeNodeNavigator.cs:121 
  at MonoDevelop.Ide.Gui.Components.ExtensibleTreeView+TreeBuilder.GetAttributes (ITreeBuilder tb, MonoDevelop.Ide.Gui.Components.NodeBuilder[] chain, System.Object dataObject) [0x00000] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/TreeBuilder.cs:143 
  at MonoDevelop.Ide.Gui.Components.ExtensibleTreeView+TreeBuilder.Update () [0x0002b] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/TreeBuilder.cs:78 
  at MonoDevelop.Ide.Gui.Components.ExtensibleTreeView+TreeBuilder.UpdateAll () [0x00000] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Components/TreeBuilder.cs:69 
  at MonoDevelop.Ide.Gui.Pads.ProjectPad.ProjectReferenceNodeBuilder.ReferenceStatusChanged (System.Object sender, System.EventArgs e) [0x00013] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Pads.ProjectPad/ProjectReferenceNodeBuilder.cs:118 
  at (wrapper delegate-invoke) <Module>:invoke_void__this___object_EventArgs (object,System.EventArgs)
  at MonoDevelop.Projects.ProjectReference.OnStatusChanged () [0x0000b] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectReference.cs:470 
  at MonoDevelop.Projects.ProjectReference.UpdatePackageReference () [0x000eb] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectReference.cs:360 
  at MonoDevelop.Projects.ProjectReference.set_Reference (System.String value) [0x00007] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/ProjectReference.cs:160 
  at MonoDevelop.Projects.DotNetProject.UpdateSystemReferences () [0x0007a] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/DotNetProject.cs:1000 
  at MonoDevelop.Projects.DotNetProject.set_TargetFramework (MonoDevelop.Core.Assemblies.TargetFramework value) [0x0008b] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Core/MonoDevelop.Projects/DotNetProject.cs:303 
  at MonoDevelop.Ide.Projects.OptionPanels.RuntimeOptionsPanelWidget.Store () [0x0001d] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/RuntimeOptionsPanel.cs:121 
  at MonoDevelop.Ide.Projects.OptionPanels.RuntimeOptionsPanel.ApplyChanges () [0x00000] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Projects.OptionPanels/RuntimeOptionsPanel.cs:62 
  at MonoDevelop.Ide.Gui.Dialogs.OptionsDialog.ApplyChanges () [0x00047] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/OptionsDialog.cs:345 
  at MonoDevelop.Ide.Gui.Dialogs.MultiConfigItemOptionsDialog.ApplyChanges () [0x00000] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/MultiConfigItemOptionsDialog.cs:75 
  at MonoDevelop.Ide.Gui.Dialogs.OptionsDialog.OnButtonOkClicked (System.Object sender, System.EventArgs e) [0x0000c] in /Users/alanmcgovern/Projects/monodevelop/main/src/core/MonoDevelop.Ide/MonoDevelop.Ide.Gui.Dialogs/OptionsDialog.cs:586 
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x000d5] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/corlib/System.Reflection/MonoMethod.cs:226 
  --- End of inner exception stack trace ---
  at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x000eb] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/corlib/System.Reflection/MonoMethod.cs:234 
  at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/corlib/System.Reflection/MethodBase.cs:96 
  at System.Delegate.DynamicInvokeImpl (System.Object[] args) [0x000bf] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/corlib/System/Delegate.cs:408 
  at System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) [0x00018] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/corlib/System/MulticastDelegate.cs:70 
  at System.Delegate.DynamicInvoke (System.Object[] args) [0x00000] in /private/tmp/monobuild/build/BUILD/mono-2.10.9/mcs/class/corlib/System/Delegate.cs:382 
  at GLib.Signal.ClosureInvokedCB (System.Object o, GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0 
  at GLib.SignalClosure.Invoke (GLib.ClosureInvokedArgs args) [0x00000] in <filename unknown>:0 
  at GLib.SignalClosure.MarshalCallback (IntPtr raw_closure, IntPtr return_val, UInt32 n_param_vals, IntPtr param_values, IntPtr invocation_hint, IntPtr marshal_data) [0x00000] in <filename unknown>:0
Comment 1 Lluis Sanchez 2012-05-04 09:58:00 UTC
I can't reproduce. Can you consistently reproduce? can I see a screencast?
Comment 2 Alan McGovern 2012-05-04 11:41:33 UTC
You need to have the 'References' folder expanded for this bug to trigger.
Comment 3 Lluis Sanchez 2012-05-04 12:46:01 UTC
Fixed in master.