trust-stored segfaults on startup
Currently trust-stored immediately segfaults after being started by systemd, e.g. for CameraService:
Started CameraService Trust Store Daemon.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/aarch64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fb6df40a0 (LWP 2590)]
[New Thread 0x7fb62fd0a0 (LWP 2593)]
[New Thread 0x7fb5afc0a0 (LWP 2594)]
[New Thread 0x7fb51560a0 (LWP 2595)]
Thread 3 "trust-stored-sk" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fb62fd0a0 (LWP 2593)]
0x0000007fb7f633dc in boost::asio::detail::scheduler::compensating_work_started (this=0x55555f42f0) at /usr/include/boost/asio/detail/impl/scheduler.ipp:321
321 /usr/include/boost/asio/detail/impl/scheduler.ipp: No such file or directory.
Undefined set logging command: "enabled on". Try "help set logging".
#0 0x0000007fb7f633dc in boost::asio::detail::scheduler::compensating_work_started (this=0x55555f42f0) at /usr/include/boost/asio/detail/impl/scheduler.ipp:321
#1 boost::asio::detail::epoll_reactor::perform_io_cleanup_on_block_exit::~perform_io_cleanup_on_block_exit (this=0x7fb62fc678, __in_chrg=<optimized out>) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:712
#2 boost::asio::detail::epoll_reactor::descriptor_state::perform_io (events=<optimized out>, this=0x55555f91c0) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:730
#3 boost::asio::detail::epoll_reactor::descriptor_state::do_complete (bytes_transferred=<optimized out>, ec=..., base=0x55555f91c0, owner=0x55555f42f0) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:774
#4 boost::asio::detail::epoll_reactor::descriptor_state::do_complete (owner=0x55555f42f0, base=0x55555f91c0, ec=..., bytes_transferred=<optimized out>) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:766
#5 0x000000555558b2cc in boost::asio::detail::scheduler_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=0x55555f42f0, this=<optimized out>) at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
#6 boost::asio::detail::scheduler::do_run_one (ec=..., this_thread=..., lock=..., this=0x55555f42f0) at /usr/include/boost/asio/detail/impl/scheduler.ipp:447
#7 boost::asio::detail::scheduler::run (this=0x55555f42f0, ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:200
#8 0x000000555559cb08 in boost::asio::io_context::run (this=0x55555c6360 <core::trust::Runtime::instance()::runtime+16>) at /usr/include/boost/asio/impl/io_context.ipp:63
#9 (anonymous namespace)::execute_and_never_throw (ios=...) at ./src/core/trust/runtime.cpp:34
#10 0x0000007fb7c69fac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#11 0x0000007fb7b4f624 in start_thread (arg=0x7fb7c69f90) at pthread_create.c:477
#12 0x0000007fb7aa649c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78
Thread 5 (Thread 0x7fb51560a0 (LWP 2595)):
#0 clone () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:63
No locals.
#1 0x0000007fb7b4e328 in create_thread (pd=0x7fb51560a0, attr=0x7fffffed10, stopped_start=0x7fffffed0e, stackaddr=<optimized out>, thread_ran=0x7fffffed0f) at ../sysdeps/unix/sysv/linux/createthread.c:101
clone_flags = 4001536
tp = 0x7fb51567a0
__PRETTY_FUNCTION__ = "create_thread"
#2 0x0000000000000000 in ?? ()
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Thread 4 (Thread 0x7fb5afc0a0 (LWP 2594)):
#0 0x0000007fb7aa65c4 in __GI_epoll_pwait (epfd=<optimized out>, events=events@entry=0x7fb5afae98, maxevents=maxevents@entry=128, timeout=-1, set=set@entry=0x0) at ../sysdeps/unix/sysv/linux/epoll_pwait.c:42
_sys_result = 18446744073709551612
sc_cancel_oldtype = 0
sc_ret = <optimized out>
#1 0x0000007fb7aa6700 in epoll_wait (epfd=<optimized out>, events=events@entry=0x7fb5afae98, maxevents=maxevents@entry=128, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/epoll_wait.c:32
No locals.
#2 0x00000055555895ac in boost::asio::detail::epoll_reactor::run (this=0x55555f90a0, usec=<optimized out>, ops=...) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:471
timeout = <optimized out>
events = {{events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}} <repeats 111 times>, {events = 0, data = {ptr = 0x7fb5afb5d0, fd = -1246775856, u32 = 3048191440, u64 = 548509038032}}, {events = 3082118144, data = {ptr = 0x7fb5afb5d0, fd = -1246775856, u32 = 3048191440, u64 = 548509038032}}, {events = 3082117888, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 1432306472, data = {ptr = 0x1, fd = 1, u32 = 1, u64 = 1}}, {events = 1432306544, data = {ptr = 0x7fb5afb6a0, fd = -1246775648, u32 = 3048191648, u64 = 548509038240}}, {events = 1431876024, data = {ptr = 0x55555f42f0, fd = 1432306416, u32 = 1432306416, u64 = 366504526576}}, {events = 1432306536, data = {ptr = 0x7fb5afb758, fd = -1246775464, u32 = 3048191832, u64 = 548509038424}}, {events = 3048191768, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 3048191856, data = {ptr = 0x7fb5afb808, fd = -1246775288, u32 = 3048192008, u64 = 548509038600}}, {events = 1432306600, data = {ptr = 0x55555c5000 <vtable for boost::wrapexcept<boost::asio::service_already_exists>+32>, fd = 1432113152, u32 = 1432113152, u64 = 366504333312}}, {events = 3048194208, data = {ptr = 0x7f00000002, fd = 2, u32 = 2, u64 = 545460846594}}, {events = 0, data = {ptr = 0x7fb5afb678, fd = -1246775688, u32 = 3048191608, u64 = 548509038200}}, {events = 0, data = {ptr = 0x0, fd = 0, u32 = 0, u64 = 0}}, {events = 3082117464, data = {ptr = 0x7fb5afb678, fd = -1246775688, u32 = 3048191608, u64 = 548509038200}}, {events = 1431875652, data = {ptr = 0x7fb5afb6a0, fd = -1246775648, u32 = 3048191648, u64 = 548509038240}}, {events = 1431876624, data = {ptr = 0x55555f42f0, fd = 1432306416, u32 = 1432306416, u64 = 366504526576}}, {events = 1432306536, data = {ptr = 0x7fb5afb758, fd = -1246775464, u32 = 3048191832, u64 = 548509038424}}}
num_events = <optimized out>
check_timers = <optimized out>
#3 0x000000555558b0d0 in boost::asio::detail::scheduler::do_run_one (ec=..., this_thread=..., lock=..., this=0x55555f42f0) at /usr/include/boost/asio/detail/impl/scheduler.ipp:431
on_exit = {scheduler_ = 0x55555f42f0, lock_ = 0x7fb5afb718, this_thread_ = 0x7fb5afb758}
o = <optimized out>
more_handlers = <optimized out>
#4 boost::asio::detail::scheduler::run (this=0x55555f42f0, ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:200
this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = {0x0, 0x0, 0x0}}, private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x55555f42f0, value_ = 0x7fb5afb758, next_ = 0x0}
lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x55555f4320, locked_ = false}
n = 0
#5 0x000000555559cb08 in boost::asio::io_context::run (this=0x55555c6360 <core::trust::Runtime::instance()::runtime+16>) at /usr/include/boost/asio/impl/io_context.ipp:63
ec = {val_ = 0, failed_ = false, cat_ = 0x55555c6338 <boost::system::system_category()::system_category_instance>}
s = <optimized out>
ec = <optimized out>
s = <optimized out>
#6 (anonymous namespace)::execute_and_never_throw (ios=...) at ./src/core/trust/runtime.cpp:34
__PRETTY_FUNCTION__ = "void {anonymous}::execute_and_never_throw(boost::asio::io_service&)"
#7 0x0000007fb7c69fac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
No symbol table info available.
#8 0x0000007fb7b4f624 in start_thread (arg=0x7fb7c69f90) at pthread_create.c:477
ret = <optimized out>
pd = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {548509041852, 549755808592, 549755808590, 548543082496, 549755808591, 548544094096, 548509042592, 548509040800, 548543086592, 548509040800, 548509038720, 279558134798983918, 0, 279558134766825330, 0, 0, 0, 0, 0, 0, 0, 0}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#9 0x0000007fb7aa649c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78
No locals.
Thread 3 (Thread 0x7fb62fd0a0 (LWP 2593)):
#0 0x0000007fb7f633dc in boost::asio::detail::scheduler::compensating_work_started (this=0x55555f42f0) at /usr/include/boost/asio/detail/impl/scheduler.ipp:321
this_thread = 0x0
this_thread = <optimized out>
#1 boost::asio::detail::epoll_reactor::perform_io_cleanup_on_block_exit::~perform_io_cleanup_on_block_exit (this=0x7fb62fc678, __in_chrg=<optimized out>) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:712
No locals.
#2 boost::asio::detail::epoll_reactor::descriptor_state::perform_io (events=<optimized out>, this=0x55555f91c0) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:730
io_cleanup = {reactor_ = 0x55555f90a0, ops_ = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, first_op_ = 0x0}
descriptor_lock = <optimized out>
io_cleanup = <optimized out>
descriptor_lock = <optimized out>
flag = {1, 4, 2}
j = <optimized out>
op = <optimized out>
status = <optimized out>
#3 boost::asio::detail::epoll_reactor::descriptor_state::do_complete (bytes_transferred=<optimized out>, ec=..., base=0x55555f91c0, owner=0x55555f42f0) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:774
op = <optimized out>
descriptor_data = 0x55555f91c0
events = <optimized out>
#4 boost::asio::detail::epoll_reactor::descriptor_state::do_complete (owner=0x55555f42f0, base=0x55555f91c0, ec=..., bytes_transferred=<optimized out>) at /usr/include/boost/asio/detail/impl/epoll_reactor.ipp:766
descriptor_data = <optimized out>
events = <optimized out>
op = <optimized out>
#5 0x000000555558b2cc in boost::asio::detail::scheduler_operation::complete (bytes_transferred=<optimized out>, ec=..., owner=0x55555f42f0, this=<optimized out>) at /usr/include/boost/asio/detail/scheduler_operation.hpp:40
No locals.
#6 boost::asio::detail::scheduler::do_run_one (ec=..., this_thread=..., lock=..., this=0x55555f42f0) at /usr/include/boost/asio/detail/impl/scheduler.ipp:447
task_result = 16
on_exit = {scheduler_ = 0x55555f42f0, lock_ = 0x7fb62fc718, this_thread_ = 0x7fb62fc758}
o = <optimized out>
more_handlers = <optimized out>
#7 boost::asio::detail::scheduler::run (this=0x55555f42f0, ec=...) at /usr/include/boost/asio/detail/impl/scheduler.ipp:200
this_thread = {<boost::asio::detail::thread_info_base> = {<boost::asio::detail::noncopyable> = {<No data fields>}, reusable_memory_ = {0x0, 0x0, 0x0}}, private_op_queue = {<boost::asio::detail::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}, private_outstanding_work = 0}
ctx = {<boost::asio::detail::noncopyable> = {<No data fields>}, key_ = 0x55555f42f0, value_ = 0x7fb62fc758, next_ = 0x0}
lock = {<boost::asio::detail::noncopyable> = {<No data fields>}, mutex_ = @0x55555f4320, locked_ = false}
n = 0
#8 0x000000555559cb08 in boost::asio::io_context::run (this=0x55555c6360 <core::trust::Runtime::instance()::runtime+16>) at /usr/include/boost/asio/impl/io_context.ipp:63
ec = {val_ = 0, failed_ = false, cat_ = 0x55555c6338 <boost::system::system_category()::system_category_instance>}
s = <optimized out>
ec = <optimized out>
s = <optimized out>
#9 (anonymous namespace)::execute_and_never_throw (ios=...) at ./src/core/trust/runtime.cpp:34
__PRETTY_FUNCTION__ = "void {anonymous}::execute_and_never_throw(boost::asio::io_service&)"
#10 0x0000007fb7c69fac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
No symbol table info available.
#11 0x0000007fb7b4f624 in start_thread (arg=0x7fb7c69f90) at pthread_create.c:477
ret = <optimized out>
pd = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {548517434556, 549755808592, 549755808590, 548543082496, 549755808591, 548544094096, 548517435296, 548517433504, 548543086592, 548517433504, 548517431424, 279558134798983918, 0, 279558134808747890, 0, 0, 0, 0, 0, 0, 0, 0}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#12 0x0000007fb7aa649c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78
No locals.
Thread 2 (Thread 0x7fb6df40a0 (LWP 2590)):
#0 0x0000007fb7a9cf08 in __GI___poll (fds=0x7fb6df37d0, nfds=1, timeout=<optimized out>) at ../sysdeps/unix/sysv/linux/poll.c:41
_x3tmp = 0
_x0tmp = 548528928720
_x0 = 548528928720
_x3 = 0
_x4tmp = 0
_x1tmp = 1
_x1 = 1
_x4 = 0
_x2tmp = <optimized out>
_x2 = 0
_x8 = 73
_sys_result = <optimized out>
_sys_result = <optimized out>
sc_cancel_oldtype = 0
sc_ret = <optimized out>
timeout_ts = {tv_sec = 548535222212, tv_nsec = 548528928840}
timeout_ts_p = <optimized out>
#1 0x0000007fb73f4008 in ?? () from /lib/aarch64-linux-gnu/libmircommon.so.7
No symbol table info available.
#2 0x0000007fb73e7e54 in ?? () from /lib/aarch64-linux-gnu/libmircommon.so.7
No symbol table info available.
#3 0x0000007fb7c69fac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
No symbol table info available.
#4 0x0000007fb7b4f624 in start_thread (arg=0x7fb7c69f90) at pthread_create.c:477
ret = <optimized out>
pd = <optimized out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {548528932028, 549755808160, 549755808158, 548543082496, 549755808159, 548544094096, 548528932768, 548528930976, 548543086592, 548528930976, 548528928896, 279558134798983918, 0, 279558134813978482, 0, 0, 0, 0, 0, 0, 0, 0}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = <optimized out>
#5 0x0000007fb7aa649c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78
No locals.
Thread 1 (Thread 0x7fb6e3e010 (LWP 2567)):
#0 clone () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:63
No locals.
#1 0x0000007fb7b4e328 in create_thread (pd=pd@entry=0x7fb51560a0, attr=attr@entry=0x7fffffed10, stopped_start=0x7fffffed0e, stopped_start@entry=0x7fffffed9e, stackaddr=<optimized out>, thread_ran=0x7fffffed0f, thread_ran@entry=0x7fffffed9f) at ../sysdeps/unix/sysv/linux/createthread.c:101
clone_flags = 4001536
tp = 0x7fb51567a0
__PRETTY_FUNCTION__ = "create_thread"
#2 0x0000007fb7b4fcc0 in __pthread_create_2_1 (newthread=0x55555f9e20, attr=<optimized out>, start_routine=0x7fb7c69f90, arg=<optimized out>) at pthread_create.c:817
stackaddr = 0x7fb51559a0
iattr = 0x7fffffed10
default_attr = {schedparam = {sched_priority = 0}, schedpolicy = 0, flags = 0, guardsize = 4096, stackaddr = 0x0, stacksize = 8388608, cpuset = 0x0, cpusetsize = 0}
free_cpuset = 127
c11 = <optimized out>
pd = 0x7fb51560a0
err = 0
retval = 0
self = <optimized out>
stopped_start = false
thread_ran = false
__PRETTY_FUNCTION__ = "__pthread_create_2_1"
#3 0x0000007fb7c6a2c4 in std::thread::_M_start_thread(std::unique_ptr<std::thread::_State, std::default_delete<std::thread::_State> >, void (*)()) () from /lib/aarch64-linux-gnu/libstdc++.so.6
No symbol table info available.
#4 0x0000007fb7f28eb8 in std::thread::thread<void (&)(boost::asio::io_context&), std::reference_wrapper<boost::asio::io_context>, void> (__f=@0x7fb7f23708: {void (boost::asio::io_context &)} 0x7fb7f23708 <(anonymous namespace)::execute_and_never_throw(boost::asio::io_service&)>, this=0x55555f9e20) at /usr/include/c++/9/bits/unique_ptr.h:153
__depend = <optimized out>
#5 __gnu_cxx::new_allocator<std::thread>::construct<std::thread, void (&)(boost::asio::io_context&), std::reference_wrapper<boost::asio::io_context> > (this=0x7fb7fa7a68 <core::trust::Runtime::instance()::runtime+40>, __p=0x55555f9e20) at /usr/include/c++/9/ext/new_allocator.h:146
No locals.
#6 std::allocator_traits<std::allocator<std::thread> >::construct<std::thread, void (&)(boost::asio::io_context&), std::reference_wrapper<boost::asio::io_context> > (__a=..., __p=0x55555f9e20) at /usr/include/c++/9/bits/alloc_traits.h:483
No locals.
#7 std::vector<std::thread, std::allocator<std::thread> >::_M_realloc_insert<void (&)(boost::asio::io_context&), std::reference_wrapper<boost::asio::io_context> > (this=this@entry=0x7fb7fa7a68 <core::trust::Runtime::instance()::runtime+40>, __position=__position@entry=non-dereferenceable iterator for std::vector) at /usr/include/c++/9/bits/vector.tcc:449
__len = <optimized out>
__old_start = <optimized out>
__old_finish = <optimized out>
__elems_before = <optimized out>
__new_start = 0x55555f9e20
__new_finish = 0x55555f9e20
#8 0x0000007fb7f23e08 in std::vector<std::thread, std::allocator<std::thread> >::emplace_back<void (&)(boost::asio::io_context&), std::reference_wrapper<boost::asio::io_context> > (this=0x7fb7fa7a68 <core::trust::Runtime::instance()::runtime+40>) at /usr/include/c++/9/bits/stl_iterator.h:803
No locals.
#9 core::trust::Runtime::Runtime (this=0x7fb7fa7a40 <core::trust::Runtime::instance()::runtime>) at ./src/core/trust/runtime.cpp:61
i = 0
i = <optimized out>
#10 0x0000007fb7f240b4 in core::trust::Runtime::instance () at ./src/core/trust/runtime.cpp:52
runtime = {static concurrency_hint = 2, signal_trap = std::shared_ptr<core::posix::SignalTrap> (use count 1, weak count 0) = {get() = 0x55555fc1d0}, io_service = {<boost::asio::execution_context> = {<boost::asio::detail::noncopyable> = {<No data fields>}, service_registry_ = 0x55555f8e60}, impl_ = @0x55555fc300}, keep_alive = {io_context_impl_ = @0x55555fc300}, pool = std::vector of length 0, capacity 0}
#11 0x0000007fb7f34898 in (anonymous namespace)::DefaultBusFactory::bus_for_type (this=this@entry=0x55555e4dd0, type=<optimized out>) at ./src/core/trust/dbus/bus_factory.cpp:58
bus = std::shared_ptr<core::dbus::Bus> (use count 1, weak count 0) = {get() = 0x55555f56e0}
#12 0x0000005555583378 in core::trust::Daemon::Skeleton::Configuration::from_command_line (argc=<optimized out>, argv=<optimized out>) at /usr/include/boost/any.hpp:143
vm = <incomplete type>
dict = std::map with 3 elements = {["disable-whitelisting"] = "yes", ["endpoint"] = "/dev/socket/camera_service/camera_service_to_trust", ["trusted-mir-socket"] = "/run/user/32011/mir_socket_trusted"}
options = {static m_default_line_length = 80, m_caption = "Known options", m_line_length = 80, m_min_description_length = 40, m_options = std::vector of length 5, capacity 8 = {{px = 0x55555e41b0, pn = {pi_ = 0x55555e42c0}}, {px = 0x55555e43e0, pn = {pi_ = 0x55555e44e0}}, {px = 0x55555e4620, pn = {pi_ = 0x55555e4710}}, {px = 0x55555e4840, pn = {pi_ = 0x55555e4910}}, {px = 0x55555e49f0, pn = {pi_ = 0x55555e4af0}}}, belong_to_group = std::vector<bool> of length 5, capacity 64 = {false, false, false, false, false}, groups = std::vector of length 0, capacity 0}
parser = {<boost::program_options::detail::cmdline> = {m_args = std::vector of length 0, capacity 13, m_style = boost::program_options::command_line_style::unix_style, m_allow_unregistered = true, m_desc = 0x7ffffff2c8, m_positional = 0x0, m_additional_parser = {<boost::function_base> = {vtable = 0x0, functor = {members = {obj_ptr = 0x6561443a3a747375, type = {type = 0x6561443a3a747375, const_qualified = 109, volatile_qualified = 111}, func_ptr = 0x6561443a3a747375, bound_memfunc_ptr = {memfunc_ptr = &virtual table offset 7305195087451157365, this adjustment 3654013164946143158, obj_ptr = 0x6e6f74656c}, obj_ref = {obj_ptr = 0x6561443a3a747375, is_const_qualified = 109, is_volatile_qualified = 111}}, data = "ust::Daemon::Skeleton\000\000"}}, static args = <optimized out>, static arity = <optimized out>}, m_style_parser = {<boost::function_base> = {vtable = 0x0, functor = {members = {obj_ptr = 0xa800000000000000, type = {type = 0xa800000000000000, const_qualified = false, volatile_qualified = false}, func_ptr = 0xa800000000000000, bound_memfunc_ptr = {memfunc_ptr = (void (boost::detail::function::X::*)(boost::detail::function::X * const, int)) 0xa800000000000000, obj_ptr = 0x8020080000000000}, obj_ref = {obj_ptr = 0xa800000000000000, is_const_qualified = false, is_volatile_qualified = false}}, data = "\000\000\000\000\000\000\000\250", '\000' <repeats 13 times>, "\b \200"}}, static args = <optimized out>, static arity = <optimized out>}}, m_desc = 0x7ffffff2c8}
bf = std::shared_ptr<core::trust::dbus::BusFactory> (use count 1, weak count 0) = {get() = 0x55555e4dd0}
service_name = "CameraService"
service_text_domain = "CameraService"
local_agent_factory = {<std::_Maybe_unary_or_binary_function<std::shared_ptr<core::trust::Agent>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<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::binary_function<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<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::shared_ptr<core::trust::Agent> >> = {<No data fields>}, <No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7fb7df3698, _M_const_object = 0x7fb7df3698, _M_function_pointer = 0x7fb7df3698, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7fb7df3698, this adjustment 1333660676}, _M_pod_data = "\230\066߷\177\000\000\000\b\030\374\236\000\000\000"}, _M_manager = 0x555557d278 <std::_Function_base::_Base_manager<core::trust::Daemon::Skeleton::known_local_agent_factories()::<lambda(const string&, const Dictionary&)> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x555557e158 <std::_Function_handler<std::shared_ptr<core::trust::Agent>(const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&), core::trust::Daemon::Skeleton::known_local_agent_factories()::<lambda(const string&, const Dictionary&)> >::_M_invoke(const std::_Any_data &, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, const std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<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> > > > > &)>}
remote_agent_factory = {<std::_Maybe_unary_or_binary_function<std::shared_ptr<core::trust::Agent>, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::shared_ptr<core::trust::Agent> const&, std::shared_ptr<core::trust::dbus::BusFactory> const&, std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<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&>> = {<No data fields>}, <std::_Function_base> = {static _M_max_size = 16, static _M_max_align = 8, _M_functor = {_M_unused = {_M_object = 0x7fb7b43a98 <main_arena>, _M_const_object = 0x7fb7b43a98 <main_arena>, _M_function_pointer = 0x7fb7b43a98 <main_arena>, _M_member_pointer = (void (std::_Undefined_class::*)(std::_Undefined_class * const)) 0x7fb7b43a98 <main_arena>, this adjustment 12}, _M_pod_data = "\230:\264\267\177\000\000\000\030\000\000\000\000\000\000"}, _M_manager = 0x555557d338 <std::_Function_base::_Base_manager<core::trust::Daemon::Skeleton::known_remote_agent_factories()::<lambda(const string&, const std::shared_ptr<core::trust::Agent>&, const Ptr&, const Dictionary&)> >::_M_manager(std::_Any_data &, const std::_Any_data &, std::_Manager_operation)>}, _M_invoker = 0x555557eaa0 <std::_Function_handler<std::shared_ptr<core::trust::Agent>(const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, const std::shared_ptr<core::trust::Agent>&, const std::shared_ptr<core::trust::dbus::BusFactory>&, const std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >&), core::trust::Daemon::Skeleton::known_remote_agent_factories()::<lambda(const string&, const std::shared_ptr<core::trust::Agent>&, const Ptr&, const Dictionary&)> >::_M_invoke(const std::_Any_data &, const std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > &, const std::shared_ptr<core::trust::Agent> &, const std::shared_ptr<core::trust::dbus::BusFactory> &, const std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<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> > > > > &)>}
local_store = std::shared_ptr<core::trust::Store> (use count 2, weak count 1) = {get() = 0x55555e5590}
local_agent = std::shared_ptr<core::trust::Agent> (use count 2, weak count 0) = {get() = 0x55555f4b80}
cached_agent = <optimized out>
whitelisting_agent = <optimized out>
formatting_agent = <optimized out>
privilege_escalation_prevention_agent = <optimized out>
remote_agent = std::shared_ptr<core::trust::Agent> (use count 2, weak count 1) = {get() = 0x55555f8f00}
#13 0x0000005555577100 in main (argc=14, argv=0x7ffffff5d8) at ./src/core/trust/daemon_skeleton_main.cpp:33
configuration = {service_name = "", bus = std::shared_ptr<core::dbus::Bus> (empty) = {get() = 0x0}, local = {store = std::shared_ptr<core::trust::Store> (empty) = {get() = 0x0}, agent = std::shared_ptr<core::trust::Agent> (empty) = {get() = 0x0}}, remote = {agent = std::shared_ptr<core::trust::Agent> (empty) = {get() = 0x0}}}
Edited by Guido Berhörster