protonscr

Proton patch appears to cause delayed file handle closing, or file handle leaks, in ieframe

wineclosed
ValveSoftware/wine#136 · opened 2022-02-16 by w-flo · updated 2023-02-26 · 3 comments · github
Ww-flo 2022-02-16 github

This proton patch in Proton 6.3 and in Proton 7.0 for urlmon.dll leads to an issue in Zusi 3 - Aerosoft Edition (1040730). Reverting the commit and copying the built urlmon.dll into Proton 7's dist/lib/wine/i386-windows directory fixes the bug for me.

  1. Launch Zusi 3 - Aerosoft Edition through Steam (on first start/prefix creation, it will ask to install dotnet and ask a language setting – assuming German/Deutsch here)
  2. From the window main menu, select "Simulation" -> "Fahrplan öffnen".
  3. In the file browser, open the file "Deutschland/Gommern_Gueterglueck/Gommern_Gueterglueck_1993-94.fpn"
  4. After the loading process ends, extend the "1a. Fernverkehr nach Berlin" section in the tree view
  5. Select (single-click) the IC 508 train from the extended tree view section - the train details will be displayed correctly in the right-hand side of the window.
  6. Now select the ICE 694 train from the tree view - and notice the error message that says something like: can't create file zeitstrahl.bmp: sharing violation ("Freigabeverletzung"). Also, the train details won't show on the right-hand side of the window.

Zusi generates a little zeitstrahl.bmp image that is embedded into the ieframe on the right-hand side of the window to highlight the time when this train is active on a time scale. When the proton patch is applied, apparently ieframe fails to close the zeitstrahl.bmp file after the HTML page load. ieframe/mshtml/urlmon/?? opens that file in exclusive file sharing mode (or whatever the Windows mechanism for this is called), so when Zusi attempts to update the file after selecting a different train (ICE 694 in this case), that attempt fails.

Rrbernon 2022-02-16 github

Hi, thanks for the report!

This patch is indeed pretty much incorrect and the problem it was trying to solve has actually been fixed in a better way somewhere else. The patch was not even needed anymore in Proton 7.0 but we missed it and we will remove it in next release. I hope this will solve your issue.

Ww-flo 2022-02-16 github

Thank you Rémi, that is great to hear!

Ww-flo 2023-02-26 github

As expected, the issue in Zusi 3 is gone when using current Proton, so I'll close this. Thanks again!

Proton versions

DLLs