valinet / ExplorerPatcher

This project aims to enhance the working environment on Windows
GNU General Public License v2.0
24.74k stars 1.05k forks source link

When the username has non-ASCII characters, "Reading symbols" crashes explorer #2186

Open Longhorn004 opened 1 year ago

Longhorn004 commented 1 year ago

When downloading the symbols for 17763.4645, while reading symbols, it crashes

[Symbols] Started "Download symbols" thread. [Symbols] Attempting to download symbols for unknown OS version 10.0.17763.4645. [Symbols] Downloading to "C:\Users\사용자\AppData\Roaming\ExplorerPatcher\". [Symbols] Downloading symbols for "C:\Windows\system32\twinui.pcshell.dll" ("bee1d8b417cf701206dad9d2250b8c9e")... [Symbols] Reading symbols After that, it crash loops. Disabling download symbols works but not recommended.

Uninstalling, deleting the explorerpatcher registry did nothing.

Amrsatrio commented 1 year ago

I need these information in order to assist you further.

image

Longhorn004 commented 1 year ago

There was no application error logged, it just says that "The shell stopped unexpectedly and Explorer.exe restarted."

image

vmware_1UqmzfkGhQ

pyrates999 commented 1 year ago

Looks like you got some kind of classic theme enabled. Disable it or uninstall it and then see if this still occurs.

Amrsatrio commented 1 year ago

Sure you're on the latest EP? These two lines should not appear on builds lower than Win11 22H2 (22621). There was a bug that the code related to those lines, specific to 22H2 and up, gets executed if the last part of your windows version is >= 2134. Nevermind. I think I'll have to test this on that particular build first, which I dont have installed.

image
Longhorn004 commented 1 year ago

Looks like you got some kind of classic theme enabled. Disable it or uninstall it and then see if this still occurs.

Tried, still no luck.

Longhorn004 commented 1 year ago

~Sure you're on the latest EP? These two lines should not appear on builds lower than Win11 22H2 (22621). There was a bug that the code related to those lines, specific to 22H2 and up, gets executed if the last part of your windows version is >= 2134.~ Nevermind. I think I'll have to test this on that particular build first, which I dont have installed. image

I´ve tried all the ExplorerPatcher versions, the 2022 one that i have on my Downloads folder and latest one still gives the same restart loop. It didn´t happen before a few months ago but it started recently.

pyrates999 commented 1 year ago

Please copy and paste the entirety of what the console output from EP showed you. It goes too quick in the video you posted and it can't be paused to view it.

You also are running an update from July: https://support.microsoft.com/en-gb/topic/july-11-2023-kb5028168-os-build-17763-4645-eff2d1e1-5f91-4d9a-aef1-ae26bdf51321

Please install the september update.

Longhorn004 commented 1 year ago

Please copy and paste the entirety of what the console output from EP showed you. It goes too quick in the video you posted and it can't be paused to view it.

You also are running an update from July: https://support.microsoft.com/en-gb/topic/july-11-2023-kb5028168-os-build-17763-4645-eff2d1e1-5f91-4d9a-aef1-ae26bdf51321

Please install the september update.

Logs: funchook create 1 Running on Windows 10, OS Build 10.0.17763.4851. Attempting to download symbol data; for now, the program may have limited functionality. Setup ntdll functions done Setup user32 functions done Setup explorer functions done Setup uxtheme functions done Failed to hook CLauncherTipContextMenu_ShowLauncherTipContextMenu(). rv = -1 Failed to hook twinui_pcshell_IsUndockedAssetAvailable(). rv = -1 Setup twinui.pcshell functions done Setup twinui functions done Setup stobject functions done Setup bthprops functions done Setup pnidui functions done Setup sndvolsso functions done Setup shell32 functions done Setup explorerframe functions done Setup windows.storage functions done Setup peopleband functions done Installed hooks. Open Start on monitor thread EP Service Window thread Initialized taskbar centering module. 0 0 [Updates] Starting daemon. [Updates] Configured update policy on this system: "Check for updates but let me choose whether to download and install them". [Updates] Path to module: C:\Windows\dxgi.dll [Updates] Checking against hash "22622.2361.58.1.6308ade2473120e6" [Updates] Update URL: https://github.com/valinet/ExplorerPatcher/releases/latest/download/ep_setup.exe [Symbols] Started "Download symbols" thread. [Symbols] Attempting to download symbols for unknown OS version 10.0.17763.4851. [Symbols] Downloading to "C:\Users\사용자\AppData\Roaming\ExplorerPatcher\". [Symbols] Downloading symbols for "C:\Windows\system32\twinui.pcshell.dll" ("1a6da8fdb051b01f8aa24354aab53a49")... [Updates] Hash of remote file is "22622.2361.58.1.6308ade2473120e6" (valid). [Updates] Local version obtained from hash is 22622.2361.58.1. [Updates] No updates are available. [Symbols] Reading symbols...

