#494 NtRaiseHardError upon startup

Open
opened 5 days ago by jingai · 8 comments
jingai commented 5 days ago

Was playing this morning about ten hours ago, but game fails to load today:

027c:err:service:validate_context_handle Access denied - handle created with access 34, needed 10000
0290:err:module:import_dll Library WDFLDR.SYS (which is needed by L"C:\\windows\\system32\\HoYoKProtect.sys") not found
0290:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\HoYoProtect": c0000142
0268:fixme:ntdll:NtRaiseHardError 0x50000018 4 0x3 0x166fb80 0 0x166fa08: stub

wine-staging 10.5, dxvk 2.6, Linux kernel 6.13.8.

Was playing this morning about ten hours ago, but game fails to load today: ``` 027c:err:service:validate_context_handle Access denied - handle created with access 34, needed 10000 0290:err:module:import_dll Library WDFLDR.SYS (which is needed by L"C:\\windows\\system32\\HoYoKProtect.sys") not found 0290:err:ntoskrnl:ZwLoadDriver failed to create driver L"\\Registry\\Machine\\System\\CurrentControlSet\\Services\\HoYoProtect": c0000142 0268:fixme:ntdll:NtRaiseHardError 0x50000018 4 0x3 0x166fb80 0 0x166fa08: stub ``` wine-staging 10.5, dxvk 2.6, Linux kernel 6.13.8.
brpt commented 5 days ago

It worked for me today morning also, but now it shuts off in a second or three without ever displaying a window unless I turn off the internet for that time, which then allows to play normally.

It worked for me today morning also, but now it shuts off in a second or three without ever displaying a window unless I turn off the internet for that time, which then allows to play normally.
mkrsym1 commented 5 days ago

From what I've seen, they added a Wine enforcement check similar to HSR, but with a different mechanism which doesn't like old prefixes. Create a new prefix and try again.

From what I've seen, they added a Wine enforcement check similar to HSR, but with a different mechanism which doesn't like old prefixes. Create a new prefix and try again.
Krock commented 4 days ago
Owner

The documentation about NtRaiseHardError is almost non-existent, and the logged information is not helpful in any way:

0x50000018 = (status, possibly a custom status code)
4 = (params count)
0x3 = (params mask, unknown)
0x166fb80 = (params ptr ptr, unknown)
0 = OptionAbortRetryIgnore
0x166fa08 = (response ptr, unknown)

The next log line would be concerning NtPowerInformation, hence doing some environment checks.

Cannot reproduce with:

  • wine-10.4 + old WINEPREFIX, first created in Nov 2022
  • wine-10.4 + fresh WINEPREFIX (no DXVK)
  • Proton experimental-9.0-20250317 + old prefix, first created in Oct 2024

EDIT: I always used the internet disconnect workaround in my tests. If new code is sent to the client, should only be happening due to client-server communication. Did anything else in your environment change, such as package upgrades?

The documentation about `NtRaiseHardError` is almost non-existent, and the logged information is not helpful in any way: ``` 0x50000018 = (status, possibly a custom status code) 4 = (params count) 0x3 = (params mask, unknown) 0x166fb80 = (params ptr ptr, unknown) 0 = OptionAbortRetryIgnore 0x166fa08 = (response ptr, unknown) ``` The next log line would be concerning `NtPowerInformation`, hence doing some environment checks. Cannot reproduce with: * wine-10.4 + old WINEPREFIX, first created in Nov 2022 * wine-10.4 + fresh WINEPREFIX (no DXVK) * Proton experimental-9.0-20250317 + old prefix, first created in Oct 2024 EDIT: I always used the internet disconnect workaround in my tests. If new code is sent to the client, should only be happening due to client-server communication. Did anything else in your environment change, such as package upgrades?
yabb85 commented 4 days ago

After check several wine version the only parameter changed between working or not environment is usage of dxvk. Without dxvk the display is completly glitchy. Since few time If I cut network during launch, the game crash at exit, but without cut the network the game use lot of cpu but finish correctly. Another workaround is to reactivate dxvk and call directly GenshinImpact.exe instead of launcher.exe, but I cannot cut network with this workaround because error 4201 is displayed on screen with door.

After check several wine version the only parameter changed between working or not environment is usage of dxvk. Without dxvk the display is completly glitchy. Since few time If I cut network during launch, the game crash at exit, but without cut the network the game use lot of cpu but finish correctly. Another workaround is to reactivate dxvk and call directly GenshinImpact.exe instead of launcher.exe, but I cannot cut network with this workaround because error 4201 is displayed on screen with door.
mkrsym1 commented 4 days ago

This suddenly started happening a couple days ago (security file update? would make sense why you couldn't reproduce). I was affected, and I've seen a lot of cases, all fixed by recreating the prefix.

This is similar to how it was rolled out in HSR, a couple days after the version release with a security file update.

Actual check is under VMP, but there is a "Wine builtin DLL" string right under the driver class vftable in mhypbase.dll, assuming same compilation unit, so that's my guess.

This suddenly started happening a couple days ago (security file update? would make sense why you couldn't reproduce). I was affected, and I've seen a lot of cases, all fixed by recreating the prefix. This is similar to how it was rolled out in HSR, a couple days after the version release with a security file update. Actual check is under VMP, but there is a "Wine builtin DLL" string right under the driver class vftable in mhypbase.dll, assuming same compilation unit, so that's my guess.
jingai commented 3 days ago
Poster

Recreating the prefix did fix the issue for me yesterday, but now it is again failing to start in the same manner.

I have always been directly executing GenshinImpact.exe (well, via launcher.bat script here). Had not even tried to load via the launcher, but that does not work either.

Game does not work without DXVK either for me.

Recreating the prefix did fix the issue for me yesterday, but now it is again failing to start in the same manner. I have always been directly executing GenshinImpact.exe (well, via launcher.bat script here). Had not even tried to load via the launcher, but that does not work either. Game does not work without DXVK either for me.
jingai commented 3 days ago
Poster

Completely wiped the prefix, created a new one, and reinstalled the game (+ DXVK 2.6.1). Issue persisted.

Disconnecting internet did work around it, but man that will be annoying if this is a permanent change.

Completely wiped the prefix, created a new one, and reinstalled the game (+ DXVK 2.6.1). Issue persisted. Disconnecting internet did work around it, but man that will be annoying if this is a permanent change.
danilw commented 18 hours ago

I can confirm same - game wont start when "online". Offline still works.

I use Proton-GE 9-25, have not tried other versions.

Edit - got ingame update 50MB - since that it wont work in Proton anymore. Only wine-10.4 (Staging) work (with offline launch)

I can confirm same - game wont start when "online". Offline still works. I use Proton-GE 9-25, have not tried other versions. Edit - got ingame update 50MB - since that it wont work in Proton anymore. Only wine-10.4 (Staging) work (with offline launch)
Sign in to join this conversation.
Loading...
Cancel
Save
There is no content yet.