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

Call to Rest API does not return on Centos7 #91

Open
dheeraj12190 opened this issue Aug 12, 2019 · 4 comments
Open

Call to Rest API does not return on Centos7 #91

dheeraj12190 opened this issue Aug 12, 2019 · 4 comments

Comments

@dheeraj12190
Copy link

dheeraj12190 commented Aug 12, 2019

Hi
Below is my function this works file for ubuntu and rhel but when it come to centos,
and I make a call to this function it does not return and stuck in between.

bool CSchedule::getSchedule(vector<StSchedule> &MeterSchedule)
{
	bool bRetVal = false; 
	try
	{
		// Create and instantiate a Post from data received from the server.		
		cout << endl << "in getSchedule:" << sAddress << endl;
		MeterSchedule =  RestClient::Create()->ProcessWithPromiseT<vector<StSchedule>>([&](Context& ctx) {
			// This is a lambda co-routine, running in a worker-thread
			// Instantiate a Post structure.
			vector<StSchedule> t;
			// Serialize it asynchronously. The asynchronously part does not really matter
			// here, but it may if you receive huge data structures.
			SerializeFromJson(t,
				// Construct a request to the server
				RequestBuilder(ctx)
					.Get(sAddress)
					// Add some headers for good taste
					//.Header("X-Client", "RESTC_CPP")
					//.Header("X-Client-Purpose", "Testing")
					.DisableCompression()
					.Argument("MeterNo",this->sMeterNo)
					// Send the request
					.Execute());
			// Return the Post instance trough a C++ future<>
			return t;
		}).get();
		bRetVal = true;
	}	
	catch (exception &e)
	{
		LOG(ERROR) << "<<Exception Caught in getSchedule for Meter Serial Number:" << this->sMeterNo << ":" << e.what();
	}
	return bRetVal;
}
@jgaa
Copy link
Owner

jgaa commented Aug 12, 2019

Can you step trough with the debugger to determine where it locks up?

@dheeraj12190
Copy link
Author

dheeraj12190 commented Aug 12, 2019

it goes into multiples steps in. after that it hits below line several times

boost::asio::detail::scoped_ptr<boost::asio::detail::strand_service::strand_impl>::scoped_ptr (this=0xb57c18, p=0x0)
    at ./include/boost/asio/detail/scoped_ptr.hpp:32
32          : p_(p)

and then comes out from this after that it prints

boost::asio::detail::noncopyable::noncopyable (this=0x7fffffffe130)
    at ./include/boost/asio/detail/noncopyable.hpp:29
29        noncopyable() {}
(gdb)
boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>::scoped_lock
    (this=0x7fffffffe130, m=...)
    at ./include/boost/asio/detail/scoped_lock.hpp:46
46          mutex_.lock();
(gdb)
boost::asio::detail::posix_mutex::lock (this=0xb575f0)
    at ./include/boost/asio/detail/posix_mutex.hpp:52
52          (void)::pthread_mutex_lock(&mutex_); // Ignore EINVAL.
(gdb)
53        }
(gdb)
boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>::scoped_lock
    (this=0x7fffffffe130, m=...)
    at ./include/boost/asio/detail/scoped_lock.hpp:47
47          locked_ = true;
(gdb)
48        }
(gdb)
boost::asio::detail::strand_service::construct (this=0xb575c0,
    impl=@0x7fffffffe1b8: 0x7fffffffe240)
    at ./include/boost/asio/detail/impl/strand_service.ipp:73
73        std::size_t salt = salt_++;
(gdb)
77        std::size_t index = reinterpret_cast<std::size_t>(&impl);
(gdb)
78        index += (reinterpret_cast<std::size_t>(&impl) >> 3);
(gdb)
79        index ^= salt + 0x9e3779b9 + (index << 6) + (index >> 2);
(gdb)
81        index = index % num_implementations;
(gdb)
83        if (!implementations_[index].get())
(gdb)
boost::asio::detail::scoped_ptr<boost::asio::detail::strand_service::strand_impl>::get (this=0xb57868) at ./include/boost/asio/detail/scoped_ptr.hpp:45
45          return p_;
(gdb)
46        }
(gdb)
boost::asio::detail::strand_service::construct (this=0xb575c0,
    impl=@0x7fffffffe1b8: 0x7fffffffe240)
    at ./include/boost/asio/detail/impl/strand_service.ipp:84
84          implementations_[index].reset(new strand_impl);
(gdb)
boost::asio::detail::strand_service::strand_impl::strand_impl (this=0xb56530)
    at ./include/boost/asio/detail/impl/strand_service.hpp:33
33          locked_(false)
(gdb)
boost::asio::detail::task_io_service_operation::task_io_service_operation (
    this=0xb56530,
    func=0x45df6e <boost::asio::detail::strand_service::do_complete(boost::asio::detail::task_io_service*, boost::asio::detail::task_io_service_operation*, boost::system::error_code const&, unsigned long)>)
    at ./include/boost/asio/detail/task_io_service_operation.hpp:54
54            task_result_(0)
(gdb)
56        }
(gdb)
boost::asio::detail::posix_mutex::posix_mutex (this=0xb56548)
    at ./include/boost/asio/detail/impl/posix_mutex.ipp:32
32      posix_mutex::posix_mutex()
(gdb)
boost::asio::detail::noncopyable::noncopyable (this=0xb56548)
    at ./include/boost/asio/detail/noncopyable.hpp:29
29        noncopyable() {}
(gdb)
boost::asio::detail::posix_mutex::posix_mutex (this=0xb56548)
    at ./include/boost/asio/detail/impl/posix_mutex.ipp:34
34        int error = ::pthread_mutex_init(&mutex_, 0);
(gdb)
36            boost::asio::error::get_system_category());
(gdb)
boost::asio::error::get_system_category ()
    at ./include/boost/asio/error.hpp:230
230       return boost::system::system_category();
(gdb)
231     }
(gdb)
boost::system::error_code::error_code (this=0x7fffffffe0b0, val=0, cat=...)
    at ./include/boost/system/error_code.hpp:323
323           error_code( int val, const error_category & cat ) BOOST_SYSTEM_NOEXCEPT : m_val(val), m_cat(&cat) {}
(gdb)
boost::asio::detail::posix_mutex::posix_mutex (this=0xb56548)
    at ./include/boost/asio/detail/impl/posix_mutex.ipp:37
37        boost::asio::detail::throw_error(ec, "mutex");
(gdb)
boost::asio::detail::throw_error (err=..., location=0x742772 "mutex")
    at ./include/boost/asio/detail/throw_error.hpp:41
41        if (err)
(gdb)
boost::system::error_code::operator void (*)() (this=0x7fffffffe0b0)
    at ./include/boost/system/error_code.hpp:364
364             return m_val == 0 ? 0 : unspecified_bool_true;
(gdb)
365           }
(gdb)
boost::asio::detail::throw_error (err=..., location=0x742772 "mutex")
    at ./include/boost/asio/detail/throw_error.hpp:43
43      }
(gdb)
boost::asio::detail::posix_mutex::posix_mutex (this=0xb56548)
    at ./include/boost/asio/detail/impl/posix_mutex.ipp:38
38      }
(gdb)
boost::asio::detail::op_queue<boost::asio::detail::task_io_service_operation>::op_queue (this=0xb56578) at ./include/boost/asio/detail/op_queue.hpp:71
71            back_(0)
(gdb)
boost::asio::detail::noncopyable::noncopyable (this=0xb56578)
    at ./include/boost/asio/detail/noncopyable.hpp:29
29        noncopyable() {}
(gdb)
boost::asio::detail::op_queue<boost::asio::detail::task_io_service_operation>::op_queue (this=0xb56578) at ./include/boost/asio/detail/op_queue.hpp:73
73        }
(gdb)
boost::asio::detail::op_queue<boost::asio::detail::task_io_service_operation>::op_queue (this=0xb56588) at ./include/boost/asio/detail/op_queue.hpp:71
71            back_(0)
(gdb)
boost::asio::detail::noncopyable::noncopyable (this=0xb56588)
    at ./include/boost/asio/detail/noncopyable.hpp:29