Even with the september update, it still doesn't want to hook it.

Amrsatrio commented 1 year ago

Is it possible for you to upload your Win10 VM so that I can test it myself? I just installed a fresh 17763 build and EP works as it should, with context menu positioning fixups, taskbar centering, and Weather. That hook failed message appears as well but it's nothing to worry about since they're only used (and required) in Windows 11.

Longhorn004 commented 1 year ago

Is it possible for you to upload your Win10 VM so that I can test it myself? I just installed a fresh 17763 build and EP works as it should, with context menu positioning fixups, taskbar centering, and Weather. That hook failed message appears as well but it's nothing to worry about since they're only used (and required) in Windows 11.

Which 17763 update are you running? Because i've haven't tested the English build. I only tested the Korean one.

pyrates999 commented 1 year ago

Is it possible for you to upload your Win10 VM so that I can test it myself? I just installed a fresh 17763 build and EP works as it should, with context menu positioning fixups, taskbar centering, and Weather. That hook failed message appears as well but it's nothing to worry about since they're only used (and required) in Windows 11.

Which 17763 update are you running? Because i've haven't tested the English build. I only tested the Korean one.

It appears to be this one: https://support.microsoft.com/en-us/topic/september-12-2023-kb5030214-os-build-17763-4851-e6ae7551-49f4-428e-b2d4-caa73078fb06

Windows 10 Enterprise LTSC v2019

Which is 4 years old. Might be too old to support.

Longhorn004 commented 1 year ago

Is it possible for you to upload your Win10 VM so that I can test it myself? I just installed a fresh 17763 build and EP works as it should, with context menu positioning fixups, taskbar centering, and Weather. That hook failed message appears as well but it's nothing to worry about since they're only used (and required) in Windows 11.

image

Weather works, but some of them such as non immersive taskbar context menu doesn't show correctly.

pyrates999 commented 1 year ago

Is there a reason why you're on the Enterprise version of windows 10 from 2019?

Longhorn004 commented 1 year ago

Is there a reason why you're on the Enterprise version of windows 10 from 2019?

It has LTSC support until 2029. And it's fast for me.

Longhorn004 commented 1 year ago

Is it possible for you to upload your Win10 VM so that I can test it myself? I just installed a fresh 17763 build and EP works as it should, with context menu positioning fixups, taskbar centering, and Weather. That hook failed message appears as well but it's nothing to worry about since they're only used (and required) in Windows 11.

Found the problem, it seems that the username I typed in Korean doesn't want to hook and read the symbols, leading to an explorer crash. Reinstalling it and typing it in English solves the problem.

pyrates999 commented 1 year ago

Hi @Amrsatrio,

If EP only supports usernames in english, could we add that check during install and when EP tries to hook itself into explorer.exe?

pyrates999 commented 1 year ago

Is there a reason why you're on the Enterprise version of windows 10 from 2019?

It has LTSC support until 2029. And it's fast for me.

Just be aware no one here tests EP against old releases of windows 10 and 11.

Amrsatrio commented 1 year ago

Okay so the problem lies in Valinet's PDB downloader which supports ASCII chars only in file paths. And sorry @pyrates999 I don't want to touch the setup code or such for now. Other than the user changing the username, the solutions would be:

  1. Adding a check during setup to notify that EP can only be installed in systems with only ASCII usernames
  2. Fixing the PDB downloader in libvalinet by changing const char* to wchar_t*
pyrates999 commented 1 year ago

Okay so the problem lies in Valinet's PDB downloader which supports ASCII chars only in file paths. And sorry @pyrates999 I don't want to touch the setup code or such for now. Other than the user changing the username, the solutions would be:

  1. Adding a check during setup to notify that EP can only be installed in systems with only ASCII usernames
  2. Fixing the PDB downloader in libvalinet by changing const char* to wchar_t*

Sounds good. I would add that this check for non-ascii characters that is checked during setup, also be checked when updating EP through it's update feature.