Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression: StackOverflowException thrown after 11.1 upgrade #15539

Open
AArnott opened this issue Apr 27, 2024 · 6 comments
Open

Regression: StackOverflowException thrown after 11.1 upgrade #15539

AArnott opened this issue Apr 27, 2024 · 6 comments

Comments

@AArnott
Copy link
Sponsor Contributor

AArnott commented Apr 27, 2024

Describe the bug

After upgrading my Avalonia app from 11.0.10 to 11.1.0-beta2, my app crashes when presenting its second view with a StackOverflowException.

To Reproduce

I'm not sure which elements in my app are important to this. Here is the axaml of the view that the app is switching to when the exception occurs:

<UserControl xmlns="https://github.com/avaloniaui"
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
             xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
             xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
             xmlns:vm="clr-namespace:Nerdbank.Zcash.App.ViewModels"
             mc:Ignorable="d" d:DesignWidth="400" d:DesignHeight="450"
             x:Class="Nerdbank.Zcash.App.Views.ImportAccountView"
             x:DataType="vm:ImportAccountViewModel">
  <Design.DataContext>
    <vm:ImportAccountViewModel />
  </Design.DataContext>

  <DockPanel>
    <StackPanel>
      <Label Target="{Binding #NameBox}" Content="{Binding NameCaption}" />
      <TextBox Name="NameBox" Text="{Binding Name}" />

      <Label Target="{Binding #KeyBox}">
        <TextBlock Text="{Binding KeyCaption}" />
      </Label>
      <TextBox Text="{Binding Key}" Height="100" TextWrapping="Wrap" Name="KeyBox" />

      <StackPanel IsVisible="{Binding IsPasswordVisible}">
        <Label Content="{Binding SeedPasswordCaption}" Target="{Binding #SeedPasswordBox}" />
        <TextBox Text="{Binding SeedPassword}" Name="SeedPasswordBox" />
        <TextBlock Text="{Binding SeedPasswordWhitespaceWarning}" IsVisible="{Binding SeedPasswordHasWhitespace}"
                   Foreground="Red" />
      </StackPanel>
      <CheckBox IsChecked="{Binding IsTestNet}" Content="{Binding IsTestNetCaption}" IsVisible="{Binding IsTestNetVisible}" />

      <Label Content="{Binding BirthdayHeightCaption}" Target="{Binding #BirthdayHeightBox}" />
      <NumericUpDown Value="{Binding BirthdayHeight}" Name="BirthdayHeightBox" Minimum="{Binding MinimumBirthdayHeight}" Increment="1" />

      <Button Command="{Binding ImportCommand}"
              Content="{Binding ImportCommandCaption}"
              HorizontalAlignment="Center"
              Margin="10"/>
    </StackPanel>
  </DockPanel>
</UserControl>

And here is the value of the value parameter in the method call to ConvertAndPublishValue, which seems highly suspect:

{Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: {Value: Main}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}

Expected behavior

No crash. I expect 11.1 to work at least as well as 11.0 did.

Avalonia version

11.1.0-beta2

OS

Windows

Additional context

 	ntdll.dll!00007fff10a0f3e4()	Unknown
 	KernelBase.dll!00007fff0e18421e()	Unknown
 	ntdll.dll!00007fff10a1440f()	Unknown
 	ntdll.dll!00007fff1098e466()	Unknown
 	ntdll.dll!00007fff10a133fe()	Unknown
 	[Managed to Native Transition]	