29        noncopyable() {}
(gdb)
boost::asio::detail::op_queue<boost::asio::detail::task_io_service_operation>::op_queue (this=0xb56588) at ./include/boost/asio/detail/op_queue.hpp:73
73        }
(gdb)
boost::asio::detail::strand_service::strand_impl::strand_impl (this=0xb56530)
    at ./include/boost/asio/detail/impl/strand_service.hpp:35
35      }
(gdb)
boost::asio::detail::scoped_ptr<boost::asio::detail::strand_service::strand_impl>::reset (this=0xb57868, p=0xb56530)
    at ./include/boost/asio/detail/scoped_ptr.hpp:63
63          delete p_;
(gdb)
64          p_ = p;
(gdb)
65        }
(gdb)
boost::asio::detail::strand_service::construct (this=0xb575c0,
    impl=@0x7fffffffe1b8: 0x7fffffffe240)
    at ./include/boost/asio/detail/impl/strand_service.ipp:85
85        impl = implementations_[index].get();
(gdb)
boost::asio::detail::scoped_ptr<boost::asio::detail::strand_service::strand_impl>::get (this=0xb57868) at ./include/boost/asio/detail/scoped_ptr.hpp:45
45          return p_;
(gdb)
46        }
(gdb)
boost::asio::detail::strand_service::construct (this=0xb575c0,
    impl=@0x7fffffffe1b8: 0xb56530)
    at ./include/boost/asio/detail/impl/strand_service.ipp:71
71        boost::asio::detail::mutex::scoped_lock lock(mutex_);
(gdb)
boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>::~scoped_lock (this=0x7fffffffe130, __in_chrg=<optimized out>)
    at ./include/boost/asio/detail/scoped_lock.hpp:53
53          if (locked_)
(gdb)
54            mutex_.unlock();
(gdb)
boost::asio::detail::posix_mutex::unlock (this=0xb575f0)
    at ./include/boost/asio/detail/posix_mutex.hpp:58
58          (void)::pthread_mutex_unlock(&mutex_); // Ignore EINVAL.
(gdb)
59        }
(gdb)
boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex>::~scoped_lock (this=0x7fffffffe130, __in_chrg=<optimized out>)
    at ./include/boost/asio/detail/scoped_lock.hpp:55
55        }
(gdb)
boost::asio::detail::noncopyable::~noncopyable (this=0x7fffffffe130,
    __in_chrg=<optimized out>)
    at ./include/boost/asio/detail/noncopyable.hpp:30
30        ~noncopyable() {}
(gdb)
boost::asio::detail::strand_service::construct (this=0xb575c0,
    impl=@0x7fffffffe1b8: 0xb56530)
    at ./include/boost/asio/detail/impl/strand_service.ipp:86
86      }
(gdb)
boost::asio::io_service::strand::strand (this=0x7fffffffe1b0, io_service=...)
    at ./include/boost/asio/strand.hpp:101
101       }
(gdb)
boost::asio::spawn<std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>(boost::asio::io_service::strand, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}&&, boost::coroutines::attributes const&) (strand=...,
    function=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1aaa8f>, attributes=...)
    at ./include/boost/asio/impl/spawn.hpp:335
335       boost::asio::spawn(strand.wrap(&detail::default_spawn_handler),
(gdb)
boost::asio::io_service::strand::wrap<void (*)()> (this=0x7fffffffe1b0,
    handler=0x45fae9 <boost::asio::detail::default_spawn_handler()>)
    at ./include/boost/asio/strand.hpp:226
226             detail::is_continuation_if_running>(*this, handler);
(gdb)
boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>::wrapped_handler (
    this=0x7fffffffe150, dispatcher=...,
    handler=@0x7fffffffe0f8: 0x45fae9 <boost::asio::detail::default_spawn_handler()>) at ./include/boost/asio/detail/wrapped_handler.hpp:56
56            handler_(BOOST_ASIO_MOVE_CAST(Handler)(handler))
(gdb)
58        }
(gdb)
boost::asio::io_service::strand::~strand (this=0x7fffffffe110,
    __in_chrg=<optimized out>) at ./include/boost/asio/strand.hpp:112
