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

FancyZones Editor doesn't open after update #19223

Closed
1 task
mida-84 opened this issue Jul 8, 2022 · 49 comments
Closed
1 task

FancyZones Editor doesn't open after update #19223

mida-84 opened this issue Jul 8, 2022 · 49 comments
Assignees
Labels
Hot Fix Items we will product an out-of-band release for Issue-Bug Something isn't working Product-FancyZones Refers to the FancyZones PowerToy Resolution-Fix Committed Fix is checked in, but it might be 3-4 weeks until a release.

Comments

@mida-84
Copy link

mida-84 commented Jul 8, 2022

Microsoft PowerToys version

0.60.0

Running as admin

  • Yes

Area(s) with issue?

FancyZones Editor

Steps to reproduce

Fancyzones doesn't work after install version 0.60.0. Starting the editor i've got a error pop-up

✔️ Expected Behavior

Starting editor

❌ Actual Behavior

error pop-up

Other Software

Windows 11 Pro build 22000.739

@mida-84 mida-84 added Issue-Bug Something isn't working Needs-Triage For issues raised to be triaged and prioritized by internal Microsoft teams labels Jul 8, 2022
@mida-84
Copy link
Author

mida-84 commented Jul 8, 2022

2022-07-08_09h00_18

@ALERTua
Copy link

ALERTua commented Jul 8, 2022

same error. log entries on trying to enter FansyZones Editor:

[2022-07-08 11:27:38.011348] [p-56828] [t-52972] [trace] No work area for the current desktop.
[2022-07-08 11:27:42.155605] [p-56828] [t-52972] [trace] FancyZonesSettings::LoadSettings Enter
[2022-07-08 11:27:42.156750] [p-56828] [t-52972] [trace] FancyZonesSettings::LoadSettings Exit
[2022-07-08 11:27:42.800426] [p-56828] [t-10552] [trace] Local\FancyZones-ToggleEditorEvent-1e174338-06a3-472b-874d-073b21c62f14 event was signaled
[2022-07-08 11:27:42.800634] [p-56828] [t-52972] [trace] FancyZones::ToggleEditor Enter
[2022-07-08 11:27:42.800717] [p-56828] [t-51572] [trace] OnThreadExecutor::worker_thread(loop) Enter
[2022-07-08 11:27:42.800719] [p-56828] [t-51572] [trace] OnThreadExecutor::worker_thread(loop) Exit
[2022-07-08 11:27:42.800768] [p-56828] [t-51572] [trace] OnThreadExecutor::worker_thread(loop) Enter
[2022-07-08 11:27:42.800792] [p-56828] [t-52972] [info] Identifying monitors
[2022-07-08 11:27:42.801080] [p-56828] [t-52972] [error] EnumDisplayDevicesW error: The operation completed successfully.
[2022-07-08 11:27:42.806579] [p-56828] [t-52972] [info] InstanceName: DISPLAY\AUS2722\5&1c8ccd91&0&UID4355_0
[2022-07-08 11:27:42.806584] [p-56828] [t-52972] [info] Serial number: 71LB06600000
[2022-07-08 11:27:42.807474] [p-56828] [t-51572] [trace] OnThreadExecutor::worker_thread(loop) Exit
[2022-07-08 11:27:42.839015] [p-56828] [t-52972] [trace] FancyZones::ToggleEditor Exit

@SeraphimaZykova SeraphimaZykova added the FancyZones-Editor Issue revolving the FancyZone Editor label Jul 8, 2022
@SeraphimaZykova SeraphimaZykova added Product-FancyZones Refers to the FancyZones PowerToy and removed FancyZones-Editor Issue revolving the FancyZone Editor Needs-Triage For issues raised to be triaged and prioritized by internal Microsoft teams labels Jul 11, 2022
@jaimecbernardo jaimecbernardo pinned this issue Jul 12, 2022
@jaimecbernardo
Copy link
Collaborator

Stack trace from #19334 :

[16:01:11.2818126] [Error] App::OnUnhandledException
    Unhandled exception
Object reference not set to an instance of an object.
Inner exception: 

Stack trace: 
   at FancyZonesEditor.Overlay.ShowLayout()
   at FancyZonesEditor.Overlay.Show()
   at FancyZonesEditor.App.OnStartup(Object sender, StartupEventArgs e)
   at System.Windows.Application.OnStartup(StartupEventArgs e)
   at System.Windows.Application.<.ctor>b__1_0(Object unused)
   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.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(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 FancyZonesEditor.App.Main()

@jaimecbernardo
Copy link
Collaborator

Hi @mida-84 @ALERTua ,

We've got a possible fix floating around, but we can't really test it since it we don't have the same conditions locally.

Could you please try a debug build with the fix so we can validate it on your configuration? (It's an unsigned build , by the way)
https://github.com/jaimecbernardo/PowerToys/releases/tag/v0.0.1-test-pr-19346-issue-19223

Please uninstall your current PowerToys installation, then install this debug build.
Replicate the bug, to see if it's still there or if the behavior is better.

Thank you, in advance.
/needinfo

@ghost ghost added the Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something label Jul 12, 2022
@ALERTua
Copy link

ALERTua commented Jul 12, 2022

The fix didn't help
Contents of AppData\Local\Microsoft\PowerToys\FancyZones\Logs\v0.0.1\log_2022-07-12.txt :

[2022-07-12 14:34:32.080315] [p-54652] [t-42796] [info] fancyzones logger is initialized
[2022-07-12 14:34:32.122750] [p-54652] [t-42796] [trace] FancyZonesSettings::LoadSettings Enter
[2022-07-12 14:34:32.123050] [p-54652] [t-48716] [trace] OnThreadExecutor::worker_thread(loop) Enter
[2022-07-12 14:34:32.129540] [p-54652] [t-42796] [trace] FancyZonesSettings::LoadSettings Exit
[2022-07-12 14:34:32.182376] [p-54652] [t-48716] [trace] OnThreadExecutor::worker_thread(loop) Exit
[2022-07-12 14:34:32.182465] [p-54652] [t-48716] [trace] OnThreadExecutor::worker_thread(loop) Enter
[2022-07-12 14:34:32.182931] [p-54652] [t-42796] [info] Display changed, type: 3
[2022-07-12 14:34:32.182937] [p-54652] [t-42796] [info] Identifying monitors
[2022-07-12 14:34:32.183345] [p-54652] [t-42796] [error] EnumDisplayDevicesW error: \\.\DISPLAY1
[2022-07-12 14:34:32.198666] [p-54652] [t-42796] [info] InstanceName: DISPLAY\AUS2722\5&1c8ccd91&0&UID4355_0
[2022-07-12 14:34:32.198671] [p-54652] [t-42796] [info] Serial number: 71LB06600000
[2022-07-12 14:34:32.199647] [p-54652] [t-42796] [info] AppZoneHistory Sync virtual desktops: current {F1B5C618-3122-4CB3-8073-5DAA7EFE42B4}
[2022-07-12 14:34:32.199660] [p-54652] [t-42796] [info] AppliedLayouts Sync virtual desktops: current {F1B5C618-3122-4CB3-8073-5DAA7EFE42B4}
[2022-07-12 14:34:39.512082] [p-54652] [t-42796] [trace] FancyZones::ToggleEditor Enter
[2022-07-12 14:34:39.512199] [p-54652] [t-15552] [trace] OnThreadExecutor::worker_thread(loop) Enter
[2022-07-12 14:34:39.512202] [p-54652] [t-15552] [trace] OnThreadExecutor::worker_thread(loop) Exit
[2022-07-12 14:34:39.512239] [p-54652] [t-15552] [trace] OnThreadExecutor::worker_thread(loop) Enter
[2022-07-12 14:34:39.512712] [p-54652] [t-15552] [trace] OnThreadExecutor::worker_thread(loop) Exit
[2022-07-12 14:34:39.568042] [p-54652] [t-42796] [trace] FancyZones::ToggleEditor Exit
[2022-07-12 14:34:50.441691] [p-54652] [t-42796] [trace] No work area for the current desktop.
[2022-07-12 14:35:16.821778] [p-54652] [t-42796] [trace] No work area for the current desktop.

@jaimecbernardo
Copy link
Collaborator

@ALERTua , so the FancyZones Editor still doesn't open?

@ALERTua
Copy link

ALERTua commented Jul 12, 2022

@jaimecbernardo, I uninstalled the production build, as you instructed, then installed the unsigned build using the link you gave, launched it, pressed FansyZones Editor hotkey, and saw the dialog window:

---------------------------
FancyZones Editor
---------------------------
Please report the bug to https://aka.ms/powerToysReportBug
---------------------------
OK   
---------------------------

then copypasted the log in my post above.

@jaimecbernardo
Copy link
Collaborator

@ALERTua ,

A fuller /bugreport might be helpful here instead to check FZEditor logs instead of just the FancyZones logs. Thank you!

@ghost
Copy link

ghost commented Jul 12, 2022

Hi there!

We need a bit more information to really debug this issue. Can you add a "Report Bug" zip file here? You right click on our system tray icon and just go to report bug. Then drag the zipfile from your desktop onto the GitHub comment box in this issue. Thanks!
Report Bug

@ALERTua
Copy link

ALERTua commented Jul 12, 2022

@jaimecbernardo
Copy link
Collaborator

Thank you!

[14:33:24.2299114] [Trace] Overlay::Show
[14:33:24.3354962] [Error] App::OnUnhandledException
    Unhandled exception
Object reference not set to an instance of an object.
Inner exception: 

Stack trace: 
   at FancyZonesEditor.Overlay.ShowLayout()
   at FancyZonesEditor.Overlay.Show()
   at FancyZonesEditor.App.OnStartup(Object sender, StartupEventArgs e)
   at System.Windows.Application.OnStartup(StartupEventArgs e)
   at System.Windows.Application.<.ctor>b__1_0(Object unused)
   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.DispatcherOperation.InvokeImpl()
   at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
   at MS.Internal.CulturePreservingExecutionContext.CallbackWrapper(Object obj)
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
--- End of stack trace from previous location ---
   at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
   at MS.Internal.CulturePreservingExecutionContext.Run(CulturePreservingExecutionContext executionContext, ContextCallback callback, Object state)
   at System.Windows.Threading.DispatcherOperation.Invoke()
   at System.Windows.Threading.Dispatcher.ProcessQueue()
   at System.Windows.Threading.Dispatcher.WndProcHook(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 FancyZonesEditor.App.Main()
[14:34:03.2137879] [Info] App::App_WaitExit
    Exit event triggered

@jaimecbernardo
Copy link
Collaborator

To better explain the problem here, we expect a configuration that's able to get the DeviceID that represents the monitor that the display interface uses. This is an example from my PC.

image

We're then able to match that with display information in WMI:
image

Unfortunately, for the cases of this issue, it seems the display interface is not connected in the same way to the display, even though both are there:

@jaimecbernardo, here is my monitor report file... monitor_ids.txt

image

image

@ALERTua
Copy link

ALERTua commented Jul 12, 2022

@jaimecbernardo
monitor_ids.txt

@jaimecbernardo
Copy link
Collaborator

@ALERTua , Thank you. This is the configuration when FancyZones isn't working. Wonder what changes for it to work. Could you please set it to work and send the new monitor_ids.txt for comparison?

@jaimecbernardo
Copy link
Collaborator

jaimecbernardo commented Jul 12, 2022

Hi @ALERTua @kellymenzel @eseinbinder

We've got a possible new fix for this. This adds a fallback for those cases where there's no monitor associated to the display device.

Could you please try a debug build with the fix so we can validate it on your configuration? (It's an unsigned build , by the way)

Please uninstall your current PowerToys installation, then install this debug build.
Replicate the bug, to see if it's still there or if the behavior is better.

Thank you, in advance.
Edit: removed the build from this post, since it had some issues.

@kellymenzel
Copy link

kellymenzel commented Jul 12, 2022

@jaimecbernardo, I can confirm that the debug build works on my Cloud PC and fixes the problem introduced in 0.60.0 for me.

@jaimecbernardo
Copy link
Collaborator

Hi @ALERTua @kellymenzel @eseinbinder ,

This is the actual new fix. This adds a fallback for those cases where there's no monitor associated to the display device. With a cycle fix now too.

Could you please try a debug build with the fix so we can validate it on your configuration? (It's an unsigned build , by the way)
https://github.com/jaimecbernardo/PowerToys/releases/tag/v0.0.1-test-fix-issue-19223-no-monitor-fallback-2

Please uninstall your current PowerToys installation, then install this debug build.
Replicate the bug, to see if it's still there or if the behavior is better.

Thank you, in advance.

@ALERTua
Copy link

ALERTua commented Jul 13, 2022

@jaimecbernardo, working configuration with 3 monitors enabled with the first test build without a fix
monitor_ids.txt

I can confirm that the new test build https://github.com/jaimecbernardo/PowerToys/releases/tag/v0.0.1-test-fix-issue-19223-no-monitor-fallback-2 works for me in all monitor combinations!

@jaimecbernardo jaimecbernardo self-assigned this Jul 13, 2022
@jaimecbernardo jaimecbernardo added Status-In progress This issue or work-item is under development Hot Fix Items we will product an out-of-band release for and removed Needs-Author-Feedback The original author of the issue/PR needs to come back and respond to something labels Jul 13, 2022
@eseinbinder
Copy link

Hi @ALERTua @kellymenzel @eseinbinder ,

This is the actual new fix. This adds a fallback for those cases where there's no monitor associated to the display device. With a cycle fix now too.

Could you please try a debug build with the fix so we can validate it on your configuration? (It's an unsigned build , by the way) https://github.com/jaimecbernardo/PowerToys/releases/tag/v0.0.1-test-fix-issue-19223-no-monitor-fallback-2

Please uninstall your current PowerToys installation, then install this debug build. Replicate the bug, to see if it's still there or if the behavior is better.

Thank you, in advance.

will try in a little bit. thanks for fixing so quickly!

@kellymenzel
Copy link

kellymenzel commented Jul 13, 2022

@jaimecbernardo The latest v0.0.1-test-fix-issue-19223-no-monitor-fallback-2 build also works for me. Just installed it, works on my Cloud PC. Thanks!

@jaimecbernardo
Copy link
Collaborator

Thanks everyone for helping debug and test this!
We'll include this fix in the next release.

@jefflord
Copy link
Contributor

Another affirmative on this fix from me on my afflicted machine. Thanks!

@jaimecbernardo jaimecbernardo added Resolution-Fix Committed Fix is checked in, but it might be 3-4 weeks until a release. and removed Status-In progress This issue or work-item is under development labels Jul 13, 2022
@eseinbinder
Copy link

Thanks everyone for helping debug and test this! We'll include this fix in the next release.

works for me too. sorry for the delay in testing.

@eseinbinder
Copy link

so, ooc, for those of us who installed the fix to test it, should we leave it installed until v0.61.0 is released, at which time we uninstall, then install v0.61.0, or should we downgrade to 0.59.1 until 0.61.0 is released, and then just upgrade at that time? are there any advantages/disadvantages to either path? 🤔

@jaimecbernardo
Copy link
Collaborator

The hot fix was released in 0.60.1: https://github.com/microsoft/PowerToys/releases/tag/v0.60.1
Thanks everyone for your help here!

@jaimecbernardo
Copy link
Collaborator

For those who installed the debug build, please uninstall it and install 0.60.1 instead, so you can continue receiving updates.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Hot Fix Items we will product an out-of-band release for Issue-Bug Something isn't working Product-FancyZones Refers to the FancyZones PowerToy Resolution-Fix Committed Fix is checked in, but it might be 3-4 weeks until a release.
Projects
None yet
Development

No branches or pull requests

8 participants