Mir

Activity log for bug #1507518

Date Who What changed Old value New value Message
2015-10-19 09:56:34 Alan Griffiths bug added bug
2015-10-19 10:52:43 Alan Griffiths summary core when replugging external monitor core when running nested Mir
2015-10-19 13:14:57 Alan Griffiths description During testing of display configuration errors while replugging an external monitor (on a laptop) I crashed the nested Mir server... /1/ The system compositor: $ DISPLAY= sudo bin/mir_demo_server --window-manager system-compositor --arw-file --vt 1 --display-config sidebyside /2/ The nested compositor: $ DISPLAY= bin/mir_demo_server --host /tmp/mir_socket --display-config sidebyside /3/ A client: $ bin/mir_demo_client_egltriangle After unplugging and replugging a monitor a few times (but not obviously related to a plug event as some time passed before the crash) I got the following core and stack trace: Core was generated by `bin/mir_demo_server.bin --host /tmp/mir_socket --display-config sidebyside'. Program terminated with signal SIGABRT, Aborted. #0 0x00007fa8d5e54267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55 55 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 0x00007fa8d5e54267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55 #1 0x00007fa8d5e55eca in __GI_abort () at abort.c:89 #2 0x00007fa8d5e97c53 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7fa8d5fb01a8 "*** Error in `%s': %s: 0x%s ***\n") at ../sysdeps/posix/libc_fatal.c:175 #3 0x00007fa8d5e9fc69 in malloc_printerr (ptr=<optimised out>, str=0x7fa8d5fac2fa "free(): invalid pointer", action=1) at malloc.c:4965 #4 _int_free (av=<optimised out>, p=<optimised out>, have_lock=0) at malloc.c:3834 #5 0x00007fa8d5ea389c in __GI___libc_free (mem=<optimised out>) at malloc.c:2950 #6 0x00007fa8cde5e319 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #7 0x00007fa8cde5e3ce in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #8 0x00007fa8cde420d1 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #9 0x00007fa8cdfc1047 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #10 0x00007fa8cdf5a4ab in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #11 0x00007fa8ce01c463 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #12 0x00007fa8d3bd7ef6 in dri2_swap_buffers (drv=<optimised out>, disp=<optimised out>, draw=0x1a25ef0) at ../../../../../../src/egl/drivers/dri2/platform_mir.c:460 #13 0x00007fa8d3bc95e5 in eglSwapBuffers (dpy=0x195e900, surface=<optimised out>) at ../../../../../src/egl/main/eglapi.c:830 #14 0x00007fa8d5423e39 in mir::graphics::nested::detail::DisplayBuffer::swap_buffers (this=0x1970e00) at /home/alan/display_server/mir/src/server/graphics/nested/display_buffer.cpp:73 #15 0x00007fa8d543791b in mir::renderer::gl::CurrentRenderTarget::swap_buffers (this=0x7fa8ac015e58) at /home/alan/display_server/mir/src/renderers/gl/renderer.cpp:68 #16 0x00007fa8d543860b in mir::renderer::gl::Renderer::render (this=0x7fa8ac015e50, renderables=std::vector of length 0, capacity 0) at /home/alan/display_server/mir/src/renderers/gl/renderer.cpp:206 #17 0x00007fa8d530d546 in mir::compositor::DefaultDisplayBufferCompositor::composite(std::vector<std::shared_ptr<mir::compositor::SceneElement>, std::allocator<std::shared_ptr<mir::compositor::SceneElement> > >&&) (this=0x7fa8ac079c00, scene_elements=<unknown type in /home/alan/.clion11/system/cmake/generated/9ec817d/9ec817d/Debug/lib/libmirserver.so.35, CU 0x680c97, DIE 0x68d3c1>) at /home/alan/display_server/mir/src/server/compositor/default_display_buffer_compositor.cpp:83 #18 0x00007fa8d53197e4 in mir::compositor::CompositingFunctor::operator() (this=0x1adda70) at /home/alan/display_server/mir/src/server/compositor/multi_threaded_compositor.cpp:143 #19 0x00007fa8d531c74e in std::_Function_handler<void (), std::reference_wrapper<mir::compositor::CompositingFunctor> >::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/include/c++/4.9/functional:2069 #20 0x00007fa8d51f8f28 in std::function<void ()>::operator()() const (this=0x7fa8c6ffcdd0) at /usr/include/c++/4.9/functional:2439 #21 0x00007fa8d542e621 in (anonymous namespace)::Task::execute (this=0x7fa8c6ffcdd0) at /home/alan/display_server/mir/src/server/thread/basic_thread_pool.cpp:40 #22 0x00007fa8d542e957 in (anonymous namespace)::Worker::operator() (this=0x1a54640) at /home/alan/display_server/mir/src/server/thread/basic_thread_pool.cpp:91 #23 0x00007fa8d54322cb in std::__invoke<(anonymous namespace)::Worker> (__f=...) at /usr/include/c++/4.9/functional:202 #24 0x00007fa8d54322a0 in std::reference_wrapper<(anonymous namespace)::Worker>::operator()<>(void) const (this=0x1266138) at /usr/include/c++/4.9/functional:435 #25 0x00007fa8d543223a in std::_Bind_simple<std::reference_wrapper<(anonymous namespace)::Worker>()>::_M_invoke<>(std::_Index_tuple<>) (this=0x1266138) at /usr/include/c++/4.9/functional:1700 #26 0x00007fa8d543216c in std::_Bind_simple<std::reference_wrapper<(anonymous namespace)::Worker>()>::operator()(void) (this=0x1266138) at /usr/include/c++/4.9/functional:1688 #27 0x00007fa8d54320da in std::thread::_Impl<std::_Bind_simple<std::reference_wrapper<(anonymous namespace)::Worker>()> >::_M_run(void) (this=0x1266120) at /usr/include/c++/4.9/thread:115 #28 0x00007fa8d66d7e30 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #29 0x00007fa8d61f06aa in start_thread (arg=0x7fa8c6ffd700) at pthread_create.c:333 #30 0x00007fa8d5f25eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109 During testing of display configuration errors while replugging an external monitor (on a laptop) I crashed the nested Mir server... It doesn't seem to be related to the plugging, just to having an external monitor attached. /1/ The system compositor:     $ DISPLAY= sudo bin/mir_demo_server --window-manager system-compositor --arw-file --vt 1 --display-config sidebyside /2/ The nested compositor:     $ DISPLAY= bin/mir_demo_server --host /tmp/mir_socket --display-config sidebyside /3/ A client:     $ bin/mir_demo_client_egltriangle After some time (around half an hour) I get the following core and stack trace: Core was generated by `bin/mir_demo_server.bin --host /tmp/mir_socket --display-config sidebyside'. Program terminated with signal SIGABRT, Aborted. #0 0x00007fa8d5e54267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55 55 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) bt #0 0x00007fa8d5e54267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:55 #1 0x00007fa8d5e55eca in __GI_abort () at abort.c:89 #2 0x00007fa8d5e97c53 in __libc_message (do_abort=do_abort@entry=1, fmt=fmt@entry=0x7fa8d5fb01a8 "*** Error in `%s': %s: 0x%s ***\n")     at ../sysdeps/posix/libc_fatal.c:175 #3 0x00007fa8d5e9fc69 in malloc_printerr (ptr=<optimised out>, str=0x7fa8d5fac2fa "free(): invalid pointer", action=1) at malloc.c:4965 #4 _int_free (av=<optimised out>, p=<optimised out>, have_lock=0) at malloc.c:3834 #5 0x00007fa8d5ea389c in __GI___libc_free (mem=<optimised out>) at malloc.c:2950 #6 0x00007fa8cde5e319 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #7 0x00007fa8cde5e3ce in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #8 0x00007fa8cde420d1 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #9 0x00007fa8cdfc1047 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #10 0x00007fa8cdf5a4ab in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #11 0x00007fa8ce01c463 in ?? () from /usr/lib/x86_64-linux-gnu/dri/i965_dri.so #12 0x00007fa8d3bd7ef6 in dri2_swap_buffers (drv=<optimised out>, disp=<optimised out>, draw=0x1a25ef0)     at ../../../../../../src/egl/drivers/dri2/platform_mir.c:460 #13 0x00007fa8d3bc95e5 in eglSwapBuffers (dpy=0x195e900, surface=<optimised out>) at ../../../../../src/egl/main/eglapi.c:830 #14 0x00007fa8d5423e39 in mir::graphics::nested::detail::DisplayBuffer::swap_buffers (this=0x1970e00)     at /home/alan/display_server/mir/src/server/graphics/nested/display_buffer.cpp:73 #15 0x00007fa8d543791b in mir::renderer::gl::CurrentRenderTarget::swap_buffers (this=0x7fa8ac015e58)     at /home/alan/display_server/mir/src/renderers/gl/renderer.cpp:68 #16 0x00007fa8d543860b in mir::renderer::gl::Renderer::render (this=0x7fa8ac015e50, renderables=std::vector of length 0, capacity 0)     at /home/alan/display_server/mir/src/renderers/gl/renderer.cpp:206 #17 0x00007fa8d530d546 in mir::compositor::DefaultDisplayBufferCompositor::composite(std::vector<std::shared_ptr<mir::compositor::SceneElement>, std::allocator<std::shared_ptr<mir::compositor::SceneElement> > >&&) (this=0x7fa8ac079c00,     scene_elements=<unknown type in /home/alan/.clion11/system/cmake/generated/9ec817d/9ec817d/Debug/lib/libmirserver.so.35, CU 0x680c97, DIE 0x68d3c1>)     at /home/alan/display_server/mir/src/server/compositor/default_display_buffer_compositor.cpp:83 #18 0x00007fa8d53197e4 in mir::compositor::CompositingFunctor::operator() (this=0x1adda70)     at /home/alan/display_server/mir/src/server/compositor/multi_threaded_compositor.cpp:143 #19 0x00007fa8d531c74e in std::_Function_handler<void (), std::reference_wrapper<mir::compositor::CompositingFunctor> >::_M_invoke(std::_Any_data const&)     (__functor=...) at /usr/include/c++/4.9/functional:2069 #20 0x00007fa8d51f8f28 in std::function<void ()>::operator()() const (this=0x7fa8c6ffcdd0) at /usr/include/c++/4.9/functional:2439 #21 0x00007fa8d542e621 in (anonymous namespace)::Task::execute (this=0x7fa8c6ffcdd0)     at /home/alan/display_server/mir/src/server/thread/basic_thread_pool.cpp:40 #22 0x00007fa8d542e957 in (anonymous namespace)::Worker::operator() (this=0x1a54640)     at /home/alan/display_server/mir/src/server/thread/basic_thread_pool.cpp:91 #23 0x00007fa8d54322cb in std::__invoke<(anonymous namespace)::Worker> (__f=...) at /usr/include/c++/4.9/functional:202 #24 0x00007fa8d54322a0 in std::reference_wrapper<(anonymous namespace)::Worker>::operator()<>(void) const (this=0x1266138)     at /usr/include/c++/4.9/functional:435 #25 0x00007fa8d543223a in std::_Bind_simple<std::reference_wrapper<(anonymous namespace)::Worker>()>::_M_invoke<>(std::_Index_tuple<>) (this=0x1266138)     at /usr/include/c++/4.9/functional:1700 #26 0x00007fa8d543216c in std::_Bind_simple<std::reference_wrapper<(anonymous namespace)::Worker>()>::operator()(void) (this=0x1266138)     at /usr/include/c++/4.9/functional:1688 #27 0x00007fa8d54320da in std::thread::_Impl<std::_Bind_simple<std::reference_wrapper<(anonymous namespace)::Worker>()> >::_M_run(void) (this=0x1266120)     at /usr/include/c++/4.9/thread:115 #28 0x00007fa8d66d7e30 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #29 0x00007fa8d61f06aa in start_thread (arg=0x7fa8c6ffd700) at pthread_create.c:333 #30 0x00007fa8d5f25eed in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:109
2015-10-19 19:37:00 Alan Griffiths mir: status New Confirmed
2015-12-17 10:08:05 Alan Griffiths mir: status Confirmed Incomplete
2016-02-16 04:17:23 Launchpad Janitor mir: status Incomplete Expired