icsharpcode/AvaloniaILSpy

App crush

vloiuk opened this issue · 4 comments

App crash after a couple of seconds. Also, instant crash if hover over the menu/tool bar.

Sorry, we crashed
System.NullReferenceException: Object reference not set to an instance of an object.
   at Avalonia.X11.X11Window.SetTransparencyLevelHint(WindowTransparencyLevel transparencyLevel) in /_/src/Avalonia.X11/X11Window.cs:line 1160
   at Avalonia.Controls.TopLevel.<>c.<.cctor>b__16_0(TopLevel tl, AvaloniaPropertyChangedEventArgs e) in /_/src/Avalonia.Controls/TopLevel.cs:line 101
   at System.Reactive.Subjects.Subject`1.OnNext(T value) in /_/Rx.NET/Source/src/System.Reactive/Subjects/Subject.cs:line 145
   at Avalonia.AvaloniaObject.RaisePropertyChanged[T](AvaloniaPropertyChangedEventArgs`1 change) in /_/src/Avalonia.Base/AvaloniaObject.cs:line 756
   at Avalonia.AvaloniaObject.Avalonia.PropertyStore.IValueSink.ValueChanged[T](AvaloniaPropertyChangedEventArgs`1 change) in /_/src/Avalonia.Base/AvaloniaObject.cs:line 531
   at Avalonia.PropertyStore.ConstantValueEntry`1.RaiseValueChanged(IValueSink sink, IAvaloniaObject owner, AvaloniaProperty property, Optional`1 oldValue, Optional`1 newValue) in /_/src/Avalonia.Base/PropertyStore/ConstantValueEntry.cs:line 75
   at Avalonia.ValueStore.BatchUpdate.End() in /_/src/Avalonia.Base/ValueStore.cs:line 454
   at Avalonia.ValueStore.EndBatchUpdate() in /_/src/Avalonia.Base/ValueStore.cs:line 47
   at Avalonia.StyledElement.DetachStyles() in /_/src/Avalonia.Styling/StyledElement.cs:line 764
   at Avalonia.StyledElement.OnDetachedFromLogicalTreeCore(LogicalTreeAttachmentEventArgs e) in /_/src/Avalonia.Styling/StyledElement.cs:line 694
   at Avalonia.Controls.TopLevel.HandleClosed() in /_/src/Avalonia.Controls/TopLevel.cs:line 368
   at Avalonia.Controls.WindowBase.HandleClosed() in /_/src/Avalonia.Controls/WindowBase.cs:line 202
   at Avalonia.X11.X11Window.Cleanup() in /_/src/Avalonia.X11/X11Window.cs:line 813
   at Avalonia.X11.X11Window.Dispose() in /_/src/Avalonia.X11/X11Window.cs:line 783
   at Avalonia.Controls.Primitives.PopupRoot.Dispose() in /_/src/Avalonia.Controls/Primitives/PopupRoot.cs:line 77
   at Avalonia.Controls.ToolTip.Close() in /_/src/Avalonia.Controls/ToolTip.cs:line 290
   at Avalonia.Controls.ToolTip.IsOpenChanged(AvaloniaPropertyChangedEventArgs e) in /_/src/Avalonia.Controls/ToolTip.cs:line 237
   at System.Reactive.Subjects.Subject`1.OnNext(T value) in /_/Rx.NET/Source/src/System.Reactive/Subjects/Subject.cs:line 145
   at Avalonia.AvaloniaObject.RaisePropertyChanged[T](AvaloniaPropertyChangedEventArgs`1 change) in /_/src/Avalonia.Base/AvaloniaObject.cs:line 756
   at Avalonia.AvaloniaObject.Avalonia.PropertyStore.IValueSink.ValueChanged[T](AvaloniaPropertyChangedEventArgs`1 change) in /_/src/Avalonia.Base/AvaloniaObject.cs:line 509
   at Avalonia.ValueStore.NotifyValueChanged[T](AvaloniaProperty`1 property, Optional`1 oldValue, BindingValue`1 newValue, BindingPriority priority) in /_/src/Avalonia.Base/ValueStore.cs:line 366
   at Avalonia.ValueStore.SetExisting[T](Object slot, StyledPropertyBase`1 property, T value, BindingPriority priority) in /_/src/Avalonia.Base/ValueStore.cs:line 266
   at Avalonia.ValueStore.SetValue[T](StyledPropertyBase`1 property, T value, BindingPriority priority) in /_/src/Avalonia.Base/ValueStore.cs:line 100
   at Avalonia.Controls.ToolTip.SetIsOpen(Control element, Boolean value) in /_/src/Avalonia.Controls/ToolTip.cs:line 122
   at Avalonia.Interactivity.EventRoute.RaiseEventImpl(RoutedEventArgs e) in /_/src/Avalonia.Interactivity/EventRoute.cs:line 152
   at Avalonia.Interactivity.EventRoute.RaiseEvent(IInteractive source, RoutedEventArgs e) in /_/src/Avalonia.Interactivity/EventRoute.cs:line 79
   at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs e) in /_/src/Avalonia.Interactivity/Interactive.cs:line 123
   at Avalonia.Input.MouseDevice.SetPointerOver(IPointerDevice device, UInt64 timestamp, IInputRoot root, IInputElement element, PointerPointProperties properties, KeyModifiers inputModifiers) in /_/src/Avalonia.Input/MouseDevice.cs:line 466
   at Avalonia.Input.MouseDevice.SetPointerOver(IPointerDevice device, UInt64 timestamp, IInputRoot root, Point p, PointerPointProperties properties, KeyModifiers inputModifiers) in /_/src/Avalonia.Input/MouseDevice.cs:line 413
   at Avalonia.Input.MouseDevice.MouseMove(IMouseDevice device, UInt64 timestamp, IInputRoot root, Point p, PointerPointProperties properties, KeyModifiers inputModifiers) in /_/src/Avalonia.Input/MouseDevice.cs:line 269
   at Avalonia.Input.MouseDevice.ProcessRawEvent(RawPointerEventArgs e) in /_/src/Avalonia.Input/MouseDevice.cs:line 142
   at Avalonia.Input.InputManager.ProcessInput(RawInputEventArgs e) in /_/src/Avalonia.Input/InputManager.cs:line 37
   at Avalonia.X11.X11Window.<ScheduleInput>b__121_0() in /_/src/Avalonia.X11/X11Window.cs:line 740
   at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority) in /_/src/Avalonia.Base/Threading/JobRunner.cs:line 37
   at Avalonia.X11.X11PlatformThreading.HandleX11(CancellationToken cancellationToken) in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 169
   at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken) in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 245
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in /_/src/Avalonia.Base/Threading/Dispatcher.cs:line 65
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 132
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 187
   at ICSharpCode.ILSpy.Program.Main(String[] args) in /home/runner/work/AvaloniaILSpy/AvaloniaILSpy/ILSpy/Program.cs:line 22

System: 5.13.0-28-generic #31~20.04.1-Ubuntu SMP Wed Jan 19 14:08:10 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
App version: https://github.com/icsharpcode/AvaloniaILSpy/releases/tag/v7.1-rc

Should be a duplicate of #96

Same issue with 7.1.0.0 RC

Ubuntu 20.04.4 LTS

Open ILSpy from terminal.
Click "Open" (notice the "Open" tooltip" appears immediately)

Crash =>

Sorry, we crashed
System.NullReferenceException: Object reference not set to an instance of an object.
   at Avalonia.X11.X11Window.SetTransparencyLevelHint(WindowTransparencyLevel transparencyLevel) in /_/src/Avalonia.X11/X11Window.cs:line 1160
   at Avalonia.Controls.TopLevel.<>c.<.cctor>b__16_0(TopLevel tl, AvaloniaPropertyChangedEventArgs e) in /_/src/Avalonia.Controls/TopLevel.cs:line 101
   at Avalonia.AvaloniaObjectExtensions.<>c__DisplayClass23_0`1.<AddClassHandler>b__0(AvaloniaPropertyChangedEventArgs e) in /_/src/Avalonia.Base/AvaloniaObjectExtensions.cs:line 579
   at System.Reactive.Subjects.Subject`1.OnNext(T value) in /_/Rx.NET/Source/src/System.Reactive/Subjects/Subject.cs:line 145
   at Avalonia.AvaloniaObject.RaisePropertyChanged[T](AvaloniaPropertyChangedEventArgs`1 change) in /_/src/Avalonia.Base/AvaloniaObject.cs:line 756
   at Avalonia.AvaloniaObject.Avalonia.PropertyStore.IValueSink.ValueChanged[T](AvaloniaPropertyChangedEventArgs`1 change) in /_/src/Avalonia.Base/AvaloniaObject.cs:line 531
   at Avalonia.PropertyStore.ConstantValueEntry`1.RaiseValueChanged(IValueSink sink, IAvaloniaObject owner, AvaloniaProperty property, Optional`1 oldValue, Optional`1 newValue) in /_/src/Avalonia.Base/PropertyStore/ConstantValueEntry.cs:line 75
   at Avalonia.ValueStore.BatchUpdate.End() in /_/src/Avalonia.Base/ValueStore.cs:line 454
   at Avalonia.ValueStore.EndBatchUpdate() in /_/src/Avalonia.Base/ValueStore.cs:line 50
   at Avalonia.AvaloniaObject.EndBatchUpdate() in /_/src/Avalonia.Base/AvaloniaObject.cs:line 475
   at Avalonia.StyledElement.DetachStyles() in /_/src/Avalonia.Styling/StyledElement.cs:line 764
   at Avalonia.StyledElement.OnDetachedFromLogicalTreeCore(LogicalTreeAttachmentEventArgs e) in /_/src/Avalonia.Styling/StyledElement.cs:line 694
   at Avalonia.StyledElement.Avalonia.LogicalTree.ILogical.NotifyDetachedFromLogicalTree(LogicalTreeAttachmentEventArgs e) in /_/src/Avalonia.Styling/StyledElement.cs:line 389
   at Avalonia.Controls.TopLevel.HandleClosed() in /_/src/Avalonia.Controls/TopLevel.cs:line 368
   at Avalonia.Controls.WindowBase.HandleClosed() in /_/src/Avalonia.Controls/WindowBase.cs:line 202
   at Avalonia.X11.X11Window.Cleanup() in /_/src/Avalonia.X11/X11Window.cs:line 813
   at Avalonia.X11.X11Window.Dispose() in /_/src/Avalonia.X11/X11Window.cs:line 783
   at Avalonia.Controls.Primitives.PopupRoot.Dispose() in /_/src/Avalonia.Controls/Primitives/PopupRoot.cs:line 77
   at Avalonia.Controls.ToolTip.Close() in /_/src/Avalonia.Controls/ToolTip.cs:line 290
   at Avalonia.Controls.ToolTip.IsOpenChanged(AvaloniaPropertyChangedEventArgs e) in /_/src/Avalonia.Controls/ToolTip.cs:line 237
   at System.Reactive.Subjects.Subject`1.OnNext(T value) in /_/Rx.NET/Source/src/System.Reactive/Subjects/Subject.cs:line 145
   at Avalonia.AvaloniaObject.RaisePropertyChanged[T](AvaloniaPropertyChangedEventArgs`1 change) in /_/src/Avalonia.Base/AvaloniaObject.cs:line 756
   at Avalonia.AvaloniaObject.Avalonia.PropertyStore.IValueSink.ValueChanged[T](AvaloniaPropertyChangedEventArgs`1 change) in /_/src/Avalonia.Base/AvaloniaObject.cs:line 531
   at Avalonia.ValueStore.NotifyValueChanged[T](AvaloniaProperty`1 property, Optional`1 oldValue, BindingValue`1 newValue, BindingPriority priority) in /_/src/Avalonia.Base/ValueStore.cs:line 355
   at Avalonia.ValueStore.SetExisting[T](Object slot, StyledPropertyBase`1 property, T value, BindingPriority priority) in /_/src/Avalonia.Base/ValueStore.cs:line 284
   at Avalonia.ValueStore.SetValue[T](StyledPropertyBase`1 property, T value, BindingPriority priority) in /_/src/Avalonia.Base/ValueStore.cs:line 107
   at Avalonia.AvaloniaObject.SetValue[T](StyledPropertyBase`1 property, T value, BindingPriority priority) in /_/src/Avalonia.Base/AvaloniaObject.cs:line 367
   at Avalonia.Controls.ToolTip.SetIsOpen(Control element, Boolean value) in /_/src/Avalonia.Controls/ToolTip.cs:line 121
   at Avalonia.Controls.ToolTipService.Close(Control control) in /_/src/Avalonia.Controls/ToolTipService.cs:line 138
   at Avalonia.Controls.ToolTipService.ControlPointerLeave(Object sender, PointerEventArgs e) in /_/src/Avalonia.Controls/ToolTipService.cs:line 107
   at Avalonia.Interactivity.EventRoute.RaiseEventImpl(RoutedEventArgs e) in /_/src/Avalonia.Interactivity/EventRoute.cs:line 152
   at Avalonia.Interactivity.EventRoute.RaiseEvent(IInteractive source, RoutedEventArgs e) in /_/src/Avalonia.Interactivity/EventRoute.cs:line 79
   at Avalonia.Interactivity.Interactive.RaiseEvent(RoutedEventArgs e) in /_/src/Avalonia.Interactivity/Interactive.cs:line 123
   at Avalonia.Input.MouseDevice.ClearPointerOver(IPointerDevice device, UInt64 timestamp, IInputRoot root, PointerPointProperties properties, KeyModifiers inputModifiers) in /_/src/Avalonia.Input/MouseDevice.cs:line 383
   at Avalonia.Input.MouseDevice.LeaveWindow(IMouseDevice device, UInt64 timestamp, IInputRoot root, PointerPointProperties properties, KeyModifiers inputModifiers) in /_/src/Avalonia.Input/MouseDevice.cs:line 193
   at Avalonia.Input.MouseDevice.ProcessRawEvent(RawPointerEventArgs e) in /_/src/Avalonia.Input/MouseDevice.cs:line 142
   at Avalonia.Input.InputManager.ProcessInput(RawInputEventArgs e) in /_/src/Avalonia.Input/InputManager.cs:line 37
   at Avalonia.X11.X11Window.<ScheduleInput>b__121_0() in /_/src/Avalonia.X11/X11Window.cs:line 740
   at Avalonia.Threading.JobRunner.RunJobs(Nullable`1 priority) in /_/src/Avalonia.Base/Threading/JobRunner.cs:line 37
   at Avalonia.X11.X11PlatformThreading.HandleX11(CancellationToken cancellationToken) in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 169
   at Avalonia.X11.X11PlatformThreading.RunLoop(CancellationToken cancellationToken) in /_/src/Avalonia.X11/X11PlatformThreading.cs:line 245
   at Avalonia.Threading.Dispatcher.MainLoop(CancellationToken cancellationToken) in /_/src/Avalonia.Base/Threading/Dispatcher.cs:line 65
   at Avalonia.Controls.ApplicationLifetimes.ClassicDesktopStyleApplicationLifetime.Start(String[] args) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 132
   at Avalonia.ClassicDesktopStyleApplicationLifetimeExtensions.StartWithClassicDesktopLifetime[T](T builder, String[] args, ShutdownMode shutdownMode) in /_/src/Avalonia.Controls/ApplicationLifetimes/ClassicDesktopStyleApplicationLifetime.cs:line 187
   at ICSharpCode.ILSpy.Program.Main(String[] args) in /home/runner/work/AvaloniaILSpy/AvaloniaILSpy/ILSpy/Program.cs:line 22

Drag and drop assembly into folder list does not work (not sure if this is meant to?). You can add custom assembly if using "File --> Open", in which case ILSpy works as expected
Occurs if I just click around various options on the UI. Within a few seconds, ILSpy will crash.

Might be a duplicate of #96 , in which case guess it's "Not Fixed" if this is related to tooltips?

riQQ commented

The latest release doesn't contain the fix yet. You'll need to compile it yourself for now.

Please give 7.2-rc a try. Reopen this if it crashes again