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/
| Alan Griffiths (alan-griffiths) wrote : | #1 |
| summary: |
- core when replugging external monitor + core when running nested Mir |
| Alan Griffiths (alan-griffiths) wrote : | #2 |
Still not sure what triggers this, but it doesn't seem to happen without an external monitor attached.
| description: | updated |
| Alan Griffiths (alan-griffiths) wrote : | #3 |
This is intel laptop running vivid with Mir trunk.
| Alexandros Frantzis (afrantzis) wrote : | #4 |
With an intel GPU, Mir trunk, latest wily, moving the client window between screens causes the nested server to crash soon after (although not immediately). The backtrace I get is:
#0 0x00007ffff7089267 in __GI_raise (sig=sig@entry=6) at ../sysdeps/
#1 0x00007ffff708aeca in __GI_abort () at abort.c:89
#2 0x00007ffff70ccc53 in __libc_message (do_abort=
fmt=
at ../sysdeps/
#3 0x00007ffff70d4c69 in malloc_printerr (ptr=<optimized out>,
str=
#4 _int_free (av=<optimized out>, p=<optimized out>, have_lock=0) at malloc.c:3834
#5 0x00007ffff70d889c in __GI___libc_free (mem=<optimized out>) at malloc.c:2950
#6 0x00007fffeba360b9 in _mesa_delete_
at ../../.
#7 0x00007fffeba3617b in _mesa_reference
ptr=
#8 0x00007fffeba18b37 in _mesa_reference
at ../../.
#9 _mesa_reference
at ../../.
#10 _mesa_meta_end (ctx=ctx@
#11 0x00007fffeba19448 in meta_clear (ctx=ctx@
glsl=
#12 0x00007fffeba1991a in _mesa_meta_
at ../../.
#13 0x00007fffebb50e4b in brw_clear (ctx=0x7ffff7fc
at ../../.
#14 0x00007ffff687fe0f in mir::renderer:
renderables
at /storage/
#15 0x00007ffff67eca32 in mir::compositor
scene_
at /storage/
---Type <return> to continue, or q <return> to quit---
#16 0x00007ffff67f3f1c in mir::compositor
at /storage/
#17 0x00007ffff687c261 in std::function<void ()>::operator()() const (this=0x7fffe8b
at /usr/include/
#18 (anonymous namespace)
at /storage/
#19 (anonymous namespace)
| Alan Griffiths (alan-griffiths) wrote : | #5 |
Also reproduced with wily with Mir trunk.
| Changed in mir: | |
| status: | New → Confirmed |
| Daniel van Vugt (vanvugt) wrote : | #6 |
If it's occurring even without an external monitor, might be related to bug 1489689.
| Alan Griffiths (alan-griffiths) wrote : | #7 |
Can no longer reproduce on wily with Mir 0.18 or trunk. Possibly related to a specific mesa revision.
| Changed in mir: | |
| status: | Confirmed → Incomplete |
| Launchpad Janitor (janitor) wrote : | #8 |
[Expired for Mir because there has been no activity for 60 days.]
| Changed in mir: | |
| status: | Incomplete → Expired |

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).