Using mir 0.0.2 & Xmir, mir will rapidly die once compiz starts - ie: shortly after logging in from unity-greeter. Unity-greeter itself appears to work fine.
This occurs on both intel & radeon.
/var/log/lightdm/mir.log
[II, GBMDisplay] Successfully setup native resources.
[II, GBMDisplay] Successfully made egl context current on construction.
[II, GBMDisplay] Successfully performed egl buffer swap on construction.
[II, GBMDisplay] Successfully performed drm mode setup on construction.
[II, GBMDisplay] Successfully finished construction.
[EE, GBMDisplay] Timeout while waiting for page-flip
Ginormous evil backtrace:
Program received signal SIGSEGV, Segmentation fault.
std::_Hashtable<unsigned int, std::pair<unsigned int const, mir::graphics::gbm::PageFlipEventData>, std::allocator<std::pair<unsigned int const, mir::graphics::gbm::PageFlipEventData> >, std::_Select1st<std::pair<unsigned int const, mir::graphics::gbm::PageFlipEventData> >, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, false, false, true>::erase (this=0x1c043f0, __k=@0x1bf9bd0: 4294967295)
at /usr/include/c++/4.6/bits/hashtable.h:1097
1097 while (*__slot && !this->_M_compare(__k, __code, *__slot))
(gdb) bt
#0 std::_Hashtable<unsigned int, std::pair<unsigned int const, mir::graphics::gbm::PageFlipEventData>, std::allocator<std::pair<unsigned int const, mir::graphics::gbm::PageFlipEventData> >, std::_Select1st<std::pair<unsigned int const, mir::graphics::gbm::PageFlipEventData> >, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, false, false, true>::erase (this=0x1c043f0,
__k=@0x1bf9bd0: 4294967295) at /usr/include/c++/4.6/bits/hashtable.h:1097
#1 0x00007f732c8a2873 in drmHandleEvent (fd=3,
evctx=0x7f732def7ad0 <mir::graphics::gbm::KMSPageFlipper::wait_for_flip(unsigned int)::evctx>) at ../xf86drmMode.c:811
#2 0x00007f732dcca107 in mir::graphics::gbm::KMSPageFlipper::wait_for_flip (
this=0x1a28230, crtc_id=10)
at /build/buildd/mir-0.0.2/src/graphics/gbm/kms_page_flipper.cpp:155
#3 0x00007f732dcc80e9 in mir::graphics::gbm::KMSOutput::wait_for_page_flip (
this=<optimised out>)
at /build/buildd/mir-0.0.2/src/graphics/gbm/kms_output.cpp:168
#4 0x00007f732dcc61b4 in mir::graphics::gbm::GBMDisplayBuffer::schedule_and_wait_for_page_flip (this=0x1aa0770, bufobj=0x1b3b3d0)
at /build/buildd/mir-0.0.2/src/graphics/gbm/gbm_display_buffer.cpp:263
#5 0x00007f732dcc622b in post_update (this=0x1aa0770)
at /build/buildd/mir-0.0.2/src/graphics/gbm/gbm_display_buffer.cpp:191
#6 mir::graphics::gbm::GBMDisplayBuffer::post_update (this=0x1aa0770)
at /build/buildd/mir-0.0.2/src/graphics/gbm/gbm_display_buffer.cpp:171
#7 0x00007f732dc9b795 in operator() (buffer=..., this=0x1b313b0)
at /build/buildd/mir-0.0.2/src/compositor/compositor.cpp:74
#8 std::_Function_handler<void(mir::graphics::DisplayBuffer&), mir::compositor::Compositor::render(mir::graphics::Display*)::<lambda(mir::graphics::DisplayBuffer&)> >::_M_invoke(const std::_Any_data &, mir::graphics::DisplayBuffer &) (__functor=...,
__args#0=...) at /usr/include/c++/4.6/functional:1778
#9 0x00007f732dcc180c in operator() (__args#0=..., this=0x7fff039c0300)
at /usr/include/c++/4.6/functional:2161
#10 mir::graphics::gbm::GBMDisplay::for_each_display_buffer(std::function<void (mir::graphics::DisplayBuffer&)> const&) (this=<optimised out>, f=...)
at /build/buildd/mir-0.0.2/src/graphics/gbm/gbm_display.cpp:63
#11 0x00007f732dc9b562 in mir::compositor::Compositor::render (this=0x1bf22c0,
display=0x1a23110) at /build/buildd/mir-0.0.2/src/compositor/compositor.cpp:75
#12 0x00007f732dc8cf2d in mir::DisplayServer::start (this=0x7fff039c0510)
at /build/buildd/mir-0.0.2/src/display_server.cpp:103
#13 0x0000000000406964 in run_mir (socket_file="/tmp/mir_socket")
at /build/buildd/mir-0.0.2/src/main.cpp:63
#14 main (argc=3, argv=0x7fff039c0618) at /build/buildd/mir-0.0.2/src/main.cpp:96
(gdb) thread apply all bt
Thread 12 (Thread 0x7f73280b8700 (LWP 10227)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007f73289dca3b in pipe_semaphore_wait (sema=0x1a1c310)
at ../../../../../../../src/gallium/auxiliary/os/os_thread.h:433
#2 radeon_drm_cs_emit_ioctl (param=0x1a1c130) at radeon_drm_winsys.c:518
#3 0x00007f732da19f8e in start_thread (arg=0x7f73280b8700) at pthread_create.c:311
#4 0x00007f732cfcae1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
Thread 11 (Thread 0x7f7324ca2700 (LWP 10228)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007f732dcb0e9b in wait<boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex> > (lock=..., this=0x7f7324ca1db0)
at /usr/include/boost/asio/detail/posix_event.hpp:80
#2 do_run_one (ec=..., private_op_queue=..., this_thread=..., lock=...,
this=<optimised out>)
at /usr/include/boost/asio/detail/impl/task_io_service.ipp:380
#3 boost::asio::detail::task_io_service::run (this=0x1c03600, ec=...)
at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146
#4 0x00007f732dcb1375 in boost::asio::io_service::run (this=0x1b34220)
at /usr/include/boost/asio/impl/io_service.ipp:59
#5 0x00007f732d5619f0 in std::(anonymous namespace)::execute_native_thread_routine
(__p=<optimised out>) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:74
#6 0x00007f732da19f8e in start_thread (arg=0x7f7324ca2700) at pthread_create.c:311
#7 0x00007f732cfcae1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
Thread 10 (Thread 0x7f73244a1700 (LWP 10229)):
#0 pthread_cond_wait@@GLIBC_2.3.2 ()
at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1 0x00007f732dcb0e9b in wait<boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex> > (lock=..., this=0x7f73244a0db0)
at /usr/include/boost/asio/detail/posix_event.hpp:80
#2 do_run_one (ec=..., private_op_queue=..., this_thread=..., lock=...,
this=<optimised out>)
at /usr/include/boost/asio/detail/impl/task_io_service.ipp:380
#3 boost::asio::detail::task_io_service::run (this=0x1c03600, ec=...)
at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146
#4 0x00007f732dcb1375 in boost::asio::io_service::run (this=0x1b34220)
at /usr/include/boost/asio/impl/io_service.ipp:59
#5 0x00007f732d5619f0 in std::(anonymous namespace)::execute_native_thread_routine
---Type <return> to continue, or q <return> to quit---q
(Quit
(gdb) set pagination 0
(gdb) thread apply all bt full
Thread 12 (Thread 0x7f73280b8700 (LWP 10227)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1 0x00007f73289dca3b in pipe_semaphore_wait (sema=0x1a1c310) at ../../../../../../../src/gallium/auxiliary/os/os_thread.h:433
No locals.
#2 radeon_drm_cs_emit_ioctl (param=0x1a1c130) at radeon_drm_winsys.c:518
ws = 0x1a1c130
cs = <optimised out>
i = <optimised out>
empty_stack = <optimised out>
#3 0x00007f732da19f8e in start_thread (arg=0x7f73280b8700) at pthread_create.c:311
__res = <optimised out>
pd = 0x7f73280b8700
now = <optimised out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140132569810688, 5423417445248852111, 0, 140132670877792, 140132663572288, 4096, -5357725031447732081, -5357733049048440689}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
pagesize_m1 = <optimised out>
sp = <optimised out>
freesize = <optimised out>
__PRETTY_FUNCTION__ = "start_thread"
#4 0x00007f732cfcae1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.
Thread 11 (Thread 0x7f7324ca2700 (LWP 10228)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1 0x00007f732dcb0e9b in wait<boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex> > (lock=..., this=0x7f7324ca1db0) at /usr/include/boost/asio/detail/posix_event.hpp:80
No locals.
#2 do_run_one (ec=..., private_op_queue=..., this_thread=..., lock=..., this=<optimised out>) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:380
No locals.
#3 boost::asio::detail::task_io_service::run (this=0x1c03600, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146
this_thread = {wakeup_event = 0x7f7324ca1db0, private_op_queue = 0x0, next = 0x7f7320498ce0}
wakeup_event = {<boost::noncopyable_::noncopyable> = {<No data fields>}, cond_ = {__data = {__lock = 0, __futex = 309, __total_seq = 155, __wakeup_seq = 154, __woken_seq = 154, __mutex = 0x1c03630, __nwaiters = 2, __broadcast_seq = 0}, __size = "\000\000\000\000\065\001\000\000\233\000\000\000\000\000\000\000\232\000\000\000\000\000\000\000\232\000\000\000\000\000\000\000\060\066\300\001\000\000\000\000\002\000\000\000\000\000\000", __align = 1327144894464}, signalled_ = false}
ctx = {<boost::noncopyable_::noncopyable> = {<No data fields>}, key_ = 0x1c03600, value_ = 0x7f7324ca1ce0, next_ = 0x0}
private_op_queue = {<boost::noncopyable_::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}
lock = {<boost::noncopyable_::noncopyable> = {<No data fields>}, mutex_ = @0x1c03630, locked_ = true}
n = <optimised out>
#4 0x00007f732dcb1375 in boost::asio::io_service::run (this=0x1b34220) at /usr/include/boost/asio/impl/io_service.ipp:59
ec = {m_val = 0, m_cat = 0x7f732cca90d8}
s = <optimised out>
#5 0x00007f732d5619f0 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimised out>) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:74
__t = <optimised out>
#6 0x00007f732da19f8e in start_thread (arg=0x7f7324ca2700) at pthread_create.c:311
__res = <optimised out>
pd = 0x7f7324ca2700
now = <optimised out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140132515194624, 5423417445248852111, 0, 140132670877792, 140132663572288, 4096, -5357716775446847345, -5357733049048440689}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
pagesize_m1 = <optimised out>
sp = <optimised out>
freesize = <optimised out>
__PRETTY_FUNCTION__ = "start_thread"
#7 0x00007f732cfcae1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.
Thread 10 (Thread 0x7f73244a1700 (LWP 10229)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1 0x00007f732dcb0e9b in wait<boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex> > (lock=..., this=0x7f73244a0db0) at /usr/include/boost/asio/detail/posix_event.hpp:80
No locals.
#2 do_run_one (ec=..., private_op_queue=..., this_thread=..., lock=..., this=<optimised out>) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:380
No locals.
#3 boost::asio::detail::task_io_service::run (this=0x1c03600, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146
this_thread = {wakeup_event = 0x7f73244a0db0, private_op_queue = 0x0, next = 0x7f7321c9bce0}
wakeup_event = {<boost::noncopyable_::noncopyable> = {<No data fields>}, cond_ = {__data = {__lock = 0, __futex = 1, __total_seq = 1, __wakeup_seq = 0, __woken_seq = 0, __mutex = 0x1c03630, __nwaiters = 2, __broadcast_seq = 0}, __size = "\000\000\000\000\001\000\000\000\001", '\000' <repeats 23 times>, "06\300\001\000\000\000\000\002\000\000\000\000\000\000", __align = 4294967296}, signalled_ = false}
ctx = {<boost::noncopyable_::noncopyable> = {<No data fields>}, key_ = 0x1c03600, value_ = 0x7f73244a0ce0, next_ = 0x0}
private_op_queue = {<boost::noncopyable_::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}
lock = {<boost::noncopyable_::noncopyable> = {<No data fields>}, mutex_ = @0x1c03630, locked_ = true}
n = <optimised out>
#4 0x00007f732dcb1375 in boost::asio::io_service::run (this=0x1b34220) at /usr/include/boost/asio/impl/io_service.ipp:59
ec = {m_val = 0, m_cat = 0x7f732cca90d8}
s = <optimised out>
#5 0x00007f732d5619f0 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimised out>) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:74
__t = <optimised out>
#6 0x00007f732da19f8e in start_thread (arg=0x7f73244a1700) at pthread_create.c:311
__res = <optimised out>
pd = 0x7f73244a1700
now = <optimised out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140132506801920, 5423417445248852111, 0, 140132670877792, 140132663572288, 4096, -5357715676472090481, -5357733049048440689}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
pagesize_m1 = <optimised out>
sp = <optimised out>
freesize = <optimised out>
__PRETTY_FUNCTION__ = "start_thread"
#7 0x00007f732cfcae1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.
Thread 9 (Thread 0x7f7323ca0700 (LWP 10230)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1 0x00007f732dcb0e9b in wait<boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex> > (lock=..., this=0x7f7323c9fdb0) at /usr/include/boost/asio/detail/posix_event.hpp:80
No locals.
#2 do_run_one (ec=..., private_op_queue=..., this_thread=..., lock=..., this=<optimised out>) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:380
No locals.
#3 boost::asio::detail::task_io_service::run (this=0x1c03600, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146
this_thread = {wakeup_event = 0x7f7323c9fdb0, private_op_queue = 0x0, next = 0x7f73244a0ce0}
wakeup_event = {<boost::noncopyable_::noncopyable> = {<No data fields>}, cond_ = {__data = {__lock = 0, __futex = 1, __total_seq = 1, __wakeup_seq = 0, __woken_seq = 0, __mutex = 0x1c03630, __nwaiters = 2, __broadcast_seq = 0}, __size = "\000\000\000\000\001\000\000\000\001", '\000' <repeats 23 times>, "06\300\001\000\000\000\000\002\000\000\000\000\000\000", __align = 4294967296}, signalled_ = false}
ctx = {<boost::noncopyable_::noncopyable> = {<No data fields>}, key_ = 0x1c03600, value_ = 0x7f7323c9fce0, next_ = 0x0}
private_op_queue = {<boost::noncopyable_::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}
lock = {<boost::noncopyable_::noncopyable> = {<No data fields>}, mutex_ = @0x1c03630, locked_ = true}
n = <optimised out>
#4 0x00007f732dcb1375 in boost::asio::io_service::run (this=0x1b34220) at /usr/include/boost/asio/impl/io_service.ipp:59
ec = {m_val = 0, m_cat = 0x7f732cca90d8}
s = <optimised out>
#5 0x00007f732d5619f0 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimised out>) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:74
__t = <optimised out>
#6 0x00007f732da19f8e in start_thread (arg=0x7f7323ca0700) at pthread_create.c:311
__res = <optimised out>
pd = 0x7f7323ca0700
now = <optimised out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140132498409216, 5423417445248852111, 0, 140132670877792, 140132663572288, 4096, -5357701370472898417, -5357733049048440689}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
pagesize_m1 = <optimised out>
sp = <optimised out>
freesize = <optimised out>
__PRETTY_FUNCTION__ = "start_thread"
#7 0x00007f732cfcae1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.
Thread 8 (Thread 0x7f732349f700 (LWP 10231)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1 0x00007f732dcb0e9b in wait<boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex> > (lock=..., this=0x7f732349edb0) at /usr/include/boost/asio/detail/posix_event.hpp:80
No locals.
#2 do_run_one (ec=..., private_op_queue=..., this_thread=..., lock=..., this=<optimised out>) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:380
No locals.
#3 boost::asio::detail::task_io_service::run (this=0x1c03600, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146
this_thread = {wakeup_event = 0x7f732349edb0, private_op_queue = 0x0, next = 0x0}
wakeup_event = {<boost::noncopyable_::noncopyable> = {<No data fields>}, cond_ = {__data = {__lock = 0, __futex = 1, __total_seq = 1, __wakeup_seq = 0, __woken_seq = 0, __mutex = 0x1c03630, __nwaiters = 2, __broadcast_seq = 0}, __size = "\000\000\000\000\001\000\000\000\001", '\000' <repeats 23 times>, "06\300\001\000\000\000\000\002\000\000\000\000\000\000", __align = 4294967296}, signalled_ = false}
ctx = {<boost::noncopyable_::noncopyable> = {<No data fields>}, key_ = 0x1c03600, value_ = 0x7f732349ece0, next_ = 0x0}
private_op_queue = {<boost::noncopyable_::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}
lock = {<boost::noncopyable_::noncopyable> = {<No data fields>}, mutex_ = @0x1c03630, locked_ = true}
n = <optimised out>
#4 0x00007f732dcb1375 in boost::asio::io_service::run (this=0x1b34220) at /usr/include/boost/asio/impl/io_service.ipp:59
ec = {m_val = 0, m_cat = 0x7f732cca90d8}
s = <optimised out>
#5 0x00007f732d5619f0 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimised out>) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:74
__t = <optimised out>
#6 0x00007f732da19f8e in start_thread (arg=0x7f732349f700) at pthread_create.c:311
__res = <optimised out>
pd = 0x7f732349f700
now = <optimised out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140132490016512, 5423417445248852111, 0, 140132670877792, 140132663572288, 4096, -5357700271498141553, -5357733049048440689}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
pagesize_m1 = <optimised out>
sp = <optimised out>
freesize = <optimised out>
__PRETTY_FUNCTION__ = "start_thread"
#7 0x00007f732cfcae1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.
Thread 7 (Thread 0x7f7322c9e700 (LWP 10232)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1 0x00007f732dcb0e9b in wait<boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex> > (lock=..., this=0x7f7322c9ddb0) at /usr/include/boost/asio/detail/posix_event.hpp:80
No locals.
#2 do_run_one (ec=..., private_op_queue=..., this_thread=..., lock=..., this=<optimised out>) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:380
No locals.
#3 boost::asio::detail::task_io_service::run (this=0x1c03600, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146
this_thread = {wakeup_event = 0x7f7322c9ddb0, private_op_queue = 0x0, next = 0x7f732349ece0}
wakeup_event = {<boost::noncopyable_::noncopyable> = {<No data fields>}, cond_ = {__data = {__lock = 0, __futex = 1, __total_seq = 1, __wakeup_seq = 0, __woken_seq = 0, __mutex = 0x1c03630, __nwaiters = 2, __broadcast_seq = 0}, __size = "\000\000\000\000\001\000\000\000\001", '\000' <repeats 23 times>, "06\300\001\000\000\000\000\002\000\000\000\000\000\000", __align = 4294967296}, signalled_ = false}
ctx = {<boost::noncopyable_::noncopyable> = {<No data fields>}, key_ = 0x1c03600, value_ = 0x7f7322c9dce0, next_ = 0x0}
private_op_queue = {<boost::noncopyable_::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}
lock = {<boost::noncopyable_::noncopyable> = {<No data fields>}, mutex_ = @0x1c03630, locked_ = true}
n = <optimised out>
#4 0x00007f732dcb1375 in boost::asio::io_service::run (this=0x1b34220) at /usr/include/boost/asio/impl/io_service.ipp:59
ec = {m_val = 0, m_cat = 0x7f732cca90d8}
s = <optimised out>
#5 0x00007f732d5619f0 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimised out>) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:74
__t = <optimised out>
#6 0x00007f732da19f8e in start_thread (arg=0x7f7322c9e700) at pthread_create.c:311
__res = <optimised out>
pd = 0x7f7322c9e700
now = <optimised out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140132481623808, 5423417445248852111, 0, 140132670877792, 140132663572288, 4096, -5357703570569895793, -5357733049048440689}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
pagesize_m1 = <optimised out>
sp = <optimised out>
freesize = <optimised out>
__PRETTY_FUNCTION__ = "start_thread"
#7 0x00007f732cfcae1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.
Thread 6 (Thread 0x7f732249d700 (LWP 10233)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1 0x00007f732dcb0e9b in wait<boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex> > (lock=..., this=0x7f732249cdb0) at /usr/include/boost/asio/detail/posix_event.hpp:80
No locals.
#2 do_run_one (ec=..., private_op_queue=..., this_thread=..., lock=..., this=<optimised out>) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:380
No locals.
#3 boost::asio::detail::task_io_service::run (this=0x1c03600, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146
this_thread = {wakeup_event = 0x7f732249cdb0, private_op_queue = 0x0, next = 0x7f7323c9fce0}
wakeup_event = {<boost::noncopyable_::noncopyable> = {<No data fields>}, cond_ = {__data = {__lock = 0, __futex = 1, __total_seq = 1, __wakeup_seq = 0, __woken_seq = 0, __mutex = 0x1c03630, __nwaiters = 2, __broadcast_seq = 0}, __size = "\000\000\000\000\001\000\000\000\001", '\000' <repeats 23 times>, "06\300\001\000\000\000\000\002\000\000\000\000\000\000", __align = 4294967296}, signalled_ = false}
ctx = {<boost::noncopyable_::noncopyable> = {<No data fields>}, key_ = 0x1c03600, value_ = 0x7f732249cce0, next_ = 0x0}
private_op_queue = {<boost::noncopyable_::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}
lock = {<boost::noncopyable_::noncopyable> = {<No data fields>}, mutex_ = @0x1c03630, locked_ = true}
n = <optimised out>
#4 0x00007f732dcb1375 in boost::asio::io_service::run (this=0x1b34220) at /usr/include/boost/asio/impl/io_service.ipp:59
ec = {m_val = 0, m_cat = 0x7f732cca90d8}
s = <optimised out>
#5 0x00007f732d5619f0 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimised out>) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:74
__t = <optimised out>
#6 0x00007f732da19f8e in start_thread (arg=0x7f732249d700) at pthread_create.c:311
__res = <optimised out>
pd = 0x7f732249d700
now = <optimised out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140132473231104, 5423417445248852111, 0, 140132670877792, 140132663572288, 4096, -5357702471595138929, -5357733049048440689}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
pagesize_m1 = <optimised out>
sp = <optimised out>
freesize = <optimised out>
__PRETTY_FUNCTION__ = "start_thread"
#7 0x00007f732cfcae1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.
Thread 5 (Thread 0x7f7321c9c700 (LWP 10234)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1 0x00007f732dcb0e9b in wait<boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex> > (lock=..., this=0x7f7321c9bdb0) at /usr/include/boost/asio/detail/posix_event.hpp:80
No locals.
#2 do_run_one (ec=..., private_op_queue=..., this_thread=..., lock=..., this=<optimised out>) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:380
No locals.
#3 boost::asio::detail::task_io_service::run (this=0x1c03600, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146
this_thread = {wakeup_event = 0x7f7321c9bdb0, private_op_queue = 0x0, next = 0x7f7322c9dce0}
wakeup_event = {<boost::noncopyable_::noncopyable> = {<No data fields>}, cond_ = {__data = {__lock = 0, __futex = 1, __total_seq = 1, __wakeup_seq = 0, __woken_seq = 0, __mutex = 0x1c03630, __nwaiters = 2, __broadcast_seq = 0}, __size = "\000\000\000\000\001\000\000\000\001", '\000' <repeats 23 times>, "06\300\001\000\000\000\000\002\000\000\000\000\000\000", __align = 4294967296}, signalled_ = false}
ctx = {<boost::noncopyable_::noncopyable> = {<No data fields>}, key_ = 0x1c03600, value_ = 0x7f7321c9bce0, next_ = 0x0}
private_op_queue = {<boost::noncopyable_::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}
lock = {<boost::noncopyable_::noncopyable> = {<No data fields>}, mutex_ = @0x1c03630, locked_ = true}
n = <optimised out>
#4 0x00007f732dcb1375 in boost::asio::io_service::run (this=0x1b34220) at /usr/include/boost/asio/impl/io_service.ipp:59
ec = {m_val = 0, m_cat = 0x7f732cca90d8}
s = <optimised out>
#5 0x00007f732d5619f0 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimised out>) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:74
__t = <optimised out>
#6 0x00007f732da19f8e in start_thread (arg=0x7f7321c9c700) at pthread_create.c:311
__res = <optimised out>
pd = 0x7f7321c9c700
now = <optimised out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140132464838400, 5423417445248852111, 0, 140132670877792, 140132663572288, 4096, -5357705766371925873, -5357733049048440689}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
pagesize_m1 = <optimised out>
sp = <optimised out>
freesize = <optimised out>
__PRETTY_FUNCTION__ = "start_thread"
#7 0x00007f732cfcae1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.
Thread 4 (Thread 0x7f732149b700 (LWP 10235)):
#0 0x00007f732cfc3233 in select () at ../sysdeps/unix/syscall-template.S:81
No locals.
#1 0x00007f732dcb087b in select (ec=<synthetic pointer>, timeout=0x7f732149ac70, exceptfds=0x1c329b0, writefds=0x1c32928, readfds=0x1c328a0, nfds=9) at /usr/include/boost/asio/detail/impl/socket_ops.ipp:1683
No locals.
#2 boost::asio::detail::select_reactor::run (this=0x1c32780, block=true, ops=...) at /usr/include/boost/asio/detail/impl/select_reactor.ipp:213
tv_buf = {tv_sec = 299, tv_usec = 396717}
tv = 0x7f732149ac70
retval = <optimised out>
lock = {<boost::noncopyable_::noncopyable> = {<No data fields>}, mutex_ = @0x1c327b0, locked_ = false}
max_fd = 8
have_work_to_do = true
#3 0x00007f732dcb0ce2 in do_run_one (ec=..., private_op_queue=..., this_thread=..., lock=..., this=<optimised out>) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:353
completed_ops = {<boost::noncopyable_::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}
on_exit = {task_io_service_ = 0x1c03600, lock_ = 0x7f732149ad70, ops_ = 0x7f732149ad40}
o = <optimised out>
more_handlers = <optimised out>
#4 boost::asio::detail::task_io_service::run (this=0x1c03600, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146
this_thread = {wakeup_event = 0x7f732149adb0, private_op_queue = 0x0, next = 0x0}
wakeup_event = {<boost::noncopyable_::noncopyable> = {<No data fields>}, cond_ = {__data = {__lock = 0, __futex = 266, __total_seq = 133, __wakeup_seq = 133, __woken_seq = 133, __mutex = 0x1c03630, __nwaiters = 0, __broadcast_seq = 0}, __size = "\000\000\000\000\n\001\000\000\205\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\205\000\000\000\000\000\000\000\060\066\300\001", '\000' <repeats 11 times>, __align = 1142461300736}, signalled_ = true}
ctx = {<boost::noncopyable_::noncopyable> = {<No data fields>}, key_ = 0x1c03600, value_ = 0x7f732149ace0, next_ = 0x0}
private_op_queue = {<boost::noncopyable_::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}
lock = {<boost::noncopyable_::noncopyable> = {<No data fields>}, mutex_ = @0x1c03630, locked_ = false}
n = <optimised out>
#5 0x00007f732dcb1375 in boost::asio::io_service::run (this=0x1b34220) at /usr/include/boost/asio/impl/io_service.ipp:59
ec = {m_val = 0, m_cat = 0x7f732cca90d8}
s = <optimised out>
#6 0x00007f732d5619f0 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimised out>) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:74
__t = <optimised out>
#7 0x00007f732da19f8e in start_thread (arg=0x7f732149b700) at pthread_create.c:311
__res = <optimised out>
pd = 0x7f732149b700
now = <optimised out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140132456445696, 5423417445248852111, 0, 140132670877792, 140132663572288, 4096, -5357704667397169009, -5357733049048440689}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
pagesize_m1 = <optimised out>
sp = <optimised out>
freesize = <optimised out>
__PRETTY_FUNCTION__ = "start_thread"
#8 0x00007f732cfcae1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.
Thread 3 (Thread 0x7f7320c9a700 (LWP 10236)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1 0x00007f732dcb0e9b in wait<boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex> > (lock=..., this=0x7f7320c99db0) at /usr/include/boost/asio/detail/posix_event.hpp:80
No locals.
#2 do_run_one (ec=..., private_op_queue=..., this_thread=..., lock=..., this=<optimised out>) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:380
No locals.
#3 boost::asio::detail::task_io_service::run (this=0x1c03600, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146
this_thread = {wakeup_event = 0x7f7320c99db0, private_op_queue = 0x0, next = 0x7f732249cce0}
wakeup_event = {<boost::noncopyable_::noncopyable> = {<No data fields>}, cond_ = {__data = {__lock = 0, __futex = 11, __total_seq = 6, __wakeup_seq = 5, __woken_seq = 5, __mutex = 0x1c03630, __nwaiters = 2, __broadcast_seq = 0}, __size = "\000\000\000\000\v\000\000\000\006\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\005\000\000\000\000\000\000\000\060\066\300\001\000\000\000\000\002\000\000\000\000\000\000", __align = 47244640256}, signalled_ = false}
ctx = {<boost::noncopyable_::noncopyable> = {<No data fields>}, key_ = 0x1c03600, value_ = 0x7f7320c99ce0, next_ = 0x0}
private_op_queue = {<boost::noncopyable_::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}
lock = {<boost::noncopyable_::noncopyable> = {<No data fields>}, mutex_ = @0x1c03630, locked_ = true}
n = <optimised out>
#4 0x00007f732dcb1375 in boost::asio::io_service::run (this=0x1b34220) at /usr/include/boost/asio/impl/io_service.ipp:59
ec = {m_val = 0, m_cat = 0x7f732cca90d8}
s = <optimised out>
#5 0x00007f732d5619f0 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimised out>) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:74
__t = <optimised out>
#6 0x00007f732da19f8e in start_thread (arg=0x7f7320c9a700) at pthread_create.c:311
__res = <optimised out>
pd = 0x7f7320c9a700
now = <optimised out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140132448052992, 5423417445248852111, 0, 140132670877792, 140132663572288, 4096, -5357707966468923249, -5357733049048440689}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
pagesize_m1 = <optimised out>
sp = <optimised out>
freesize = <optimised out>
__PRETTY_FUNCTION__ = "start_thread"
#7 0x00007f732cfcae1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.
Thread 2 (Thread 0x7f7320499700 (LWP 10237)):
#0 pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
No locals.
#1 0x00007f732dcb0e9b in wait<boost::asio::detail::scoped_lock<boost::asio::detail::posix_mutex> > (lock=..., this=0x7f7320498db0) at /usr/include/boost/asio/detail/posix_event.hpp:80
No locals.
#2 do_run_one (ec=..., private_op_queue=..., this_thread=..., lock=..., this=<optimised out>) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:380
No locals.
#3 boost::asio::detail::task_io_service::run (this=0x1c03600, ec=...) at /usr/include/boost/asio/detail/impl/task_io_service.ipp:146
this_thread = {wakeup_event = 0x7f7320498db0, private_op_queue = 0x0, next = 0x7f7320c99ce0}
wakeup_event = {<boost::noncopyable_::noncopyable> = {<No data fields>}, cond_ = {__data = {__lock = 0, __futex = 309, __total_seq = 155, __wakeup_seq = 154, __woken_seq = 154, __mutex = 0x1c03630, __nwaiters = 2, __broadcast_seq = 0}, __size = "\000\000\000\000\065\001\000\000\233\000\000\000\000\000\000\000\232\000\000\000\000\000\000\000\232\000\000\000\000\000\000\000\060\066\300\001\000\000\000\000\002\000\000\000\000\000\000", __align = 1327144894464}, signalled_ = false}
ctx = {<boost::noncopyable_::noncopyable> = {<No data fields>}, key_ = 0x1c03600, value_ = 0x7f7320498ce0, next_ = 0x0}
private_op_queue = {<boost::noncopyable_::noncopyable> = {<No data fields>}, front_ = 0x0, back_ = 0x0}
lock = {<boost::noncopyable_::noncopyable> = {<No data fields>}, mutex_ = @0x1c03630, locked_ = true}
n = <optimised out>
#4 0x00007f732dcb1375 in boost::asio::io_service::run (this=0x1b34220) at /usr/include/boost/asio/impl/io_service.ipp:59
ec = {m_val = 0, m_cat = 0x7f732cca90d8}
s = <optimised out>
#5 0x00007f732d5619f0 in std::(anonymous namespace)::execute_native_thread_routine (__p=<optimised out>) at ../../../../../src/libstdc++-v3/src/c++11/thread.cc:74
__t = <optimised out>
#6 0x00007f732da19f8e in start_thread (arg=0x7f7320499700) at pthread_create.c:311
__res = <optimised out>
pd = 0x7f7320499700
now = <optimised out>
unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140132439660288, 5423417445248852111, 0, 140132670877792, 140132663572288, 4096, -5357706867494166385, -5357733049048440689}, mask_was_saved = 0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0, cleanup = 0x0, canceltype = 0}}}
not_first_call = 0
pagesize_m1 = <optimised out>
sp = <optimised out>
freesize = <optimised out>
__PRETTY_FUNCTION__ = "start_thread"
#7 0x00007f732cfcae1d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
No locals.
Thread 1 (Thread 0x7f732e0eb780 (LWP 10226)):
#0 std::_Hashtable<unsigned int, std::pair<unsigned int const, mir::graphics::gbm::PageFlipEventData>, std::allocator<std::pair<unsigned int const, mir::graphics::gbm::PageFlipEventData> >, std::_Select1st<std::pair<unsigned int const, mir::graphics::gbm::PageFlipEventData> >, std::equal_to<unsigned int>, std::hash<unsigned int>, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Prime_rehash_policy, false, false, true>::erase (this=0x1c043f0, __k=@0x1bf9bd0: 4294967295) at /usr/include/c++/4.6/bits/hashtable.h:1097
__slot = 0x5c9ad29
__saved_slot = <optimised out>
__code = 4294967295
__n = 12137887
__result = 0
#1 0x00007f732c8a2873 in drmHandleEvent (fd=3, evctx=0x7f732def7ad0 <mir::graphics::gbm::KMSPageFlipper::wait_for_flip(unsigned int)::evctx>) at ../xf86drmMode.c:811
buffer = "\002\000\000\000 \000\000\000\277\001\000\000\000\000\065\066\000\000\335\332\a\000\362\025\n", '\000' <repeats 13 times>, "\037\000\000\000\000\000\000\000\240\376\233\003\377\177\000\000\020\003\261\001", '\000' <repeats 12 times>"\240, \376\233\003\377\177\000\000\240\376\233\003\377\177\000\000X\377\233\003\377\177\000\000X\377\233\003\377\177\000\000\372(s\177\000\000p\033\252\001\000\000\000\000\366+\234(s\177\000\000p\002\261\001", '\000' <repeats 12 times>, "p\033\252\001", '\000' <repeats 12 times>, " \370\260\001", '\000' <repeats 12 times>, "p\033\252\001\000\000\000\000\271=\235(s\177\000\000 R\301\001\000\000\000\000\001", '\000' <repeats 11 times>"\200, \a\000\000\001\000\000\000\000\000\000\000\001\000\000\000\001\000\000\000\270'\252\001\000\000\000\000 \000\000\000\000\000\000\000\060\002\276\001\000\000\000\000\310"...
len = <optimised out>
i = <optimised out>
e = 0x7fff039bfc60
vblank = 0x7fff039bfc60
#2 0x00007f732dcca107 in mir::graphics::gbm::KMSPageFlipper::wait_for_flip (this=0x1a28230, crtc_id=10) at /build/buildd/mir-0.0.2/src/graphics/gbm/kms_page_flipper.cpp:155
lock = {_M_device = 0x1a28298, _M_owns = true}
tv = {tv_sec = 0, tv_usec = 99996}
fds = {fds_bits = {8, 0 <repeats 15 times>}}
ret = <optimised out>
evctx = {version = 2, vblank_handler = 0x0, page_flip_handler = 0x7f732dcc9ff0 <(anonymous namespace)::page_flip_handler(int, unsigned int, unsigned int, unsigned int, void*)>}
invalid_tid = {_M_thread = 0}
done = <optimised out>
#3 0x00007f732dcc80e9 in mir::graphics::gbm::KMSOutput::wait_for_page_flip (this=<optimised out>) at /build/buildd/mir-0.0.2/src/graphics/gbm/kms_output.cpp:168
__PRETTY_FUNCTION__ = "void mir::graphics::gbm::KMSOutput::wait_for_page_flip()"
#4 0x00007f732dcc61b4 in mir::graphics::gbm::GBMDisplayBuffer::schedule_and_wait_for_page_flip (this=0x1aa0770, bufobj=0x1b3b3d0) at /build/buildd/mir-0.0.2/src/graphics/gbm/gbm_display_buffer.cpp:263
__for_range = std::vector of length 1, capacity 1 = {std::shared_ptr (count 2, weak 0) 0x1aa0390}
page_flips_pending = <optimised out>
#5 0x00007f732dcc622b in post_update (this=0x1aa0770) at /build/buildd/mir-0.0.2/src/graphics/gbm/gbm_display_buffer.cpp:191
bufobj = 0x1b3b3d0
#6 mir::graphics::gbm::GBMDisplayBuffer::post_update (this=0x1aa0770) at /build/buildd/mir-0.0.2/src/graphics/gbm/gbm_display_buffer.cpp:171
No locals.
#7 0x00007f732dc9b795 in operator() (buffer=..., this=0x1b313b0) at /build/buildd/mir-0.0.2/src/compositor/compositor.cpp:74
applicator = {<mir::compositor::OperatorForRenderables> = {_vptr.OperatorForRenderables = 0x7f732def2d90 <vtable for mir::compositor::RenderingOperator+16>}, renderer = @0x1b31030, resources = std::vector of length 1, capacity 1 = {std::shared_ptr (count 1, weak 0) 0x1b73510}}
selector = {<mir::compositor::FilterForRenderables> = {_vptr.FilterForRenderables = 0x7f732def0270 <vtable for (anonymous namespace)::FilterForVisibleRenderablesInRegion+16>}, enclosing_region = @0x7fff039c0280}
#8 std::_Function_handler<void(mir::graphics::DisplayBuffer&), mir::compositor::Compositor::render(mir::graphics::Display*)::<lambda(mir::graphics::DisplayBuffer&)> >::_M_invoke(const std::_Any_data &, mir::graphics::DisplayBuffer &) (__functor=..., __args#0=...) at /usr/include/c++/4.6/functional:1778
No locals.
#9 0x00007f732dcc180c in operator() (__args#0=..., this=0x7fff039c0300) at /usr/include/c++/4.6/functional:2161
No locals.
#10 mir::graphics::gbm::GBMDisplay::for_each_display_buffer(std::function<void (mir::graphics::DisplayBuffer&)> const&) (this=<optimised out>, f=...) at /build/buildd/mir-0.0.2/src/graphics/gbm/gbm_display.cpp:63
db_ptr = std::tuple containing = {[1] = , [2] = {<std::default_delete<mir::graphics::DisplayBuffer>> = {<No data fields>}, <No data fields>}}
__for_range = <optimised out>
#11 0x00007f732dc9b562 in mir::compositor::Compositor::render (this=0x1bf22c0, display=0x1a23110) at /build/buildd/mir-0.0.2/src/compositor/compositor.cpp:75
No locals.
#12 0x00007f732dc8cf2d in mir::DisplayServer::start (this=0x7fff039c0510) at /build/buildd/mir-0.0.2/src/display_server.cpp:103
lk = {_M_device = 0x1a16ae0, _M_owns = false}
#13 0x0000000000406964 in run_mir (socket_file="/tmp/mir_socket") at /build/buildd/mir-0.0.2/src/main.cpp:63
config = {<mir::ServerConfiguration> = {_vptr.ServerConfiguration = 0x7f732def0870 <vtable for mir::DefaultServerConfiguration+16>}, socket_file = "/tmp/mir_socket", options = std::shared_ptr (count 1, weak 0) 0x1c034e0, graphics_platform = std::shared_ptr (count 9, weak 1) 0x1a1d1e0, application_listener = std::shared_ptr (empty) 0x0}
server = {p = std::tuple containing = {[1] = , [2] = {<std::default_delete<mir::DisplayServer::Private>> = {<No data fields>}, <No data fields>}}}
#14 main (argc=3, argv=0x7fff039c0618) at /build/buildd/mir-0.0.2/src/main.cpp:96
options = {<mir::options::Option> = {_vptr.Option = 0x7f732def2090 <vtable for mir::options::ProgramOption+16>}, options = <incomplete type>}
desc = {static m_default_line_length = 80, m_caption = "Options", m_line_length = 80, m_min_description_length = 40, m_options = std::vector of length 2, capacity 2 = {{px = 0x1a1e410, pn = {pi_ = 0x1a1a0a0}}, {px = 0x1a18d70, pn = {pi_ = 0x1a191e0}}}, belong_to_group = std::vector<bool> of length 2, capacity 64 = {0, 0}, groups = std::vector of length 0, capacity 0}
Re: wait_for_page_flip ... That's not waiting for the client to page flip is it?
Compiz will only page flip when something on the screen changes. So unless there is something animating on the screen immediately after login, it will go to sleep and will stop page flipping. The server should not make any assumptions about the time between page flips.
See also bug 1108725