Comment 3 for bug 1355892

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

The offending exception: /usr/include/c++/4.9/bits/shared_ptr_base.h:626
appears to be constructor/memory related, as if unity8 has exhausted available memory?

      template<typename _Tp, typename _Alloc, typename... _Args>
        __shared_count(_Sp_make_shared_tag, _Tp*, const _Alloc& __a,
                       _Args&&... __args)
        : _M_pi(0)
        {
          typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type;
          typedef typename allocator_traits<_Alloc>::template
            rebind_traits<_Sp_cp_type> _Alloc_traits;
          typename _Alloc_traits::allocator_type __a2(__a);
          _Sp_cp_type* __mem = _Alloc_traits::allocate(__a2, 1);
          __try
            {
              _Alloc_traits::construct(__a2, __mem, std::move(__a),
                    std::forward<_Args>(__args)...);
              _M_pi = __mem;
            }
          __catch(...)
            {
              _Alloc_traits::deallocate(__a2, __mem, 1);
              __throw_exception_again;
            }
        }

Either that or the constructor is throwing, which could be:

mgn::MirClientHostConnection::MirClientHostConnection
 ...
    if (!mir_connection_is_valid(mir_connection))
    {
        std::string const msg =
            "Nested Mir Platform Connection Error: " +
            std::string(mir_connection_get_error_message(mir_connection));

        BOOST_THROW_EXCEPTION(std::runtime_error(msg)); <=== the only exception possible I can see
    }

either due to a startup race or due to unity-system-compositor having crashed...?