https://bugs.winehq.org/show_bug.cgi?id=51213
Bug ID: 51213 Summary: GZDoom Builder 2.3 r2787 fails with IdentityNotMappedException Product: Wine Version: 6.9 Hardware: x86-64 OS: Linux Status: NEW Severity: normal Priority: P2 Component: mscoree Assignee: wine-bugs@winehq.org Reporter: madewokherd@gmail.com Distribution: ---
Tested using Wine 6.9 and Wine Mono 6.2.0.
GZDoom Builder 2.3 r2787 fails to start with an exception:
[00000024:] EXCEPTION handling: System.Security.Principal.IdentityNotMappedException: Unable to map SID: S-1-5-21-0-0-0-1000 at System.Security.Principal.SecurityIdentifier.Translate (System.Type) [0x0004d] in <db04fe9e4bca4610adf3414d35e3c1a4>:0 at System.Security.AccessControl.ObjectSecurity.InternalAccessRuleFactory (System.Security.AccessControl.QualifiedAce,System.Type,System.Security.AccessControl.AccessControlType) [0x00007] in <db04fe9e4bca4610adf3414d35e3c1a4>:0 at System.Security.AccessControl.ObjectSecurity.InternalGetAccessRules (bool,bool,System.Type) [0x00061] in <db04fe9e4bca4610adf3414d35e3c1a4>:0 at System.Security.AccessControl.CommonObjectSecurity.GetAccessRules (bool,bool,System.Type) [0x00000] in <db04fe9e4bca4610adf3414d35e3c1a4>:0 at CodeImp.DoomBuilder.General.CheckWritePremissions (string) [0x0000e] in <1d2596b690724749a5f28b323fe25637>:0 at CodeImp.DoomBuilder.UpdateChecker.PerformCheck (bool) [0x00028] in <1d2596b690724749a5f28b323fe25637>:0 at CodeImp.DoomBuilder.General.Main (string[]) [0x0060c] in <1d2596b690724749a5f28b323fe25637>:0 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00027] in <1d2596b690724749a5f28b323fe25637>:0
It seems like Mono's version of the Translate function can only handle well-known SIDs, not a user SID.
https://bugs.winehq.org/show_bug.cgi?id=51213
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |https://web.archive.org/web | |/20170113205844/http://devb | |uilds.drdteam.org/doombuild | |er2-gzdb/GZDoom_Builder-r27 | |87.7z
https://bugs.winehq.org/show_bug.cgi?id=51213
--- Comment #1 from Esme Povirk madewokherd@gmail.com --- We may want to try importing the corefx version of these classes for Wine Mono, it would also help with bug 25167.
https://bugs.winehq.org/show_bug.cgi?id=51213
--- Comment #2 from Esme Povirk madewokherd@gmail.com --- I pushed the import here: https://github.com/madewokherd/mono/tree/principal
Due to bugs/gaps in Wine's implementation of functions that these classes use, I can't commit the import without introducing regressions.
https://bugs.winehq.org/show_bug.cgi?id=51213
--- Comment #3 from Esme Povirk madewokherd@gmail.com --- Import pushed to develop branch, CI build here: https://github.com/madewokherd/wine-mono/actions/runs/958225784
I now get a new error: 0024:err:ntdll:NtQueryInformationToken Unhandled token information class 37 [00000024:] EXCEPTION handling: System.Security.SecurityException: GetTokenInformation returned error 1
"Main Application" tid=00000024 this=027a0120 , thread handle : 00b54ab0, state : not waiting at System.Security.Principal.WindowsIdentity.GetTokenInformation (Microsoft.Win32.SafeHandles.SafeAccessTokenHandle,System.Security.Principal.TokenInformationClass,bool) [0x000ba] in <e465ed4e7813490db5d14a98f3174d0e>:0 at System.Security.Principal.WindowsIdentity.AddDeviceGroupSidClaims (System.Collections.Generic.List`1<System.Security.Claims.Claim>,System.Security.Principal.TokenInformationClass) [0x00014] in <e465ed4e7813490db5d14a98f3174d0e>:0 at System.Security.Principal.WindowsIdentity.InitializeClaims () [0x0009b] in <e465ed4e7813490db5d14a98f3174d0e>:0 at System.Security.Principal.WindowsIdentity/<get_Claims>d__92.MoveNext () [0x0003c] in <e465ed4e7813490db5d14a98f3174d0e>:0 at System.Security.Claims.ClaimsIdentity.HasClaim (string,string) [0x00059] in <e465ed4e7813490db5d14a98f3174d0e>:0 at System.Security.Claims.ClaimsPrincipal.IsInRole (string) [0x0002f] in <e465ed4e7813490db5d14a98f3174d0e>:0 at System.Security.Principal.WindowsPrincipal.IsInRole (string) [0x00051] in <e465ed4e7813490db5d14a98f3174d0e>:0 at CodeImp.DoomBuilder.General.CheckWritePremissions (string) [0x00087] in <1d2596b690724749a5f28b323fe25637>:0 at CodeImp.DoomBuilder.UpdateChecker.PerformCheck (bool) [0x00028] in <1d2596b690724749a5f28b323fe25637>:0 at CodeImp.DoomBuilder.General.Main (string[]) [0x0060c] in <1d2596b690724749a5f28b323fe25637>:0 at (wrapper runtime-invoke) <Module>.runtime_invoke_void_object (object,intptr,intptr,intptr) [0x00027] in <1d2596b690724749a5f28b323fe25637>:0
37 is TokenDeviceGroups. It also expects TokenUserClaimAttributes and TokenDeviceClaimAttributes.
https://bugs.winehq.org/show_bug.cgi?id=51213
--- Comment #4 from Esme Povirk madewokherd@gmail.com --- The corefx code accounts for failure in those calls, but it expects an "invalid parameter" code, not an "unimplemented function" code which Wine returns. Treating Wine's failure the same way works around the exception, but I don't think it works correctly, because the program incorrectly reports it doesn't have write access to its location.
https://bugs.winehq.org/show_bug.cgi?id=51213
--- Comment #5 from Esme Povirk madewokherd@gmail.com --- Pushed work-around: https://github.com/madewokherd/mono/commit/a51dd42fb51885f84105d25863a1c1cb8...
https://bugs.winehq.org/show_bug.cgi?id=51213
--- Comment #6 from Esme Povirk madewokherd@gmail.com --- CI build with work-around: https://github.com/madewokherd/wine-mono/actions/runs/962057724
https://bugs.winehq.org/show_bug.cgi?id=51213
Esme Povirk madewokherd@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |451a54bc7a77b8b816f28ad1c61 | |5745e650586ae
--- Comment #7 from Esme Povirk madewokherd@gmail.com --- Fixed in Wine Mono 6.3.0.
https://bugs.winehq.org/show_bug.cgi?id=51213
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #8 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 6.14.