ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.65k stars 1.07k forks source link

Darza's Dominion (1895130) #5812

Open nulani38728 opened 2 years ago

nulani38728 commented 2 years ago

Compatibility Report

System Information

I confirm:

steam-1895130.log

Symptoms

The game fails to launch altogether and returns a trace describing an unhandled exception in wine itself.

Reproduction

  1. Use any Proton version
  2. Attempt to launch game

*Note: I had to unset the WINEDEBUG env var (was set to -all) to allow logs to be generated with PROTON_LOG=1.

madewokherd commented 2 years ago

This looks like it's probably relevant:

Unhandled exception. System.TypeInitializationException: The type initializer for '/????Z?C87Pl??x?
?d???R???????E?{05,??P' threw an exception.
 ---> System.TypeInitializationException: The type initializer for 'Z?????<7??H?    ?:??;Å??????r?}I??f?s?(|?dw' threw an exception.
 ---> System.ArgumentNullException: Value cannot be null. (Parameter 'input')
   at System.IO.BinaryReader..ctor(Stream input, Encoding encoding, Boolean leaveOpen)
   at /????Z?C87Pl??x?
?d???R???????E?{05\,??/.???V|?????????B??h???C????#?F??s?????R(Stream +?>????O?????K;?e?E????????u?????K??)

Looks like obfuscated code but no reason to believe the obfuscator itself is causing problems yet.

madewokherd commented 2 years ago

This is actually using .NET Core, so wine-mono isn't involved. That limits my ability to monitor what it's doing, and I haven't found anything obvious in wine logs.

thereis8 commented 1 year ago

The game launches with proton-tkg or GE-Proton7-43, however crashes at login/registration, both versions produce different reports from the games crash handler. I don't know if providing info from non-valve proton versions is ill advised, but i thought its worth mentioning.

steam-1895130ge.log steam-1895130tkg.log

thereis8 commented 1 year ago

Trying more proton-tkg versions (based off wine 7.22, 8.0-rc0 and 8.0-rc4), i have little to no technical knowledge but looks to me like the issue causing crashes on start must have been fixed upstream, but its still having issues with RSA encryption(?)

edit: To clear up potential confusion, i am not trying to report a bug with a non-valve proton version, just providing information that the game launches under those versions, which are (to my knowledge) built on newer wine builds compared to Valves. I'll submit an issue to the maintainer of proton-tkg as advised in their repository.


Unhandled exception. Internal.Cryptography.CryptoThrowHelper+WindowsCryptographicException: Unknown error (0x8009002d)
   at System.Security.Cryptography.RSAImplementation.RSACng.EncryptOrDecrypt(SafeNCryptKeyHandle key, ReadOnlySpan`1 input, AsymmetricPaddingMode paddingMode, Void* paddingInfo, Boolean encrypt)
   at System.Security.Cryptography.RSAImplementation.RSACng.EncryptOrDecrypt(Byte[] data, RSAEncryptionPadding padding, Boolean encrypt)
   at System.Security.Cryptography.RSAImplementation.RSACng.Encrypt(Byte[] data, RSAEncryptionPadding padding)
   at DarzasDominion.Darza.Crypto.CryptoProvider.EncryptRsaBase64(String value, Encoding encoding)
   at ????????????????????????????7??????????.????p?D?u3?????=g???????????????I??????>(String >??W???2?7???v???????????&?~????????????, String >??W???2?7???v???????????&?~????????????, Action`2 >??W???2?7???v???????????&?~????????????)
   at ????????????????????????????7??????????.????H??????????????;?9??C??????????o??()
   at (Object , ????????????????????????????7?????????? , TouchLocation , Boolean )
   at ?????????uh???v?????????????"???nS??????.?????????uh???v?????????????"???nS??????(Object , ????????????????????????????7?????????? , TouchLocation , Boolean )
   at ????????????????????????????7??????????.?;?*?D???)??????????????:~??G?$???????(TouchLocation >??W???2?7???v???????????&?~????????????, Boolean >??W???2?7???v???????????&?~????????????)
   at (Object , TouchLocation , Boolean )
   at ?????????uh???v?????????????"???nS??????.?????????uh???v?????????????"???nS??????(Object , TouchLocation , Boolean )
   at ????????????????????????????7??????????.i???/??????? ????z??s??bb??!?????l???U(TouchLocation >??W???2?7???v???????????&?~????????????)
   at (Object , TouchLocation )
   at ?????????uh???v?????????????"???nS??????.?????????uh???v?????????????"???nS??????(Object , TouchLocation )
   at ????????????????????????????7??????????.????????????i??????P???????#?h???????.?(????????????????????????????7?????????? >??W???2?7???v???????????&?~????????????)
   at ????????????????????????????7??????????.??????????V??z?????????}???k?????q????v?(Single >??W???2?7???v???????????&?~????????????)
   at ????????????????????????????7??????????.Update(GameTime >??W???2?7???v???????????&?~????????????)
   at Microsoft.Xna.Framework.Game.DoUpdate(GameTime gameTime)
   at Microsoft.Xna.Framework.Game.Tick()
   at MonoGame.Framework.WinFormsGameWindow.TickOnIdle(Object sender, EventArgs e)
   at System.Windows.Forms.Application.ThreadContext.System.Windows.Forms.UnsafeNativeMethods.IMsoComponent.FDoIdle(Int32 grfidlef)
   at System.Windows.Forms.Application.ComponentManager.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop(IntPtr dwComponentID, Int32 reason, Int32 pvLoopData)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoopInner(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.ThreadContext.RunMessageLoop(Int32 reason, ApplicationContext context)
   at System.Windows.Forms.Application.Run(Form mainForm)
   at MonoGame.Framework.WinFormsGameWindow.RunLoop()
   at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior)
   at ????????????????????????????7??????????.Main()
