ramensoftware / windhawk

The customization marketplace for Windows programs: https://windhawk.net/
https://windhawk.net
GNU General Public License v3.0
1.79k stars 56 forks source link

Explorer.exe crashes in Taskbar.View.dll #54

Closed mkupper closed 1 year ago

mkupper commented 1 year ago

I usually shut down my desktop each evening and boot it in the morning. When the machine boots I usually let it settle down for about 20 minutes before I sign in. On the morning of 2023-03-17 the sign-in seemed to work normally with the desktop being painted and a my usual auto-start things running. However the taskbar would paint and then disappear about once a second. I tried to start a command prompt using the desktop shortcut. While I could select the icon cmd.exe did not seem to be starting. After ten minutes the task bar painted and the system seemed normal and usable. In reviewing the event log I saw that Explorer.exe was crashing due to issues within Taskbar.View.dll and had been getting restarted. I also saw that the same thing happened the day before on 2023-03-16 though on that day Explorer.exe crashed and was restarted for three minutes before Explorer.exe was able to get running normally. Windows' Update Tuesday was this week meaning there's new code here and there on Microsoft's side.

For the last two days the machine has started up normally with explorer.exe not crashing.

Is there anything I could look at that would help me figure out if the crashes were triggered by Windhawk? Windhawk is at v1.1 beta. Within Windhawk I'm running "Disable grouping on the taskbar" and "Taskbar labels for Windows 11" both of which were and are up to date.

Is there a way to temporarily disable Windhawk from a command prompt? I should be able to get a copy of cmd.exe running even if Explorer.exe won't start. If the explorer.exe crashing loop happens again I'd want to try disabling Windhawk to see if that allows explorer.exe to start.

m417z commented 1 year ago

Is there anything I could look at that would help me figure out if the crashes were triggered by Windhawk?

Not an easy way unfortunately. You can enable crash dumps and once that happens again, upload the crash and I'll look at it. Sometimes the reason of the crash is obvious, but sometimes it's tricky to figure out what happened.

You can enable crash dumps with the following steps:

Crash dumps will be saved in the %LocalAppData%\CrashDumps folder

Within Windhawk I'm running "Disable grouping on the taskbar" and "Taskbar labels for Windows 11" both of which were and are up to date.

Can you please re-check the version of "Taskbar labels for Windows 11"? Versions older than 1.1 had an issue similar to what you describe with a recent Windows update.

Is there a way to temporarily disable Windhawk from a command prompt?

I plan on implementing an easier way for that. For now, you can open Task Manager with Ctrl+Shift+Esc (or Ctrl+Alt+Tab) and use the "Run new task" button to launch cmd.exe or any other process. You can also terminate the Windhawk processes or, more gracefully, stop the Windhawk service from Task Manager.

mkupper commented 1 year ago

Can you please re-check the version of "Taskbar labels for Windows 11"? Versions older than 1.1 had an issue similar to what you describe with a recent Windows update.

At present my "Taskbar labels for Windows 11" is at version 1.1.1 but I'm not certain what version I was at on the 16th and 17th. The current taskbar-labels.wh.cpp and taskbar-labels_342293.dll are dated 2023-03-17 08:48. The crashes were from 2023-03-16 07:23:15 to 2023-03-16 07:25:09 and 2023-03-17 08:37:02 to 2023-03-17 08:42:05. It appears taskbar-labels_342293.dll was being built while Explorer.exe was crashing and being restarted.

I looked but could not spot a log of when and what is being compiled and am unsure about what version I had on the 16th.

Regarding:

Is there a way to temporarily disable Windhawk from a command prompt? ... or, more gracefully, stop the Windhawk service from Task Manager. Thank you. I had seen the Windhawk service but had thought it only was involved with checking for updates. I tested

net stop Windhawk
net start  Windhawk

and it worked perfectly in that it stops/starts both the service and the user mode .exe instance. For now, I'm starting a copy of cmd.exe in administrator mode on login. If explorer.exe does its crashing loop thing again I'll stop Windhawk and see if that allows explorer.exe to run. For me, that's a quick and easy way to temporarily disable Windhawk.

m417z commented 1 year ago

The up-to-date mods should work with the most recent Windows updates. Regarding incompatibilities and having a way to turn off Windhawk, I made some improvements in Windhawk v1.3: https://ramensoftware.com/windhawk-v1-3-beta