112       }
(gdb)
boost::asio::io_service::strand::wrap<void (*)()> (this=0x7fffffffe1b0,
    handler=0x45fae9 <boost::asio::detail::default_spawn_handler()>)
    at ./include/boost/asio/strand.hpp:227
227       }
(gdb)
boost::asio::spawn<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>(boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>&&, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}&&, boost::coroutines::attributes const&) (
    handler=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1a6b9f>,
    function=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1a6baf>, attributes=...)
    at ./include/boost/asio/impl/spawn.hpp:306
306       detail::spawn_helper<Handler, Function> helper;
(gdb)
boost::asio::detail::spawn_helper<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>::spawn_helper() (
    this=0x7fffffffe0f0) at ./include/boost/asio/impl/spawn.hpp:282
282       struct spawn_helper
(gdb)
std::shared_ptr<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}> >::shared_ptr()
    (this=0x7fffffffe0f0)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr.h:117
117           constexpr shared_ptr() noexcept : __shared_ptr<_Tp>() { }
(gdb)
std::__shared_ptr<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>, (__gnu_cxx::_Lock_policy)2>::__shared_ptr() (this=0x7fffffffe0f0)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:1073
1073          : _M_ptr(0), _M_refcount()
(gdb)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count (
    this=0x7fffffffe0f8)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:575
575           constexpr __shared_count() noexcept : _M_pi(0)
(gdb)
576           { }
(gdb)
std::__shared_ptr<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>, (__gnu_cxx::_Lock_policy)2>::__shared_ptr() (this=0x7fffffffe0f0)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:1074
1074          { }
(gdb)
boost::coroutines::attributes::attributes (this=0x7fffffffe100)
    at ./include/boost/coroutine/attributes.hpp:30
30              size( stack_allocator::traits_type::default_size() ),
(gdb)
31              do_unwind( stack_unwind)
(gdb)
32          {}
(gdb)
boost::asio::spawn<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>(boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>&&, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}&&, boost::coroutines::attributes const&) (
    handler=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1a6b9f>,
    function=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1a6baf>, attributes=...)
    at ./include/boost/asio/impl/spawn.hpp:308
