U-C-S / Hurl

Choose the browser on the click of a link
MIT License
254 stars 8 forks source link

[BUG] App Crashes When trying to Copy URL on Windows 11 #68

Closed BugDestroy3r closed 3 months ago

BugDestroy3r commented 1 year ago

Hi,

I think there might have been a bug causing the application to crash on Windows 11 (Pro 22H2) when trying to press the "Copy URL" button multiple times. i.e. do a double click instead of single click.

The weird thing is that this issue doesn't occur on Windows 10; just wonder if there is any windows 11 feature would cause this.

I got this error from the System Logs upon application crash.

Application: Hurl.exe
CoreCLR Version: 6.0.1423.7309
.NET Version: 6.0.14
Description: The process was terminated due to an unhandled exception.
Exception Info: System.Runtime.InteropServices.COMException (0x800401D0): OpenClipboard Failed (0x800401D0 (CLIPBRD_E_CANT_OPEN))
   at System.Runtime.InteropServices.Marshal.ThrowExceptionForHR(Int32 errorCode, IntPtr errorInfo)
   at System.Windows.Clipboard.Flush()
   at System.Windows.Clipboard.CriticalSetDataObject(Object data, Boolean copy)
   at System.Windows.Clipboard.SetDataInternal(String format, Object data)
   at System.Windows.Clipboard.SetText(String text, TextDataFormat format)
   at System.Windows.Clipboard.SetText(String text)
   at Hurl.BrowserSelector.Views.MainWindow.LinkCopyBtnClick(Object sender, RoutedEventArgs e)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.Controls.Primitives.ButtonBase.OnClick()
   at System.Windows.Controls.Button.OnClick()
   at System.Windows.Controls.Primitives.ButtonBase.OnMouseLeftButtonUp(MouseButtonEventArgs e)
   at System.Windows.UIElement.OnMouseLeftButtonUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.ReRaiseEventAs(DependencyObject sender, RoutedEventArgs args, RoutedEvent newEvent)
   at System.Windows.UIElement.OnMouseUpThunk(Object sender, MouseButtonEventArgs e)
   at System.Windows.Input.MouseButtonEventArgs.InvokeEventHandler(Delegate genericHandler, Object genericTarget)
   at System.Windows.RoutedEventArgs.InvokeHandler(Delegate handler, Object target)
   at System.Windows.EventRoute.InvokeHandlersImpl(Object source, RoutedEventArgs args, Boolean reRaised)
   at System.Windows.UIElement.RaiseEventImpl(DependencyObject sender, RoutedEventArgs args)
   at System.Windows.UIElement.RaiseTrustedEvent(RoutedEventArgs args)
   at System.Windows.Input.InputManager.ProcessStagingArea()
   at System.Windows.Input.InputProviderSite.ReportInput(InputReport inputReport)
   at System.Windows.Interop.HwndMouseInputProvider.ReportInput(IntPtr hwnd, InputMode mode, Int32 timestamp, RawMouseActions actions, Int32 x, Int32 y, Int32 wheel)
   at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr hwnd, WindowMessage msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at System.Windows.Interop.HwndSource.InputFilterMessage(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
   at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at System.Windows.Threading.ExceptionWrapper.TryCatchWhen(Object source, Delegate callback, Object args, Int32 numArgs, Delegate catchHandler)
   at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
   at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
   at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
   at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
   at System.Windows.Threading.Dispatcher.Run()
   at System.Windows.Application.RunDispatcher(Object ignore)
   at System.Windows.Application.RunInternal(Window window)
   at System.Windows.Application.Run()
   at Hurl.BrowserSelector.App.Main()
U-C-S commented 1 year ago

I can not reproduce the issue. I use build 22624. Searching the crash info online gave me - Maybe due to multiple process trying to access the clipboard.

Tell if this crash is frequent one or ocassional/rare one. I'll try to handle the crash accordingly.

BugDestroy3r commented 1 year ago

yes, it happens every time I click on the copy button. I have tried to turn off all running application but nothing changed. Wonder what would cause this. I am on the latest version of Windows 11 Pro for Workstation

BugDestroy3r commented 1 year ago

Just tested with ESET Antivirus disable. I found out that the HIPS protection cause the application to crash. I am sure that there is no other application is using Clipboard when performing the test

ganeshh123 commented 1 year ago

Just tested with ESET Antivirus disable. I found out that the HIPS protection cause the application to crash. I am sure that there is no other application is using Clipboard when performing the test

I have the same crash, again with ESET HIPS running. Did you manage to find a way to exclude this application in ESET?

U-C-S commented 3 months ago

Is this still an issue, with newer versions ?

ganeshh123 commented 3 months ago

Just tried with the latest version.

It crashes with the following error: image

U-C-S commented 3 months ago

Oh thanks.... looks like ESET seems to be blocking clipboard access to unauthorized applications as OP mentioned.

Unfortunately I can't fix this, but can prevent crashing