Comments (3)
This function is not used directly, and the library doesn't use the OpenSSL stack API directly either. Could you please post a stack trace?
from libdatachannel.
This is the full call stack:
#0 0x000000011a1d2b4f in OPENSSL_sk_pop_free ()
#1 0x000000011a162335 in EVP_PKEY_free ()
#2 0x0000000119c11a7d in ssl_cert_free ()
#3 0x0000000119c1b17c in SSL_CTX_free ()
#4 0x0000000104e33f85 in rtc::impl::DtlsTransport::DtlsTransport(std::__1::shared_ptr<rtc::impl::IceTransport>, std::__1::shared_ptr<rtc::impl::Certificate>, std::__1::optional<unsigned long>, rtc::CertificateFingerprint::Algorithm, std::__1::function<bool (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)>, std::__1::function<void (rtc::impl::Transport::State)>) ()
#5 0x0000000104e2ec57 in rtc::impl::DtlsSrtpTransport::DtlsSrtpTransport(std::__1::shared_ptr<rtc::impl::IceTransport>, std::__1::shared_ptr<rtc::impl::Certificate>, std::__1::optional<unsigned long>, rtc::CertificateFingerprint::Algorithm, std::__1::function<bool (std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>> const&)>, std::__1::function<void (std::__1::shared_ptr<rtc::Message>)>, std::__1::function<void (rtc::impl::Transport::State)>) ()
#6 0x0000000104e3f869 in rtc::impl::PeerConnection::initDtlsTransport() ()
#7 0x0000000104e51de2 in std::__1::__function::__func<rtc::impl::PeerConnection::initIceTransport()::$_6, std::__1::allocator<rtc::impl::PeerConnection::initIceTransport()::$_6>, void (rtc::impl::Transport::State)>::operator()(rtc::impl::Transport::State&&) ()
#8 0x0000000104e82baf in rtc::synchronized_callback<rtc::impl::Transport::State>::call(rtc::impl::Transport::State) const ()
#9 0x0000000104e82265 in rtc::impl::Transport::changeState(rtc::impl::Transport::State) ()
#10 0x0000000104e371e4 in rtc::impl::IceTransport::StateChangeCallback(juice_agent*, juice_state, void*) ()
#11 0x0000000104e86850 in agent_bookkeeping ()
#12 0x0000000104e85df9 in agent_conn_update ()
#13 0x0000000104e8b1e0 in conn_poll_process ()
#14 0x0000000104e8b2fb in conn_poll_run ()
#15 0x0000000104e8acfd in conn_thread_entry ()
from libdatachannel.
What happens here is that an OpenSSL error triggers an exception in the DtlsTransport
constructor, then OpenSSL crashes in the catch block when attempting to destroy the OpenSSL context, so you don't even see the error. Commenting out this line should allow you to see the error in the log.
Without more context, it looks like something is broken with the OpenSSL library. What version is it? How was it built? Do you link other libraries in your program?
from libdatachannel.
Related Issues (20)
- ABI issue when linking HOT 2
- RtpPacketizationConfig not properly initialized HOT 2
- setLocalDescription's Init parameter may not work. HOT 3
- The push function of the sendQueue in DataChannel will trigger wait and can not be awaked. HOT 3
- Client xxx not found HOT 2
- WebSocket::path() returns nullopt when state is Connecting HOT 2
- Mixed up dynamic and static libjuice dependencies HOT 1
- Source directory requires read/write filesystem during build HOT 3
- C API lacking proper closure support HOT 4
- Lost connectivity after successful connection HOT 7
- WebSocketServer not stopping properly HOT 2
- How to troubleshoot when the onGatheringStateChange function returns very slowly? HOT 1
- Websocket disconnect HOT 2
- Trouble connecting via TURN server HOT 1
- Does libdatachannel support to compile in pure C Linux system(for some embedded device no support C++17)? HOT 3
- rtc::PeerConnection::close() causes the application to crash when called multiple times HOT 1
- Unable to retrieve negotiated media details HOT 2
- crash HOT 4
- Data channels created by createDataChannel in a multithreaded may occasionally lose events HOT 3
- Expose remote TLS certificate for WebSocket
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from libdatachannel.