madewokherd commented 1 year ago

0x8009002d is NTE_INTERNAL_ERROR (found by searching github), and is returned when Wine's ncrypt.dll gets an NT status code it doesn't recognize. There should be a fixme line from map_ntstatus showing the actual error code.

thereis8 commented 1 year ago

There is, 17966.137:0158:015c:fixme:ncrypt:map_ntstatus unhandled status 0xc0000002, which from my quick search should mean the feature its calling upon is not supported yet.

thereis8 commented 1 year ago

Trying out vanilla proton bleeding edge, the game crashes on launch, with the crash report being the same as experimental, I might also have incorrectly assumed that the fix for this is upstream, but it might be the result of a patch from the different proton versions i've used. I'm also sorry for potentially wasting time by reporting additional information from non-valve versions, but as I'm new to the issue system, i don't quite know where to put information regarding the game progressing further with those versions compared to vanilla.


Unhandled exception. System.NotSupportedException: The song contains video data!
   at Microsoft.Xna.Framework.Media.Song.PlatformInitialize(String fileName)
   at Microsoft.Xna.Framework.Media.Song..ctor(String fileName, Int32 durationMS)
   at Microsoft.Xna.Framework.Content.SongReader.Read(ContentReader input, Song existingInstance)
   at Microsoft.Xna.Framework.Content.ContentTypeReader`1.Read(ContentReader input, Object existingInstance)
   at Microsoft.Xna.Framework.Content.ContentReader.InnerReadObject[T](T existingInstance)
   at Microsoft.Xna.Framework.Content.ContentReader.ReadObject[T]()
   at Microsoft.Xna.Framework.Content.ContentReader.ReadAsset[T]()
   at Microsoft.Xna.Framework.Content.ContentManager.ReadAsset[T](String assetName, Action`1 recordDisposableObject)
   at Microsoft.Xna.Framework.Content.ContentManager.Load[T](String assetName)
   at DarzasDominion.Data.SoundManager.Init(ContentManager >??W???2?7???v???????????&?~????????????)
   at ????????????????????????????7??????????.??????????V??z?????????}???k?????q????v?(ContentManager >??W???2?7???v???????????&?~????????????)
   at ????????????????????????????7??????????.LoadContent()
   at ????????????????????????????7??????????.Initialize()
   at Microsoft.Xna.Framework.Game.DoInitialize()
   at Microsoft.Xna.Framework.Game.Run(GameRunBehavior runBehavior)
   at ????????????????????????????7??????????.Main()