#309 zfproxyweb misbehaving

Closed
opened 1 year ago by cybik · 4 comments
cybik commented 1 year ago

Since days into Patch 2.7 (though this could merely have been "hiding" since 2.6 got stabilized), I have been getting intermittent, non-reproducible game hardcrashes triggered by seemingly random events. On at least two occasions, the output_log.txt file ended with this stack trace:

========== OUTPUTING STACK TRACE ==================

  ERROR: SymGetSymFromAddr64, GetLastError: 'Success.' (Address: 00000000564D5868)
0x00000000564D5868 (zfproxyweb) (function-name not available)
0x00000001816E6F80 (unityplayer) UnityMain
  ERROR: SymGetSymFromAddr64, GetLastError: 'Success.' (Address: 000000018209AF66)
0x000000018209AF66 (unityplayer) (function-name not available)
  ERROR: SymGetSymFromAddr64, GetLastError: 'Success.' (Address: 0000000182096D55)
0x0000000182096D55 (unityplayer) (function-name not available)
0x00000001816E9692 (unityplayer) UnityMain
0x00000001700621ED (ntdll) RtlProcessFlsData
0x000000017006265D (ntdll) RtlProcessFlsData
0x000000007B62C9E9 (kernel32) BaseThreadInitThunk
0x000000017005F1A7 (ntdll) RtlUserThreadStart

========== END OF STACKTRACE ===========

(by chance I had two different crash logs - the trace is identical)

Is it at all possible that this is an edge-case we must live with? Or could it even be a bug Windows players must suffer through as well. The last possibility is this is triggered by an incoming notification that hits zfproxyweb and then kaboom.

Since days into Patch 2.7 (though this could merely have been "hiding" since 2.6 got stabilized), I have been getting intermittent, non-reproducible game hardcrashes triggered by seemingly random events. On at least two occasions, the output_log.txt file ended with this stack trace: ``` ========== OUTPUTING STACK TRACE ================== ERROR: SymGetSymFromAddr64, GetLastError: 'Success.' (Address: 00000000564D5868) 0x00000000564D5868 (zfproxyweb) (function-name not available) 0x00000001816E6F80 (unityplayer) UnityMain ERROR: SymGetSymFromAddr64, GetLastError: 'Success.' (Address: 000000018209AF66) 0x000000018209AF66 (unityplayer) (function-name not available) ERROR: SymGetSymFromAddr64, GetLastError: 'Success.' (Address: 0000000182096D55) 0x0000000182096D55 (unityplayer) (function-name not available) 0x00000001816E9692 (unityplayer) UnityMain 0x00000001700621ED (ntdll) RtlProcessFlsData 0x000000017006265D (ntdll) RtlProcessFlsData 0x000000007B62C9E9 (kernel32) BaseThreadInitThunk 0x000000017005F1A7 (ntdll) RtlUserThreadStart ========== END OF STACKTRACE =========== ``` (by chance I had two different crash logs - the trace is *identical*) Is it at all possible that this is an edge-case we must live with? Or could it even be a bug Windows players must suffer through as well. The last possibility is this is triggered by an incoming notification that hits zfproxyweb and then kaboom.
Krock commented 1 year ago
Owner

I noticed this crash too once on on startup, but forgot to backup the output log file.

Would you please be so nice to provide the line above this stack trace which contains ZFProxyWeb.dll? This will provide the address offset I need for static analysis.

I noticed this crash too once on on startup, but forgot to backup the output log file. Would you please be so nice to provide the line above this stack trace which contains `ZFProxyWeb.dll`? This will provide the address offset I need for static analysis.
cybik commented 1 year ago
Poster

Sure!

The specific line is:

C:\Program Files\Genshin Impact\GenshinImpact_Data\Plugins\ZFProxyWeb.dll:ZFProxyWeb.dll (00000000564A0000), size: 675840 (result: 0), SymType: '-exported-', PDB: 'C:\Program Files\Genshin Impact\GenshinImpact_Data\Plugins\ZFProxyWeb.dll'

Full trace: https://gist.github.com/cybik/af6141cfd3fbd6d4b9934ef6c6c64c29

Sure! The specific line is: ``` C:\Program Files\Genshin Impact\GenshinImpact_Data\Plugins\ZFProxyWeb.dll:ZFProxyWeb.dll (00000000564A0000), size: 675840 (result: 0), SymType: '-exported-', PDB: 'C:\Program Files\Genshin Impact\GenshinImpact_Data\Plugins\ZFProxyWeb.dll' ``` Full trace: https://gist.github.com/cybik/af6141cfd3fbd6d4b9934ef6c6c64c29
Krock commented 1 year ago
Owner

This is Thread Local Storage specific code that is used when tasks are completed and freed. The file is functionally identical to 2.6.0 and 2.5.0. Hence I believe this is caused by either a Wine/Proton change or (although less likely) the game itself.

ZFProxyWeb is used in multiple Unity games. Another function seems to have an issue too: https://github.com/ValveSoftware/Proton/issues/2856#issuecomment-511069697

I do not know how I could fix this bug. The best solution for now would be to check different Wine versions or to live with occasional crashes. It might also be possible to close the browser process and hope that the code is no longer executed.

This is Thread Local Storage specific code that is used when tasks are completed and freed. The file is functionally identical to 2.6.0 and 2.5.0. Hence I believe this is caused by either a Wine/Proton change or (although less likely) the game itself. ZFProxyWeb is used in multiple Unity games. Another function seems to have an issue too: https://github.com/ValveSoftware/Proton/issues/2856#issuecomment-511069697 I do not know how I could fix this bug. The best solution for now would be to check different Wine versions or to live with occasional crashes. It might also be possible to close the browser process and hope that the code is no longer executed.
cybik commented 1 year ago
Poster

Of course it would be thread-related dark magicks.

At the very least we know this is an issue outside the scope of dawn. Closing ticket - feel free to add this one to the Troubleshooting guide.

Of course it would be thread-related dark magicks. At the very least we know this is an issue outside the scope of dawn. Closing ticket - feel free to add this one to the Troubleshooting guide.
Sign in to join this conversation.
Loading...
Cancel
Save
There is no content yet.