libmediasoup segmentation fault

I am attempting to build a re-encoder using libmediasoup. I am working in ubuntu 18.04lts and have successfully compiled libwebrtc and libmediasoupclient. (A few warnings, not sure if that is normal)

In general all calls to the library have worked fine, until I got to the Consume on the receive transport.

I am getting a segmentation fault when I call Transport->Consume for the first time. After calling it does call my Consumer::Listener.OnConnect() and after it returns is when the segment fault occurs.

It doesn’t matter if the OnConnect does anything or not.

here is the call stack for reference. Any ideas of what the issue might be?

__gnu_cxx::__exchange_and_add(volatile _Atomic_word * __mem, int __val) (/usr/include/c++/7/ext/atomicity.h:49)
__gnu_cxx::__exchange_and_add_dispatch(_Atomic_word * __mem, int __val) (/usr/include/c++/7/ext/atomicity.h:82)
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release(std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2> * const this) (/usr/include/c++/7/bits/shared_ptr_base.h:151)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count(std::__shared_count<(__gnu_cxx::_Lock_policy)2> * const this) (/usr/include/c++/7/bits/shared_ptr_base.h:684)
std::__shared_ptr<std::__future_base::_State_baseV2, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr() (Unknown Source:0)
std::__shared_ptr<std::__future_base::_State_baseV2, (__gnu_cxx::_Lock_policy)2>::reset() (Unknown Source:0)
std::__basic_future<void>::_Reset::~_Reset() (Unknown Source:0)
std::future<void>::get() (Unknown Source:0)
mediasoupclient::Transport::OnConnect(nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>&) (Unknown Source:0)
mediasoupclient::Handler::SetupTransport(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>&) (Unknown Source:0)
mediasoupclient::RecvHandler::Receive(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> const*) (Unknown Source:0)
mediasoupclient::RecvTransport::Consume(mediasoupclient::Consumer::Listener*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer>*, nlohmann::basic_json<std::map, std::vector, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool, long, unsigned long, double, std::allocator, nlohmann::adl_serializer> const&) (Unknown Source:0)
BNCEncoder::encoderTask::handleReply(BNCEncoder::encoderTask * const this, int cmdid, njson & data) (/home/mike/repos/bncrecode/src/encoderTask.cpp:39)

Doh!!! Nevermind. Dumb error not returning promise correctly from OnConnect.