308           new detail::spawn_data<Handler, Function>(
(gdb)
boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>::spawn_data(boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>&&, bool, {lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}&&) (this=0xb57c30,
    handler=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1a3e09>, call_handler=true,
    function=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1a3e19>) at ./include/boost/asio/impl/spawn.hpp:252
252             function_(BOOST_ASIO_MOVE_CAST(Function)(function))
(gdb)
boost::asio::detail::noncopyable::noncopyable (this=0xb57c30)
    at ./include/boost/asio/detail/noncopyable.hpp:29
29        noncopyable() {}
(gdb)
std::weak_ptr<boost::coroutines::push_coroutine<void> >::weak_ptr (
    this=0xb57c30)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr.h:533
533           constexpr weak_ptr() noexcept = default;
(gdb)
std::__weak_ptr<boost::coroutines::push_coroutine<void>, (__gnu_cxx::_Lock_policy)2>::__weak_ptr (this=0xb57c30)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:1604
1604          : _M_ptr(nullptr), _M_refcount()
(gdb)
std::__weak_count<(__gnu_cxx::_Lock_policy)2>::__weak_count (this=0xb57c38)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:753
753           constexpr __weak_count() noexcept : _M_pi(nullptr)
(gdb)
754           { }
(gdb)
std::__weak_ptr<boost::coroutines::push_coroutine<void>, (__gnu_cxx::_Lock_policy)2>::__weak_ptr (this=0xb57c30)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:1605
1605          { }
(gdb)
boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>::wrapped_handler(boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>&&) (this=0xb57c40,
    other=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1a41a7>) at ./include/boost/asio/detail/wrapped_handler.hpp:69
69            handler_(BOOST_ASIO_MOVE_CAST(Handler)(other.handler_))
(gdb)
71        }
(gdb)
std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}::basic_yield_context({lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}&&) (this=0xb57c60) at ./include/restc-cpp/include/restc-cpp/restc-cpp.h:362
362                                [prom,fn,this](boost::asio::yield_context yield) {
(gdb)
std::shared_ptr<std::promise<std::vector<StSchedule, std::allocator<StSchedule> > > >::shared_ptr(std::shared_ptr<std::promise<std::vector<StSchedule, std::allocator<StSchedule> > > >&&) (this=0xb57c60,
    __r=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1afa4d>)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr.h:245
245           : __shared_ptr<_Tp>(std::move(__r)) { }
(gdb)
std::move<std::shared_ptr<std::promise<std::vector<StSchedule, std::allocator<StSchedule> > > >&> (__t=std::shared_ptr (count 2, weak 0) 0xb56d60)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/move.h:99
99          { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
(gdb)
std::__shared_ptr<std::promise<std::vector<StSchedule, std::allocator<StSchedule> > >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<std::promise<std::vector<StSchedule, std::allocator<StSchedule> > >, (__gnu_cxx::_Lock_policy)2>&&) (this=0xb57c60,
    __r=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1ab0ae>)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:1131
1131          : _M_ptr(__r._M_ptr), _M_refcount()
(gdb)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count (this=0xb57c68)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:575
575           constexpr __shared_count() noexcept : _M_pi(0)
(gdb)
576           { }
(gdb)
std::__shared_ptr<std::promise<std::vector<StSchedule, std::allocator<StSchedule> > >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<std::promise<std::vector<StSchedule, std::allocator<StSchedule> > >, (__gnu_cxx::_Lock_policy)2>&&) (this=0xb57c60,
    __r=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1ab0ae>)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:1133
1133            _M_refcount._M_swap(__r._M_refcount);
(gdb)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::_M_swap (this=0xb57c68,
    __r=...)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:712
712             _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
(gdb)
713             __r._M_pi = _M_pi;
(gdb)
714             _M_pi = __tmp;
(gdb)
715           }
(gdb)
std::__shared_ptr<std::promise<std::vector<StSchedule, std::allocator<StSchedule> > >, (__gnu_cxx::_Lock_policy)2>::__shared_ptr(std::__shared_ptr<std::promise<std::vector<StSchedule, std::allocator<StSchedule> > >, (__gnu_cxx::_Lock_policy)2>&&) (this=0xb57c60,
    __r=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1ab0ae>)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:1134
1134            __r._M_ptr = 0;
(gdb)
1135          }
(gdb)
std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)>::function(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&) (this=0xb57c70, __x=...)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:673
673         : _Function_base()
(gdb)
std::_Function_base::_Function_base (this=0xb57c70)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:271
271         _Function_base() : _M_manager(nullptr) { }
(gdb)
std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)>::function(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&) (this=0xb57c70, __x=...)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:675
675           if (static_cast<bool>(__x))
(gdb)
std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)>::operator bool() const (this=0x7fffffffe240)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:583
583           { return !_M_empty(); }
(gdb)
std::_Function_base::_M_empty (this=0x7fffffffe240)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:279
279         bool _M_empty() const { return !_M_manager; }
(gdb)
std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)>::function(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&) (this=0xb57c70, __x=...)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:677
677               __x._M_manager(_M_functor, __x._M_functor, __clone_functor);
(gdb)
std::_Function_base::_Base_manager<CSchedule::getSchedule(std::vector<StSchedule>&)::<lambda(restc_cpp::Context&)> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) (__dest=..., __source=...,
    __op=std::__clone_functor)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:215
215               switch (__op)
(gdb)
227                   _M_clone(__dest, __source, _Local_storage());
(gdb)
std::_Function_base::_Base_manager<CSchedule::getSchedule(std::vector<StSchedule>&)::<lambda(restc_cpp::Context&)> >::_M_clone(std::_Any_data &, const std::_Any_data &, std::true_type) (__dest=..., __source=...)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:183
183               ::new (__dest._M_access()) _Functor(__source._M_access<_Functor>());
(gdb)
std::_Any_data::_M_access<CSchedule::getSchedule(std::vector<StSchedule>&)::<lambda(restc_cpp::Context&)> >(void) const (this=0x7fffffffe240)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:117
117           { return *static_cast<const _Tp*>(_M_access()); }
(gdb)
std::_Any_data::_M_access (this=0x7fffffffe240)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:107
107         const void* _M_access() const { return &_M_pod_data[0]; }
(gdb)
std::_Any_data::_M_access (this=0xb57c70)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:106
106         void*       _M_access()       { return &_M_pod_data[0]; }
(gdb)
operator new (__p=0xb57c70)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/new:169
169     { return __p; }
(gdb)
std::_Function_base::_Base_manager<CSchedule::getSchedule(std::vector<StSchedule>&)::<lambda(restc_cpp::Context&)> >::_M_clone(std::_Any_data &, const std::_Any_data &, std::true_type) (__dest=..., __source=...)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:184
184             }
(gdb)
std::_Function_base::_Base_manager<CSchedule::getSchedule(std::vector<StSchedule>&)::<lambda(restc_cpp::Context&)> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation) (__dest=..., __source=...,
    __op=std::__clone_functor)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:228
228                   break;
(gdb)
234               return false;
(gdb)
235             }
(gdb)
std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)>::function(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&) (this=0xb57c70, __x=...)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/std_function.h:678
678               _M_invoker = __x._M_invoker;
(gdb)
679               _M_manager = __x._M_manager;
(gdb)
681         }
(gdb)
boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>::spawn_data(boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>&&, bool, {lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}&&) (this=0xb57c30,
    handler=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1a3e09>, call_handler=true,
    function=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1a3e19>) at ./include/boost/asio/impl/spawn.hpp:254
254         }
(gdb)
boost::asio::spawn<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>(boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>&&, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}&&, boost::coroutines::attributes const&) (
    handler=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1a6b9f>,
    function=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1a6baf>, attributes=...)
    at ./include/boost/asio/impl/spawn.hpp:307
307       helper.data_.reset(
(gdb)
std::__shared_ptr<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>, (__gnu_cxx::_Lock_policy)2>::reset<std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>(std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}*) (this=0x7fffffffe0f0, __p=0xb57c30)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:1243
1243              __shared_ptr(__p).swap(*this);
(gdb)
std::__shared_ptr<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}, void>(std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}*) (this=0x7fffffffe0b0, __p=0xb57c30)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:1079
1079            : _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
(gdb)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>*>(boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>*, std::integral_constant<bool, false>) (this=0x7fffffffe0b8, __p=0xb57c30)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:595
595             : __shared_count(__p)
(gdb)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>*>(boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>*) (this=0x7fffffffe0b8, __p=0xb57c30)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:580
580             __shared_count(_Ptr __p) : _M_pi(0)
(gdb)
584                   _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
(gdb)
std::_Sp_counted_ptr<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>*, (__gnu_cxx::_Lock_policy)2>::_Sp_counted_ptr(boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>) (this=0xb56cf0, __p=0xb57c30)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:372
372           : _M_ptr(__p) { }
(gdb)
std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_Sp_counted_base (
    this=0xb56cf0)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:117