>	System.Private.CoreLib.dll!System.Buffer._Memmove(ref byte dest, ref byte src, nuint len) Line 324	C#
 	System.Private.CoreLib.dll!System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.GrowThenCopyString(string value) Line 587	C#
 	System.Private.CoreLib.dll!System.Runtime.CompilerServices.DefaultInterpolatedStringHandler.AppendFormatted<object>(object value) Line 284	C#
 	Avalonia.Base.dll!Avalonia.Data.BindingNotification.ToString()	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.TargetTypeConverter.DefaultConverter.TryConvert(object value, System.Type type, System.Globalization.CultureInfo culture, out object result)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.ConvertFrom(Avalonia.Data.Core.TargetTypeConverter converter, object value, ref Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.ConvertAndPublishValue(object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.OnNodeValueChanged(int nodeIndex, object value, System.Exception dataValidationError)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.ExpressionNode.SetValue(object value, System.Exception dataValidationError)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.ExpressionNode.SetValue(object valueOrNotification)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.PropertyAccessorNode.OnValueChanged(object newValue)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.PublishValue(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.InnerValueChanged(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.PublishValue(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.IndeiValidationPlugin.Validator.InnerValueChanged(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.PublishValue(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.InnerValueChanged(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataAnnotationsValidationPlugin.Accessor.InnerValueChanged(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.PublishValue(object value)	Unknown
 	Avalonia.Markup.Xaml.dll!Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings.InpcPropertyAccessor.SendCurrentValue()	Unknown
 	Avalonia.Markup.Xaml.dll!Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings.InpcPropertyAccessor.SetValue(object value, Avalonia.Data.BindingPriority priority)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.SetValue(object value, Avalonia.Data.BindingPriority priority)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.SetValue(object value, Avalonia.Data.BindingPriority priority)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.SetValue(object value, Avalonia.Data.BindingPriority priority)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.ExceptionValidationPlugin.Validator.SetValue(object value, Avalonia.Data.BindingPriority priority)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.PropertyAccessorNode.WriteValueToSource(object value, System.Collections.Generic.IReadOnlyList<Avalonia.Data.Core.ExpressionNodes.ExpressionNode> nodes)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.WriteValueToSource(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.OnTargetPropertyChanged(object sender, Avalonia.AvaloniaPropertyChangedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.AvaloniaObject.RaisePropertyChanged<string>(Avalonia.AvaloniaProperty<string> property, Avalonia.Data.Optional<string> oldValue, Avalonia.Data.BindingValue<string> newValue, Avalonia.Data.BindingPriority priority, bool isEffectiveValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<string>.SetAndRaiseCore(Avalonia.PropertyStore.ValueStore owner, Avalonia.StyledProperty<string> property, string value, Avalonia.Data.BindingPriority priority, bool isOverriddenCurrentValue, bool isCoercedDefaultValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<System.__Canon>.SetLocalValueAndRaise(Avalonia.PropertyStore.ValueStore owner, Avalonia.StyledProperty<System.__Canon> property, System.__Canon value)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<string>.SetLocalValueAndRaise(Avalonia.PropertyStore.ValueStore owner, Avalonia.AvaloniaProperty property, object value)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.SetLocalValue(Avalonia.AvaloniaProperty property, object value)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.Avalonia.Data.Core.IBindingExpressionSink.OnChanged(Avalonia.Data.Core.UntypedBindingExpressionBase instance, bool hasValueChanged, bool hasErrorChanged, object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.UntypedBindingExpressionBase.PublishValue(object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.ConvertAndPublishValue(object value, Avalonia.Data.Core.BindingError error)	Unknown

 	[The 29 frame(s) above this were repeated 420 times]	

 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.SetLocalValue(Avalonia.AvaloniaProperty property, object value)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.Avalonia.Data.Core.IBindingExpressionSink.OnChanged(Avalonia.Data.Core.UntypedBindingExpressionBase instance, bool hasValueChanged, bool hasErrorChanged, object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.UntypedBindingExpressionBase.PublishValue(object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.ConvertAndPublishValue(object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.OnNodeValueChanged(int nodeIndex, object value, System.Exception dataValidationError)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.ExpressionNode.SetValue(object value, System.Exception dataValidationError)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.ExpressionNode.SetValue(object valueOrNotification)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.PropertyAccessorNode.OnValueChanged(object newValue)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.PublishValue(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.InnerValueChanged(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.PublishValue(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.IndeiValidationPlugin.Validator.InnerValueChanged(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.PublishValue(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.InnerValueChanged(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataAnnotationsValidationPlugin.Accessor.InnerValueChanged(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.PublishValue(object value)	Unknown
 	Avalonia.Markup.Xaml.dll!Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings.InpcPropertyAccessor.SendCurrentValue()	Unknown
 	Avalonia.Markup.Xaml.dll!Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings.InpcPropertyAccessor.SetValue(object value, Avalonia.Data.BindingPriority priority)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.SetValue(object value, Avalonia.Data.BindingPriority priority)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.SetValue(object value, Avalonia.Data.BindingPriority priority)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.SetValue(object value, Avalonia.Data.BindingPriority priority)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.ExceptionValidationPlugin.Validator.SetValue(object value, Avalonia.Data.BindingPriority priority)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.PropertyAccessorNode.WriteValueToSource(object value, System.Collections.Generic.IReadOnlyList<Avalonia.Data.Core.ExpressionNodes.ExpressionNode> nodes)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.WriteValueToSource(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.OnTargetPropertyChanged(object sender, Avalonia.AvaloniaPropertyChangedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.AvaloniaObject.RaisePropertyChanged<string>(Avalonia.AvaloniaProperty<string> property, Avalonia.Data.Optional<string> oldValue, Avalonia.Data.BindingValue<string> newValue, Avalonia.Data.BindingPriority priority, bool isEffectiveValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<string>.SetAndRaiseCore(Avalonia.PropertyStore.ValueStore owner, Avalonia.StyledProperty<string> property, string value, Avalonia.Data.BindingPriority priority, bool isOverriddenCurrentValue, bool isCoercedDefaultValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<System.__Canon>.SetLocalValueAndRaise(Avalonia.PropertyStore.ValueStore owner, Avalonia.StyledProperty<System.__Canon> property, System.__Canon value)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<string>.SetLocalValueAndRaise(Avalonia.PropertyStore.ValueStore owner, Avalonia.AvaloniaProperty property, object value)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.SetLocalValue(Avalonia.AvaloniaProperty property, object value)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.Avalonia.Data.Core.IBindingExpressionSink.OnChanged(Avalonia.Data.Core.UntypedBindingExpressionBase instance, bool hasValueChanged, bool hasErrorChanged, object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.UntypedBindingExpressionBase.PublishValue(object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.ConvertAndPublishValue(object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.OnNodeValueChanged(int nodeIndex, object value, System.Exception dataValidationError)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.ExpressionNode.SetValue(object value, System.Exception dataValidationError)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.ExpressionNode.SetValue(object valueOrNotification)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.PropertyAccessorNode.OnValueChanged(object newValue)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.PublishValue(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.InnerValueChanged(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.PublishValue(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.IndeiValidationPlugin.Validator.InnerValueChanged(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.PublishValue(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.InnerValueChanged(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataAnnotationsValidationPlugin.Accessor.InnerValueChanged(object value)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.PublishValue(object value)	Unknown
 	Avalonia.Markup.Xaml.dll!Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings.InpcPropertyAccessor.SendCurrentValue()	Unknown
 	Avalonia.Markup.Xaml.dll!Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings.InpcPropertyAccessor.SubscribeCore()	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.Subscribe(System.Action<object> listener)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.SubscribeCore()	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.Subscribe(System.Action<object> listener)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.SubscribeCore()	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.IndeiValidationPlugin.Validator.SubscribeCore()	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.Subscribe(System.Action<object> listener)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.DataValidationBase.SubscribeCore()	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.Subscribe(System.Action<object> listener)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.PropertyAccessorNode.OnSourceChanged(object source, System.Exception dataValidationError)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.ExpressionNode.SetSource(object source, System.Exception dataValidationError)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.OnNodeValueChanged(int nodeIndex, object value, System.Exception dataValidationError)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.ExpressionNode.SetValue(object value, System.Exception dataValidationError)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.ExpressionNode.SetValue(object valueOrNotification)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.DataContextNode.OnPropertyChanged(object sender, Avalonia.AvaloniaPropertyChangedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.AvaloniaObject.RaisePropertyChanged<object>(Avalonia.AvaloniaProperty<object> property, Avalonia.Data.Optional<object> oldValue, Avalonia.Data.BindingValue<object> newValue, Avalonia.Data.BindingPriority priority, bool isEffectiveValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<object>.RaiseInheritedValueChanged(Avalonia.AvaloniaObject owner, Avalonia.AvaloniaProperty property, Avalonia.PropertyStore.EffectiveValue oldValue, Avalonia.PropertyStore.EffectiveValue newValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.InheritedValueChanged(Avalonia.AvaloniaProperty property, Avalonia.PropertyStore.EffectiveValue oldValue, Avalonia.PropertyStore.EffectiveValue newValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.InheritedValueChanged(Avalonia.AvaloniaProperty property, Avalonia.PropertyStore.EffectiveValue oldValue, Avalonia.PropertyStore.EffectiveValue newValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.InheritedValueChanged(Avalonia.AvaloniaProperty property, Avalonia.PropertyStore.EffectiveValue oldValue, Avalonia.PropertyStore.EffectiveValue newValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.InheritedValueChanged(Avalonia.AvaloniaProperty property, Avalonia.PropertyStore.EffectiveValue oldValue, Avalonia.PropertyStore.EffectiveValue newValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.SetInheritanceParent(Avalonia.AvaloniaObject newParent)	Unknown
 	Avalonia.Base.dll!Avalonia.AvaloniaObject.InheritanceParent.set(Avalonia.AvaloniaObject value)	Unknown
 	Avalonia.Base.dll!Avalonia.StyledElement.Avalonia.Controls.ISetInheritanceParent.SetParent(Avalonia.AvaloniaObject parent)	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.Presenters.ContentPresenter.UpdateChild(object content)	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.Presenters.ContentPresenter.ContentChanged(Avalonia.AvaloniaPropertyChangedEventArgs e)	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.Presenters.ContentPresenter.OnPropertyChanged(Avalonia.AvaloniaPropertyChangedEventArgs change)	Unknown
 	Avalonia.Base.dll!Avalonia.AvaloniaObject.OnPropertyChangedCore(Avalonia.AvaloniaPropertyChangedEventArgs change)	Unknown
 	Avalonia.Base.dll!Avalonia.Animation.Animatable.OnPropertyChangedCore(Avalonia.AvaloniaPropertyChangedEventArgs change)	Unknown
 	Avalonia.Base.dll!Avalonia.AvaloniaObject.RaisePropertyChanged<object>(Avalonia.AvaloniaProperty<object> property, Avalonia.Data.Optional<object> oldValue, Avalonia.Data.BindingValue<object> newValue, Avalonia.Data.BindingPriority priority, bool isEffectiveValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<object>.SetAndRaiseCore(Avalonia.PropertyStore.ValueStore owner, Avalonia.StyledProperty<object> property, object value, Avalonia.Data.BindingPriority priority, bool isOverriddenCurrentValue, bool isCoercedDefaultValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<object>.SetAndRaise(Avalonia.PropertyStore.ValueStore owner, Avalonia.PropertyStore.IValueEntry value, Avalonia.Data.BindingPriority priority)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.ReevaluateEffectiveValue(Avalonia.AvaloniaProperty property, Avalonia.PropertyStore.EffectiveValue current, Avalonia.PropertyStore.IValueEntry changedValueEntry, bool ignoreLocalValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.Avalonia.Data.Core.IBindingExpressionSink.OnChanged(Avalonia.Data.Core.UntypedBindingExpressionBase instance, bool hasValueChanged, bool hasErrorChanged, object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.UntypedBindingExpressionBase.PublishValue(object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.TemplateBinding.PublishValue()	Unknown
 	Avalonia.Base.dll!Avalonia.Data.TemplateBinding.OnTemplatedParentPropertyChanged(object sender, Avalonia.AvaloniaPropertyChangedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.AvaloniaObject.RaisePropertyChanged<object>(Avalonia.AvaloniaProperty<object> property, Avalonia.Data.Optional<object> oldValue, Avalonia.Data.BindingValue<object> newValue, Avalonia.Data.BindingPriority priority, bool isEffectiveValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<object>.SetAndRaiseCore(Avalonia.PropertyStore.ValueStore owner, Avalonia.StyledProperty<object> property, object value, Avalonia.Data.BindingPriority priority, bool isOverriddenCurrentValue, bool isCoercedDefaultValue)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<System.__Canon>.SetLocalValueAndRaise(Avalonia.PropertyStore.ValueStore owner, Avalonia.StyledProperty<System.__Canon> property, System.__Canon value)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.EffectiveValue<object>.SetLocalValueAndRaise(Avalonia.PropertyStore.ValueStore owner, Avalonia.AvaloniaProperty property, object value)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.SetLocalValue(Avalonia.AvaloniaProperty property, object value)	Unknown
 	Avalonia.Base.dll!Avalonia.PropertyStore.ValueStore.Avalonia.Data.Core.IBindingExpressionSink.OnChanged(Avalonia.Data.Core.UntypedBindingExpressionBase instance, bool hasValueChanged, bool hasErrorChanged, object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.UntypedBindingExpressionBase.PublishValue(object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.ConvertAndPublishValue(object value, Avalonia.Data.Core.BindingError error)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.BindingExpression.OnNodeValueChanged(int nodeIndex, object value, System.Exception dataValidationError)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.ExpressionNode.SetValue(object value, System.Exception dataValidationError)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.ExpressionNode.SetValue(object valueOrNotification)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.ExpressionNodes.PropertyAccessorNode.OnValueChanged(object newValue)	Unknown
 	Avalonia.Base.dll!Avalonia.Data.Core.Plugins.PropertyAccessorBase.PublishValue(object value)	Unknown
 	Avalonia.Markup.Xaml.dll!Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings.InpcPropertyAccessor.SendCurrentValue()	Unknown
 	Avalonia.Markup.Xaml.dll!Avalonia.Markup.Xaml.MarkupExtensions.CompiledBindings.InpcPropertyAccessor.OnEvent(object sender, Avalonia.Utilities.WeakEvent ev, System.ComponentModel.PropertyChangedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.Utilities.WeakEvent<System.ComponentModel.INotifyPropertyChanged, System.ComponentModel.PropertyChangedEventArgs>.Subscription.OnEvent(object sender, System.ComponentModel.PropertyChangedEventArgs eventArgs)	Unknown
 	Avalonia.Base.dll!Avalonia.Utilities.WeakEvents..cctor.AnonymousMethod__7(object _, System.ComponentModel.PropertyChangedEventArgs e)	Unknown
 	ReactiveUI.dll!ReactiveUI.ReactiveObject.ReactiveUI.IReactiveObject.RaisePropertyChanged(System.ComponentModel.PropertyChangedEventArgs args) Line 96	C#
 	System.Reactive.dll!System.Reactive.AnonymousSafeObserver<ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject>>.OnNext(ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject> value) Line 44	C#
 	System.Reactive.dll!System.Reactive.Sink<ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject>>.ForwardOnNext(ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject> value) Line 50	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.SelectMany<System.Collections.Generic.IList<ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject>>, ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject>>.EnumerableSelector._.OnNext(System.Collections.Generic.IList<ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject>> value) Line 1379	C#
 	System.Reactive.dll!System.Reactive.Sink<System.Collections.Generic.IList<ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject>>>.ForwardOnNext(System.Collections.Generic.IList<ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject>> value) Line 50	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.Buffer<ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject>, System.Reactive.Unit>.Boundaries._.BufferClosingObserver.OnNext(System.Reactive.Unit value) Line 827	C#
 	System.Reactive.dll!System.Reactive.Sink<System.Reactive.Unit>.ForwardOnNext(System.Reactive.Unit value) Line 50	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.Merge<System.Reactive.Unit>.Observables._.InnerObserver.OnNext(System.Reactive.Unit value) Line 238	C#
 	System.Reactive.dll!System.Reactive.Sink<System.Reactive.Unit>.ForwardOnNext(System.Reactive.Unit value) Line 50	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.Select<System.__Canon, System.Reactive.Unit>.Selector._.OnNext(System.__Canon value) Line 48	C#
 	System.Reactive.dll!System.Reactive.Sink<ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject>>.ForwardOnNext(ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject> value) Line 50	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.Where<ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject>>.Predicate._.OnNext(ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject> value) Line 54	C#
 	System.Reactive.dll!System.Reactive.Subjects.Subject<ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject>>.OnNext(ReactiveUI.ReactivePropertyChangedEventArgs<ReactiveUI.IReactiveObject> value) Line 149	C#
 	ReactiveUI.dll!ReactiveUI.IReactiveObjectExtensions.ExtensionState<ReactiveUI.IReactiveObject>.RaisePropertyChanged(string propertyName) Line 393	C#
 	ReactiveUI.dll!ReactiveUI.IReactiveObjectExtensions.RaisingPropertyChanged<Nerdbank.Zcash.App.ViewModels.MainViewModel>(Nerdbank.Zcash.App.ViewModels.MainViewModel reactiveObject, string propertyName) Line 246	C#
 	ReactiveUI.dll!ReactiveUI.IReactiveObjectExtensions.RaisePropertyChanged<Nerdbank.Zcash.App.ViewModels.MainViewModel>(Nerdbank.Zcash.App.ViewModels.MainViewModel reactiveObject, string propertyName) Line 152	C#
 	Nerdbank.Zcash.App.dll!Nerdbank.Zcash.App.ViewModels.MainViewModel.NavigateTo<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>(Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel viewModel) Line 141	C#
 	Nerdbank.Zcash.App.dll!Nerdbank.Zcash.App.ViewModels.FirstLaunchViewModel.ImportWallet() Line 102	C#
 	ReactiveUI.dll!ReactiveUI.ReactiveCommand.Create.AnonymousMethod__1(System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer) Line 147	C#
 	System.Reactive.dll!System.Reactive.Linq.QueryLanguage.CreateWithDisposableObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>.SubscribeCore(System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer) Line 35	C#
 	System.Reactive.dll!System.Reactive.ObservableBase<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>.Subscribe(System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer) Line 58	C#
 	System.Reactive.dll!System.ObservableExtensions.SubscribeSafe<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>(System.IObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> source, System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer) Line 424	C#
 	System.Reactive.dll!System.Reactive.TailRecursiveSink<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>.Drain() Line 128	C#
 	System.Reactive.dll!System.Reactive.TailRecursiveSink<System.__Canon>.Run(System.Collections.Generic.IEnumerable<System.IObservable<System.__Canon>> sources) Line 35	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.Concat<System.__Canon>.Run(System.Reactive.Linq.ObservableImpl.Concat<System.__Canon>._ sink) Line 20	C#
 	System.Reactive.dll!System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Concat<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>.SubscribeRaw(System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer, bool enableSafeguard) Line 125	C#
 	System.Reactive.dll!System.ObservableExtensions.SubscribeSafe<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>(System.IObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> source, System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer) Line 424	C#
 	System.Reactive.dll!System.Reactive.Sink<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>.Run(System.IObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> source) Line 89	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.Do<System.__Canon>.OnNext.Run(System.Reactive.Linq.ObservableImpl.Do<System.__Canon>.OnNext._ sink) Line 22	C#
 	System.Reactive.dll!System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Do<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>.OnNext._>.SubscribeRaw(System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer, bool enableSafeguard) Line 125	C#
 	System.Reactive.dll!System.ObservableExtensions.SubscribeSafe<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>(System.IObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> source, System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer) Line 424	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Exception>._.Run(System.IObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> source) Line 104	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.Catch<System.__Canon, System.__Canon>.Run(System.Reactive.Linq.ObservableImpl.Catch<System.__Canon, System.__Canon>._ sink) Line 87	C#
 	System.Reactive.dll!System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Exception>._>.SubscribeRaw(System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer, bool enableSafeguard) Line 125	C#
 	System.Reactive.dll!System.ObservableExtensions.SubscribeSafe<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>(System.IObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> source, System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer) Line 424	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.Finally<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._.Run(System.IObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> source) Line 38	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.Finally<System.__Canon>.Run(System.Reactive.Linq.ObservableImpl.Finally<System.__Canon>._ sink) Line 23	C#
 	System.Reactive.dll!System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Finally<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>.SubscribeRaw(System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer, bool enableSafeguard) Line 125	C#
 	System.Reactive.dll!System.ObservableExtensions.SubscribeSafe<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>(System.IObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> source, System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer) Line 424	C#
 	System.Reactive.dll!System.Reactive.Sink<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>.Run(System.IObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> source) Line 89	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.AsObservable<System.__Canon>.Run(System.Reactive.Linq.ObservableImpl.AsObservable<System.__Canon>._ sink) Line 20	C#
 	System.Reactive.dll!System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.AsObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>.SubscribeRaw(System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer, bool enableSafeguard) Line 125	C#
 	System.Reactive.dll!System.ObservableExtensions.SubscribeSafe<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>(System.IObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> source, System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer) Line 424	C#
 	System.Reactive.dll!System.Reactive.Subjects.ConnectableObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>.Connect() Line 44	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.RefCount<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>.Eager._.Run() Line 92	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.RefCount<System.__Canon>.Eager.Run(System.Reactive.Linq.ObservableImpl.RefCount<System.__Canon>.Eager._ sink) Line 37	C#
 	System.Reactive.dll!System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.RefCount<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>.Eager._>.SubscribeRaw(System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer, bool enableSafeguard) Line 125	C#
 	System.Reactive.dll!System.ObservableExtensions.SubscribeSafe<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>(System.IObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> source, System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer) Line 424	C#
 	System.Reactive.dll!System.Reactive.TailRecursiveSink<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>.Drain() Line 128	C#
 	System.Reactive.dll!System.Reactive.TailRecursiveSink<System.__Canon>.Run(System.Collections.Generic.IEnumerable<System.IObservable<System.__Canon>> sources) Line 35	C#
 	System.Reactive.dll!System.Reactive.Linq.ObservableImpl.Catch<System.__Canon>.Run(System.Reactive.Linq.ObservableImpl.Catch<System.__Canon>._ sink) Line 22	C#
 	System.Reactive.dll!System.Reactive.Producer<System.__Canon, System.__Canon>.SubscribeRaw.AnonymousMethod__1_0((System.Reactive.Producer<System.__Canon, System.__Canon> this, System.__Canon sink) tuple) Line 121	C#
 	System.Reactive.dll!System.Reactive.Concurrency.Scheduler.ScheduleAction.AnonymousMethod__75_0(System.Reactive.Concurrency.IScheduler _, (System.Action<(System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._)> action, (System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._) state) tuple) Line 66	C#
 	System.Reactive.dll!System.Reactive.Concurrency.CurrentThreadScheduler.Schedule<(System.Action<(System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._)>, (System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._))>((System.Action<(System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._)>, (System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._)) state, System.TimeSpan dueTime, System.Func<System.Reactive.Concurrency.IScheduler, (System.Action<(System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._)>, (System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._)), System.IDisposable> action) Line 101	C#
 	System.Reactive.dll!System.Reactive.Concurrency.LocalScheduler.Schedule<(System.Action<(System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._)>, (System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._))>((System.Action<(System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._)>, (System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._)) state, System.Func<System.Reactive.Concurrency.IScheduler, (System.Action<(System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._)>, (System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._)), System.IDisposable> action) Line 32	C#
 	System.Reactive.dll!System.Reactive.Concurrency.Scheduler.ScheduleAction<(System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._)>(System.Reactive.Concurrency.IScheduler scheduler, (System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._) state, System.Action<(System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._)> action) Line 61	C#
 	System.Reactive.dll!System.Reactive.Producer<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel, System.Reactive.Linq.ObservableImpl.Catch<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>._>.SubscribeRaw(System.IObserver<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> observer, bool enableSafeguard) Line 128	C#
 	System.Reactive.dll!System.Reactive.Producer<System.__Canon, System.__Canon>.Subscribe(System.IObserver<System.__Canon> observer) Line 97	C#
 	System.Reactive.dll!System.ObservableExtensions.Subscribe<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>(System.IObservable<Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel> source) Line 37	C#
 	ReactiveUI.dll!ReactiveUI.ReactiveCommandBase<System.Reactive.Unit, Nerdbank.Zcash.App.ViewModels.ImportAccountViewModel>.ICommandExecute(object parameter) Line 250	C#
 	ReactiveUI.dll!ReactiveUI.ReactiveCommandBase<System.Reactive.Unit, System.__Canon>.System.Windows.Input.ICommand.Execute(object parameter) Line 135	C#
 	Avalonia.Controls.dll!Avalonia.Controls.Button.OnClick()	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.Button.OnPointerReleased(Avalonia.Input.PointerReleasedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.Input.InputElement..cctor.AnonymousMethod__32_9(Avalonia.Input.InputElement x, Avalonia.Input.PointerReleasedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.Interactivity.RoutedEvent<Avalonia.Input.PointerReleasedEventArgs>.AddClassHandler.__Adapter|0(object sender, Avalonia.Interactivity.RoutedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.Interactivity.RoutedEvent.AddClassHandler.AnonymousMethod__0((object, Avalonia.Interactivity.RoutedEventArgs) args)	Unknown
 	Avalonia.Base.dll!Avalonia.Reactive.AnonymousObserver<(System.__Canon, System.__Canon)>.OnNext((System.__Canon, System.__Canon) value)	Unknown
 	Avalonia.Base.dll!Avalonia.Reactive.LightweightObservableBase<(object, Avalonia.Interactivity.RoutedEventArgs)>.PublishNext((object, Avalonia.Interactivity.RoutedEventArgs) value)	Unknown
 	Avalonia.Base.dll!Avalonia.Reactive.LightweightSubject<(System.__Canon, System.__Canon)>.OnNext((System.__Canon, System.__Canon) value)	Unknown
 	Avalonia.Base.dll!Avalonia.Interactivity.RoutedEvent.InvokeRaised(object sender, Avalonia.Interactivity.RoutedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.Interactivity.EventRoute.RaiseEventImpl(Avalonia.Interactivity.RoutedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.Interactivity.EventRoute.RaiseEvent(Avalonia.Interactivity.Interactive source, Avalonia.Interactivity.RoutedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.Interactivity.Interactive.RaiseEvent(Avalonia.Interactivity.RoutedEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.Input.MouseDevice.MouseUp(Avalonia.Input.IMouseDevice device, ulong timestamp, Avalonia.Input.IInputRoot root, Avalonia.Point p, Avalonia.Input.PointerPointProperties props, Avalonia.Input.KeyModifiers inputModifiers, Avalonia.Input.IInputElement hitTest)	Unknown
 	Avalonia.Base.dll!Avalonia.Input.MouseDevice.ProcessRawEvent(Avalonia.Input.Raw.RawPointerEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.Input.MouseDevice.ProcessRawEvent(Avalonia.Input.Raw.RawInputEventArgs e)	Unknown
 	Avalonia.Base.dll!Avalonia.Input.InputManager.ProcessInput(Avalonia.Input.Raw.RawInputEventArgs e)	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.TopLevel.HandleInput.AnonymousMethod__142_0(object state)	Unknown
 	Avalonia.Base.dll!Avalonia.Threading.Dispatcher.Send(System.Threading.SendOrPostCallback action, object arg, Avalonia.Threading.DispatcherPriority? priority)	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.TopLevel.HandleInput(Avalonia.Input.Raw.RawInputEventArgs e)	Unknown
 	Avalonia.Win32.dll!Avalonia.Win32.WindowImpl.AppWndProc(nint hWnd, uint msg, nint wParam, nint lParam)	Unknown
 	Avalonia.Win32.dll!Avalonia.Win32.WindowImpl.WndProc(nint hWnd, uint msg, nint wParam, nint lParam)	Unknown
 	Avalonia.Win32.dll!Avalonia.Win32.WindowImpl.WndProcMessageHandler(nint hWnd, uint msg, nint wParam, nint lParam)	Unknown
 	[Native to Managed Transition]	
 	user32.dll!00007fff10098961()	Unknown
 	user32.dll!00007fff10098421()	Unknown
 	[Managed to Native Transition]	
 	Avalonia.Win32.dll!Avalonia.Win32.Win32DispatcherImpl.RunLoop(System.Threading.CancellationToken cancellationToken)	Unknown
 	Avalonia.Base.dll!Avalonia.Threading.DispatcherFrame.Run(Avalonia.Threading.IControlledDispatcherImpl impl)	Unknown
 	Avalonia.Base.dll!Avalonia.Threading.Dispatcher.PushFrame(Avalonia.Threading.DispatcherFrame frame)	Unknown
 	Avalonia.Base.dll!Avalonia.Threading.Dispatcher.MainLoop(System.Threading.CancellationToken cancellationToken)	Unknown
 	Avalonia.Controls.dll!Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(string[] args)	Unknown
 	Avalonia.Controls.dll!Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime(Avalonia.AppBuilder builder, string[] args, System.Action<Avalonia.Controls.ApplicationLifetimes.IClassicDesktopStyleApplicationLifetime> lifetimeBuilder)	Unknown
 	Nerdbank.Zcash.App.Desktop.dll!Nerdbank.Zcash.App.Desktop.Program.Main(string[] args) Line 23	C#
 	[Native to Managed Transition]	
 	hostpolicy.dll!00007ffed6ac2b76()	Unknown
 	hostpolicy.dll!00007ffed6ac2e5c()	Unknown
 	hostpolicy.dll!00007ffed6ac379a()	Unknown
 	hostfxr.dll!00007ffeddb9b5c9()	Unknown
 	hostfxr.dll!00007ffeddb9e066()	Unknown
 	hostfxr.dll!00007ffeddba02ec()	Unknown
 	hostfxr.dll!00007ffeddb9e644()	Unknown
 	hostfxr.dll!00007ffeddb985a0()	Unknown
 	Nerdbank.Zcash.App.Desktop.exe!00007ff6aa85f998()	Unknown
 	Nerdbank.Zcash.App.Desktop.exe!00007ff6aa85fda6()	Unknown
 	Nerdbank.Zcash.App.Desktop.exe!00007ff6aa8612e8()	Unknown
 	kernel32.dll!00007fff1024257d()	Unknown
 	ntdll.dll!00007fff109caa48()	Unknown
@timunie
Copy link
Contributor

timunie commented Apr 29, 2024

@AArnott could you please upload a very minimal sample? We can't know your ViewModel and code behind etc from the XAML snippet

@grokys
Copy link
Member

grokys commented May 9, 2024

Hard to tell just from the stack trace, but this looks like you're somehow getting a circular reference in a couple of your bindings. Is that possible? I have no idea why this issue is only showing up in 11.1 though, I think I need a repro to be able to diagnose it any more.

@timunie
Copy link
Contributor

timunie commented May 13, 2024

@grokys this triggers the issue:

  1. check out this branch of FluentAvalonia: https://github.com/timunie/FluentAvalonia/blob/issueReport/
  2. Run samples/FAControlsGallery/Views/TestView.axaml
  3. You will see 2 input fields and one slider. In the input field add a number that is out of Range, for example 102.
  4. The App crashes with the StackOverflow expection

/cc @amwx in case this is an FluentAvalonia only issue.

@grokys
Copy link
Member

grokys commented May 14, 2024

@timunie thanks for the repro! It actually looks like that is a different issue to the one reported above though: I can't see the nested {Value: {Value: stuff in ConvertAndPublishValue with your repro.

I just opened a PR to fix #15201 which however does manifest itself in nested BindingNotifications which is what @AArnott is seeing. I wonder if #15722 will fix the original issue?

@AArnott
Copy link
Sponsor Contributor Author

AArnott commented May 15, 2024

I'd be happy to test the fix. Which version should I use, or where can I download a CI build?

@timunie
Copy link
Contributor

timunie commented May 15, 2024

@AArnott in each PR there is a comment how to test. Mind the nuget feed url to add #15722 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants