icsharpcode / AvaloniaILSpy

Avalonia-based .NET Decompiler (port of ILSpy)
1.5k stars 169 forks source link

App crush #106

Closed vloiuk closed 2 years ago

vloiuk commented 2 years ago

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

christophwille commented 2 years ago

Should be a duplicate of #96

grahambunce commented 2 years ago

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 2 years ago

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

jeffreye commented 2 years ago

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