117           : _M_use_count(1), _M_weak_count(1) { }
(gdb)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>*>(boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>*) (this=0x7fffffffe0b8, __p=0xb57c30)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:591
591             }
(gdb)
std::__shared_count<(__gnu_cxx::_Lock_policy)2>::__shared_count<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>*>(boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>*, std::integral_constant<bool, false>) (this=0x7fffffffe0b8, __p=0xb57c30)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:596
596             { }
(gdb)
std::__shared_ptr<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}, void>(std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}*) (this=0x7fffffffe0b0, __p=0xb57c30)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:1083
1083              _M_enable_shared_from_this_with(__p);
(gdb)
std::__shared_ptr<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>, (__gnu_cxx::_Lock_policy)2>::_M_enable_shared_from_this_with<std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>(std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{la---Type <return> to continue, or q <return> to quit---
mbda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}*) (this=0x7fffffffe0b0)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:1379
1379            { }
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb)
(gdb) n
std::__shared_ptr<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>, (__gnu_cxx::_Lock_policy)2>::__shared_ptr<std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}, void>(std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}*) (this=0x7fffffffe0b0, __p=0xb57c30)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:1084
1084            }
(gdb)
std::__shared_ptr<boost::asio::detail::spawn_data<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>, (__gnu_cxx::_Lock_policy)2>::reset<std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>(std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}*) (this=0x7fffffffe0f0, __p=0xb57c30)
    at /opt/rh/devtoolset-7/root/usr/include/c++/7/bits/shared_ptr_base.h:1244
1244            }
(gdb)
boost::asio::spawn<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>(boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running>&&, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}&&, boost::coroutines::attributes const&) (
    handler=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1a6b9f>,
    function=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1a6baf>, attributes=...)
    at ./include/boost/asio/impl/spawn.hpp:311
311       helper.attributes_ = attributes;
(gdb)
312       boost_asio_handler_invoke_helpers::invoke(helper, helper.data_->handler_);
(gdb)
306       detail::spawn_helper<Handler, Function> helper;
(gdb)
313     }
(gdb)
boost::asio::spawn<std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>(boost::asio::io_service::strand, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}&&, boost::coroutines::attributes const&) (strand=...,
    function=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1aaa8f>, attributes=...)
    at ./include/boost/asio/impl/spawn.hpp:337
337     }
(gdb)
boost::asio::spawn<std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}>(boost::asio::io_service&, std::future<std::vector<StSchedule, std::allocator<StSchedule> > > restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&)::{lambda(boost::asio::basic_yield_context<boost::asio::detail::wrapped_handler<boost::asio::io_service::strand, void (*)(), boost::asio::detail::is_continuation_if_running> >)#1}&&, boost::coroutines::attributes const&) (io_service=...,
    function=<unknown type in /home/dheeraj/projects/mdas_dev/debug/mdas, CU 0x119dd3, DIE 0x1af674>, attributes=...)
    at ./include/boost/asio/impl/spawn.hpp:346
346     }
(gdb)
restc_cpp::RestClient::ProcessWithPromiseT<std::vector<StSchedule, std::allocator<StSchedule> > >(std::function<std::vector<StSchedule, std::allocator<StSchedule> > (restc_cpp::Context&)> const&) (this=0xb54ac0, fn=...)
    at ./include/restc-cpp/include/restc-cpp/restc-cpp.h:373
373             return move(future);
(gdb)
359             auto future = prom->get_future();
(gdb)
358             auto prom = std::make_shared<std::promise<T>>();
(gdb)
373             return move(future);
(gdb)
374         }
(gdb)
CSchedule::getSchedule (this=0x7fffffffe3b0,
    MeterSchedule=std::vector of length 0, capacity 0) at src/CSchedule.cpp:48
48                      }).get();

@jgaa
Copy link
Owner

jgaa commented Aug 13, 2019

I'll have to try to reproduce it.
Have you built it with stock centos7, or have you installed newer compiler/boost?

@dheeraj12190
Copy link
Author

I have installed new one

compiler version
g++ (GCC) 7.3.1 20180303 (Red Hat 7.3.1-5)

boost version
1.0.61 & 1.0.65

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

2 participants