core when running nested Mir
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Mir |
Expired
|
Undecided
|
Unassigned |
Bug Description
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_
After some time (around half an hour) I get the following core and stack trace:
Core was generated by `bin/mir_
Program terminated with signal SIGABRT, Aborted.
#0 0x00007fa8d5e54267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/
55 ../sysdeps/
(gdb) bt
#0 0x00007fa8d5e54267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/
#1 0x00007fa8d5e55eca in __GI_abort () at abort.c:89
#2 0x00007fa8d5e97c53 in __libc_message (do_abort=
at ../sysdeps/
#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/
#7 0x00007fa8cde5e3ce in ?? () from /usr/lib/
#8 0x00007fa8cde420d1 in ?? () from /usr/lib/
#9 0x00007fa8cdfc1047 in ?? () from /usr/lib/
#10 0x00007fa8cdf5a4ab in ?? () from /usr/lib/
#11 0x00007fa8ce01c463 in ?? () from /usr/lib/
#12 0x00007fa8d3bd7ef6 in dri2_swap_buffers (drv=<optimised out>, disp=<optimised out>, draw=0x1a25ef0)
at ../../.
#13 0x00007fa8d3bc95e5 in eglSwapBuffers (dpy=0x195e900, surface=<optimised out>) at ../../.
#14 0x00007fa8d5423e39 in mir::graphics:
at /home/alan/
#15 0x00007fa8d543791b in mir::renderer:
at /home/alan/
#16 0x00007fa8d543860b in mir::renderer:
at /home/alan/
#17 0x00007fa8d530d546 in mir::compositor
scene_
at /home/alan/
#18 0x00007fa8d53197e4 in mir::compositor
at /home/alan/
#19 0x00007fa8d531c74e in std::_Function_
(__functor=...) at /usr/include/
#20 0x00007fa8d51f8f28 in std::function<void ()>::operator()() const (this=0x7fa8c6f
#21 0x00007fa8d542e621 in (anonymous namespace)
at /home/alan/
#22 0x00007fa8d542e957 in (anonymous namespace)
at /home/alan/
#23 0x00007fa8d54322cb in std::__
#24 0x00007fa8d54322a0 in std::reference_
at /usr/include/
#25 0x00007fa8d543223a in std::_Bind_
at /usr/include/
#26 0x00007fa8d543216c in std::_Bind_
at /usr/include/
#27 0x00007fa8d54320da in std::thread:
at /usr/include/
#28 0x00007fa8d66d7e30 in ?? () from /usr/lib/
#29 0x00007fa8d61f06aa in start_thread (arg=0x7fa8c6ff
#30 0x00007fa8d5f25eed in clone () at ../sysdeps/
On further investigation, I get the same error without doing any plugging of the external monitor. Just leaving the system running for a while (didn't time it - about half an hour).