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 realm::sync::network::ssl::ProtocolNotSupported: SSL/TLS protocol not supported on visionOS #8466

Open
kachalo opened this issue Jan 19, 2024 · 2 comments

Comments

@kachalo
Copy link

kachalo commented Jan 19, 2024

How frequently does the bug occur?

Always

Description

After signing in to use Device Sync on visionOS there's an exception:

realm::sync::network::ssl::ProtocolNotSupported: SSL/TLS protocol not supported

Stacktrace & log output

libc++abi: terminating due to uncaught exception of type realm::sync::network::ssl::ProtocolNotSupported: SSL/TLS protocol not supported
(lldb) bt
* thread #11, stop reason = signal SIGABRT
    frame #0: 0x0000000103234a4c libsystem_kernel.dylib`__pthread_kill + 8
    frame #1: 0x000000010219b1d0 libsystem_pthread.dylib`pthread_kill + 256
    frame #2: 0x000000018016363c libsystem_c.dylib`abort + 104
    frame #3: 0x0000000180295ba0 libc++abi.dylib`abort_message + 128
    frame #4: 0x00000001802872d8 libc++abi.dylib`demangling_terminate_handler() + 272
    frame #5: 0x000000018005f264 libobjc.A.dylib`_objc_terminate() + 140
    frame #6: 0x0000000180295188 libc++abi.dylib`std::__terminate(void (*)()) + 12
    frame #7: 0x0000000180297b84 libc++abi.dylib`__cxxabiv1::failed_throw(__cxxabiv1::__cxa_exception*) + 32
    frame #8: 0x0000000180297b44 libc++abi.dylib`__cxa_throw + 132
    frame #9: 0x000000010f4846d8 StudentModel`realm::sync::network::ssl::Context::ssl_init(this=0x0000000103f2e520) at network_ssl.cpp:1396:5
    frame #10: 0x000000010f40a81c StudentModel`realm::sync::network::ssl::Context::Context(this=0x0000000103f2e520) at network_ssl.hpp:556:5
    frame #11: 0x000000010f40a7b0 StudentModel`realm::sync::network::ssl::Context::Context(this=0x0000000103f2e520) at network_ssl.hpp:555:1
    frame #12: 0x000000010f40a600 StudentModel`void std::__1::__optional_storage_base<realm::sync::network::ssl::Context, false>::__construct[abi:v160006]<>(this=0x0000000103f2e520) at optional:363:55
    frame #13: 0x000000010f409228 StudentModel`realm::sync::network::ssl::Context& std::__1::optional<realm::sync::network::ssl::Context>::emplace[abi:v160006]<void>(this= Has Value=false ) at optional:885:15
    frame #14: 0x000000010f407c74 StudentModel`realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::initiate_ssl_handshake(this=0x0000000103f2e360) at default_socket.cpp:407:23
    frame #15: 0x000000010f3f4de0 StudentModel`realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::initiate_websocket_or_ssl_handshake(this=0x0000000103f2e360) at default_socket.cpp:364:9
    frame #16: 0x000000010f3f4190 StudentModel`realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::handle_tcp_connect(this=0x0000000103f2e360, ec=(__val_ = 0, __cat_ = 0x00000001f5652828), endpoints=List @ 0x000000016ffaa7b0, i=0) at default_socket.cpp:358:5
    frame #17: 0x000000010f3f36dc StudentModel`realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::initiate_tcp_connect(realm::sync::network::Endpoint::List, unsigned long)::$_5::operator()(this=0x000000016ffaa8f8, ec=(__val_ = 0, __cat_ = 0x00000001f5652828)) at default_socket.cpp:321:13
    frame #18: 0x000000010f3f2f94 StudentModel`void realm::sync::network::Service::AsyncOper::do_recycle_and_execute_helper<realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::initiate_tcp_connect(realm::sync::network::Endpoint::List, unsigned long)::$_5, std::__1::error_code>(this=0x000060000262a280, orphaned=false, was_recycled=0x000000016ffaa95f, handler=(unnamed class) @ 0x000000016ffaa8f8, args=(__val_ = 0, __cat_ = 0x00000001f5652828)) at network.hpp:2784:5
    frame #19: 0x000000010f3f2d98 StudentModel`void realm::sync::network::Service::AsyncOper::do_recycle_and_execute<realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::initiate_tcp_connect(realm::sync::network::Endpoint::List, unsigned long)::$_5, std::__1::error_code&>(this=0x000060000262a280, orphaned=false, handler=0x000060000262a2b8, args=0x000000016ffaaa40) at network.hpp:2772:5
    frame #20: 0x000000010f3f1fc4 StudentModel`realm::sync::network::Socket::ConnectOper<realm::sync::websocket::(anonymous namespace)::DefaultWebSocketImpl::initiate_tcp_connect(realm::sync::network::Endpoint::List, unsigned long)::$_5>::recycle_and_execute(this=0x000060000262a280) at network.hpp:3100:9
  * frame #21: 0x000000010f4624d8 StudentModel`realm::sync::network::Service::Impl::execute(lenders_ptr=nullptr) at network.cpp:1646:32
    frame #22: 0x000000010f461874 StudentModel`realm::sync::network::Service::Impl::run_impl(this=0x0000000103d34e40, return_when_idle=false) at network.cpp:1574:13
    frame #23: 0x000000010f454c50 StudentModel`realm::sync::network::Service::Impl::run_until_stopped(this=0x0000000103d34e40) at network.cpp:1385:9
    frame #24: 0x000000010f454bcc StudentModel`realm::sync::network::Service::run_until_stopped(this=0x00000001048b1440) at network.cpp:1776:13
    frame #25: 0x000000010f3cec28 StudentModel`realm::sync::websocket::DefaultSocketProvider::event_loop(this=0x00000001048b1418) at default_socket.cpp:619:19
    frame #26: 0x000000010f3dcae4 StudentModel`decltype(*std::declval<realm::sync::websocket::DefaultSocketProvider*>().*std::declval<void (realm::sync::websocket::DefaultSocketProvider::*)()>()()) std::__1::__invoke[abi:v160006]<void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*, void>(__f=0x00006000002545e8, __a0=0x00006000002545f8) at invoke.h:359:23
    frame #27: 0x000000010f3dca0c StudentModel`void std::__1::__thread_execute[abi:v160006]<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*, 2ul>(__t=size=3, (null)=__tuple_indices<2UL> @ 0x000000016ffaaf4f) at thread:288:5
    frame #28: 0x000000010f3dba70 StudentModel`void* std::__1::__thread_proxy[abi:v160006]<std::__1::tuple<std::__1::unique_ptr<std::__1::__thread_struct, std::__1::default_delete<std::__1::__thread_struct>>, void (realm::sync::websocket::DefaultSocketProvider::*)(), realm::sync::websocket::DefaultSocketProvider*>>(__vp=0x00006000002545e0) at thread:299:5
    frame #29: 0x000000010219b4c0 libsystem_pthread.dylib`_pthread_start + 104

Can you reproduce the bug?

Always

Reproduction Steps

Sign in to use Device Sync on visionOS

Version

RealmDatabase 13.25.1, Realm 10.45.3

What Atlas Services are you using?

Atlas Device Sync

Are you using encryption?

No

Platform OS and version(s)

visionOS 1.0

Build environment

Xcode version: Version 15.2 (15C500b)

@kachalo
Copy link
Author

kachalo commented Jan 19, 2024

I'm not sure, but I suspect it is somehow related to:

realm/realm-core#4954
and
#7474

@Pratit23
Copy link

@kachalo Did you find a fix for this issue?

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

2 participants