Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception at System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel SingeInstanceIPCChannel is not securable while ensureSecurity is specified as true #64

Open
mifwarior opened this issue Jul 31, 2020 · 11 comments

Comments

@mifwarior
Copy link

mifwarior commented Jul 31, 2020

yura@YuraPC:~/Games/Hellgate$ WINE_MONO_TRACE=E:Type wine Launcher.exe 
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
[00000024:] EXCEPTION handling: System.Runtime.Remoting.RemotingException: Channel London2038_Launcher_Mutexyura:SingeInstanceIPCChannel is not securable while ensureSecurity is specified as true

Unhandled Exception:
System.Runtime.Remoting.RemotingException: Channel London2038_Launcher_Mutexyura:SingeInstanceIPCChannel is not securable while ensureSecurity is specified as true
  at System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel (System.Runtime.Remoting.Channels.IChannel chnl, System.Boolean ensureSecurity) [0x0002a] in <7713cb95b33244ed9608bf0b23fbdce9>:0 
  at Microsoft.Shell.SingleInstance`1[TApplication].CreateRemoteService (System.String channelName) [0x00045] in <37cd14dfd05448cc84f66836eea43ecd>:0 
  at Microsoft.Shell.SingleInstance`1[TApplication].InitializeAsFirstInstance (System.String uniqueName) [0x00039] in <37cd14dfd05448cc84f66836eea43ecd>:0 
  at Launcher.App.Main () [0x00000] in <37cd14dfd05448cc84f66836eea43ecd>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.Runtime.Remoting.RemotingException: Channel London2038_Launcher_Mutexyura:SingeInstanceIPCChannel is not securable while ensureSecurity is specified as true
  at System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel (System.Runtime.Remoting.Channels.IChannel chnl, System.Boolean ensureSecurity) [0x0002a] in <7713cb95b33244ed9608bf0b23fbdce9>:0 
  at Microsoft.Shell.SingleInstance`1[TApplication].CreateRemoteService (System.String channelName) [0x00045] in <37cd14dfd05448cc84f66836eea43ecd>:0 
  at Microsoft.Shell.SingleInstance`1[TApplication].InitializeAsFirstInstance (System.String uniqueName) [0x00039] in <37cd14dfd05448cc84f66836eea43ecd>:0 
  at Launcher.App.Main () [0x00000] in <37cd14dfd05448cc84f66836eea43ecd>:0 

is there any solution?
wine-5.13
whine-mono 5.1.0

@madewokherd
Copy link
Owner

Can you get a log with WINE_MONO_TRACE=M:System.Runtime.Remoting.Channels.ChannelServices:RegisterChannel?

@mifwarior
Copy link
Author

yura@YuraPC:~/Games/Hellgate$ WINE_MONO_TRACE=M:System.Runtime.Remoting.Channels.ChannelServices:RegisterChannel wine Launcher.exe 
0024:fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_PERFORMANCE_INFORMATION
[00000024: 0.00000 0] ENTER:c System.Runtime.Remoting.Channels.ChannelServices:RegisterChannel (System.Runtime.Remoting.Channels.IChannel,bool)([System.Runtime.Remoting.Channels.Ipc.IpcServerChannel:02000F00], 1)
[00000024:] EXCEPTION handling: System.Runtime.Remoting.RemotingException: Channel London2038_Launcher_Mutexyura:SingeInstanceIPCChannel is not securable while ensureSecurity is specified as true

Unhandled Exception:
System.Runtime.Remoting.RemotingException: Channel London2038_Launcher_Mutexyura:SingeInstanceIPCChannel is not securable while ensureSecurity is specified as true
  at System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel (System.Runtime.Remoting.Channels.IChannel chnl, System.Boolean ensureSecurity) [0x0002a] in <7713cb95b33244ed9608bf0b23fbdce9>:0 
  at Microsoft.Shell.SingleInstance`1[TApplication].CreateRemoteService (System.String channelName) [0x00045] in <37cd14dfd05448cc84f66836eea43ecd>:0 
  at Microsoft.Shell.SingleInstance`1[TApplication].InitializeAsFirstInstance (System.String uniqueName) [0x00039] in <37cd14dfd05448cc84f66836eea43ecd>:0 
  at Launcher.App.Main () [0x00000] in <37cd14dfd05448cc84f66836eea43ecd>:0 
[ERROR] FATAL UNHANDLED EXCEPTION: System.Runtime.Remoting.RemotingException: Channel London2038_Launcher_Mutexyura:SingeInstanceIPCChannel is not securable while ensureSecurity is specified as true
  at System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel (System.Runtime.Remoting.Channels.IChannel chnl, System.Boolean ensureSecurity) [0x0002a] in <7713cb95b33244ed9608bf0b23fbdce9>:0 
  at Microsoft.Shell.SingleInstance`1[TApplication].CreateRemoteService (System.String channelName) [0x00045] in <37cd14dfd05448cc84f66836eea43ecd>:0 
  at Microsoft.Shell.SingleInstance`1[TApplication].InitializeAsFirstInstance (System.String uniqueName) [0x00039] in <37cd14dfd05448cc84f66836eea43ecd>:0 
  at Launcher.App.Main () [0x00000] in <37cd14dfd05448cc84f66836eea43ecd>:0 

sure
how can i help you solve this error?

@mifwarior
Copy link
Author

perhaps mono itself does not support such a function?
https://forums.xamarin.com/discussion/73218/xamarin-does-not-implement-isecurablechannel-on-tcpchannel

@madewokherd
Copy link
Owner

The log shows that this is an IpcServerChannel, not TcpChannel, but it seems to be the same situation.

I'm not sure what ISecurableChannel is supposed to do. MSDN just says "Gets or sets a Boolean value that indicates whether the current channel is secure."

@mifwarior
Copy link
Author

found some information here
ChannelServices.RegisterChannel

Repository owner deleted a comment from mifwarior Aug 5, 2020
@madewokherd
Copy link
Owner

Do not decompile .NET Framework code.

@mifwarior
Copy link
Author

thanks for the safety.

I suspect the whole thing is the default IChannel secure field for mono and net.framework

@alexhenrie
Copy link

This sounds like the same problem, posted way back in 2007: http://www.claassen.net/geek/blog/2007/06/isecurablechannel-in-tcpchannel-not.html

@alexhenrie
Copy link

The MSDN documentation for RegisterChannel offers this explanation:

If the ensureSecurity parameter is set to true, the remoting system determines whether the channel implements ISecurableChannel, and if so, enables encryption and digital signatures. An exception is thrown if the channel does not implement ISecurableChannel.

I thought about adding a stub ISecurableChannel implementation to Mono's IpcServerChannel implementation and Mono's TcpChannel implementation, which would do no encryption even if the IsSecured property is set to true. However, I don't know how we would ensure that the fake implementation is only used for connections that stay on the local machine. If there's any chance that data sent to the channel could be sent over the internet unencrypted, that could be very bad.

@samuel-sflima
Copy link

Is there a way to disable ensureSecurity?

@alexhenrie
Copy link

Is there a way to disable ensureSecurity?

The application you're running would have to do that. There's no override option in Mono.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants