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

[3.5 RC2] libmono-btls-shared.dll is missing #61364

Closed
zaksnet opened this issue May 24, 2022 · 16 comments
Closed

[3.5 RC2] libmono-btls-shared.dll is missing #61364

zaksnet opened this issue May 24, 2022 · 16 comments
Assignees
Milestone

Comments

@zaksnet
Copy link
Contributor

zaksnet commented May 24, 2022

Godot version

v3.5.rc2.mono.official [5f9bc7e]

System information

Windows 11

Issue description

libmono-btls-shared.dll seems to be missing from Godot v3.5.rc2.

After coping libmono-btls-shared.dll from Godot v3.4.4 Stable under \GodotSharp\Mono\bin of Godot v3.5.rc2 it seems to work but I though its worth reporting.

System.Security.
Authentication.AuthenticationException: Authentication failed, see inner excepti
on. ---> System.DllNotFoundException: libmono-btls-shared assembly:<unknown asse
mbly> type:<unknown type> member:(null)
  at (wrapper managed-to-native) Mono.Btls.MonoBtlsSslCtx.mono_btls_ssl_ctx_new(
)
  at Mono.Btls.MonoBtlsSslCtx..ctor () [0x00000] in <7a3b45af41ef4245b921f3358af
1011e>:0
  at Mono.Btls.MonoBtlsContext.InitializeConnection () [0x00000] in <7a3b45af41e
f4245b921f3358af1011e>:0
  at Mono.Btls.MonoBtlsContext.StartHandshake () [0x00000] in <7a3b45af41ef4245b
921f3358af1011e>:0
  at Mono.Net.Security.MobileAuthenticatedStream.ProcessHandshake (Mono.Net.Secu
rity.AsyncOperationStatus status, System.Boolean renegotiate) [0x0007e] in <7a3b
45af41ef4245b921f3358af1011e>:0
  at (wrapper remoting-invoke-with-check) Mono.Net.Security.MobileAuthenticatedS
tream.ProcessHandshake(Mono.Net.Security.AsyncOperationStatus,bool)
  at Mono.Net.Security.AsyncHandshakeRequest.Run (Mono.Net.Security.AsyncOperati
onStatus status) [0x00006] in <7a3b45af41ef4245b921f3358af1011e>:0
  at Mono.Net.Security.AsyncProtocolRequest.ProcessOperation (System.Threading.C
ancellationToken cancellationToken) [0x000fc] in <7a3b45af41ef4245b921f3358af101
1e>:0
   --- End of inner exception stack trace ---
  at Mono.Net.Security.AsyncProtocolRequest.ProcessOperation (System.Threading.C
ancellationToken cancellationToken) [0x00115] in <7a3b45af41ef4245b921f3358af101
1e>:0
  at Mono.Net.Security.AsyncProtocolRequest.StartOperation (System.Threading.Can
cellationToken cancellationToken) [0x0008b] in <7a3b45af41ef4245b921f3358af1011e
>:0
  at Mono.Net.Security.MobileAuthenticatedStream.ProcessAuthentication (System.B
oolean runSynchronously, Mono.Net.Security.MonoSslAuthenticationOptions options,
 System.Threading.CancellationToken cancellationToken) [0x00262] in <7a3b45af41e
f4245b921f3358af1011e>:0
  at MQTTnet.Implementations.MqttTcpChannel.ConnectAsync (System.Threading.Cance
llationToken cancellationToken) [0x002c5] in <be13c8b302534089ba379d2a0aa1089b>:
0
  at MQTTnet.Internal.MqttTaskTimeout.WaitAsync (System.Func`2[T,TResult] action
, System.TimeSpan timeout, System.Threading.CancellationToken cancellationToken)
 [0x000c2] in <be13c8b302534089ba379d2a0aa1089b>:0
  at MQTTnet.Adapter.MqttChannelAdapter.ConnectAsync (System.TimeSpan timeout, S
ystem.Threading.CancellationToken cancellationToken) [0x00122] in <be13c8b302534
089ba379d2a0aa1089b>:0
   --- End of inner exception stack trace ---
  at MQTTnet.Adapter.MqttChannelAdapter.WrapAndThrowException (System.Exception
exception) [0x0006e] in <be13c8b302534089ba379d2a0aa1089b>:0
  at MQTTnet.Adapter.MqttChannelAdapter.ConnectAsync (System.TimeSpan timeout, S
ystem.Threading.CancellationToken cancellationToken) [0x00131] in <be13c8b302534
089ba379d2a0aa1089b>:0
  at MQTTnet.Client.MqttClient.ConnectAsync (MQTTnet.Client.Options.IMqttClientO
ptions options, System.Threading.CancellationToken cancellationToken) [0x001d0]
in <be13c8b302534089ba379d2a0aa1089b>:0
  at MQTTnet.Client.MqttClient.ConnectAsync (MQTTnet.Client.Options.IMqttClientO
ptions options, System.Threading.CancellationToken cancellationToken) [0x004a7]
in <be13c8b302534089ba379d2a0aa1089b>:0
  at MQTTnet.Extensions.ManagedClient.ManagedMqttClient.ReconnectIfRequiredAsync
 (System.Threading.CancellationToken cancellationToken) [0x000aa] in <3306143eba
5640ac8b4511d5ab397bc7>:0

Steps to reproduce

I guess any http/https call through C# will reproduce this

Minimal reproduction project

No response

@akien-mga akien-mga self-assigned this May 24, 2022
@akien-mga akien-mga added this to the 3.5 milestone May 24, 2022
@akien-mga
Copy link
Member

I thought the work done to build and include this lib actually hadn't led to something useful in #54758, but apparently I was mistaken. I'll fix it up to re-add this.

@akien-mga akien-mga changed the title [3.5.2RC] libmono-btls-shared.dll is missing [3.5 RC2] libmono-btls-shared.dll is missing May 24, 2022
@zaksnet
Copy link
Contributor Author

zaksnet commented May 24, 2022

@akien-mga I'm not sure what you mean about #54758, the issue with #54758 is still there even with 3.5 RC2 (unless you apply the fix pointed by @juse4pro). Unless you have a special build of that dll in 3.5 RC1 that was supposed to fix this, let me know if you want me to do some testing 👌

@akien-mga
Copy link
Member

Well I was a bit confused because it seems to me that all work done on godot-mono-builds to build BTLS was supposed to fix #54758, but it didn't. But I didn't follow in depth and kind of got confused several times along the way, which led to this issue now :)

@akien-mga
Copy link
Member

Can you check if this build works fine out of the box? https://downloads.tuxfamily.org/godotengine/testing/Godot_v3.5-rc2_mono_win64%2bbtls.zip

@zaksnet
Copy link
Contributor Author

zaksnet commented May 25, 2022

Can you check if this build works fine out of the box? https://downloads.tuxfamily.org/godotengine/testing/Godot_v3.5-rc2_mono_win64%2bbtls.zip

I can confirm this works perfectly in the editor @akien-mga 🙌. I didn't try testing exporting as I assume the export templates have to be updated also

@zaksnet
Copy link
Contributor Author

zaksnet commented Jul 28, 2022

This has been resolved in later versions.

@zaksnet zaksnet closed this as completed Jul 28, 2022
@rohanrhu
Copy link
Contributor

rohanrhu commented Feb 9, 2023

We still have this bug on MacOS.

 System.Net.Http.HttpRequestException: The SSL connection could not be established, see inner exception. --->
System.Security.Authentication.AuthenticationException: Authentication failed, see inner exception. --->
System.DllNotFoundException:
/Applications/Godot_mono.app/Contents/MacOS/../Resources/GodotSharp/Mono/lib/../lib/libmono-btls-shared.dylib assembly:<unknown assembly> type:<unknown type> member:(null)

@akien-mga
Copy link
Member

@rohanrhu With which Godot version?

@rohanrhu
Copy link
Contributor

rohanrhu commented Feb 9, 2023

@rohanrhu With which Godot version?

v3.5.1.stable.mono.official [6fed1ff]

@akien-mga
Copy link
Member

Can you confirm that this file exists?

/Applications/Godot_mono.app/Contents/Resources/GodotSharp/Mono/lib/libmono-btls-shared.dylib

@rohanrhu
Copy link
Contributor

rohanrhu commented Feb 9, 2023

Can you confirm that this file exists?

/Applications/Godot_mono.app/Contents/Resources/GodotSharp/Mono/lib/libmono-btls-shared.dylib

It exists:

➜ file /Applications/Godot_mono.app/Contents/Resources/GodotSharp/Mono/lib/libmono-btls-shared.dylib                            
/Applications/Godot_mono.app/Contents/Resources/GodotSharp/Mono/lib/libmono-btls-shared.dylib: Mach-O 64-bit dynamically linked shared library x86_64

@akien-mga
Copy link
Member

Are you on an M1 Mac? Does it work if you run Godot in x86_64 emulation mode via Rosetta?

@rohanrhu
Copy link
Contributor

rohanrhu commented Feb 9, 2023

Are you on an M1 Mac? Does it work if you run Godot in x86_64 emulation mode via Rosetta?

Yes M1 MBP and Ventura. I'm trying on Rosetta 2 right now. I will let you know.

@rohanrhu
Copy link
Contributor

rohanrhu commented Feb 9, 2023

It works like a charm on Rosetta 2.

@akien-mga
Copy link
Member

Thanks, I opened this issue to keep track of it: godotengine/godot-mono-builds#79

@rohanrhu
Copy link
Contributor

rohanrhu commented Feb 9, 2023

Thanks, I opened this issue to keep track of it: godotengine/godot-mono-builds#79

Thank you.

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

No branches or pull requests

4 participants