UI freezes when simultaneously moving mouse & plug/unplug HDMI
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical Pocket Desktop |
Fix Committed
|
Critical
|
kevin gunn | ||
Canonical System Image |
Fix Released
|
Critical
|
Unassigned | ||
Mir |
Fix Released
|
Critical
|
Andreas Pokorny | ||
0.19 |
Fix Released
|
Critical
|
Andreas Pokorny | ||
mir (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
confirmed to happen in latest image with usc0.3 and previous images with usc0.2
steps
1) flash ubuntu-
2) connect bt mouse and see unity8 go into windowed mode
3) move mouse about screen while at the same time connect slimport hdmi cable
ui will then freeze but seems content, let it sit for 30 min no reboot or restart, no crash files, power button does not do anything.
It's also possible to have the slimport already connected - move mouse around disconnect, the ui will freeze altho in this case unity8 always seems to restart.
There are no usc crash files.
The problem is a dead lock on the Display/
Thread 6 (Thread 0xb0dff3d0 (LWP 1530)):
#0 0xb6cd5d44 in __libc_do_syscall () from /lib/arm-
No symbol table info available.
#1 0xb6cd395c in __lll_lock_wait () from /lib/arm-
No symbol table info available.
#2 0xb6ccf19e in pthread_mutex_lock () from /lib/arm-
No symbol table info available.
#3 0xb6426f02 in __gthread_
at /usr/include/
No locals.
#4 lock (this=0x1b34f14) at /usr/include/
No locals.
#5 lock_guard (__m=..., this=0xb0dfeaf0) at /usr/include/
No locals.
#6 mir::graphics:
at /build/
lock = {_M_device = @0x1b34f14}
#7 0xb6e656ca in mir::shell:
rect=...)
at /build/
config = std::unique_
placed = false
#8 0xb6e6a888 in mir::shell:
at /build/
rect = {top_left = {x = {value = 0}, y = {value = 0}}, size = {width = {value = 768}, height = {
value = 1280}}}
surface = std::shared_ptr (count 3, weak 4) 0x0
__for_range = <optimized out>
lock = {_M_device = @0x1d07b3c}
#9 0xb6e1ab32 in operator() (buffer=..., __closure=
at /build/
No locals.
#10 std::_Function_
at /usr/include/
No locals.
#11 0xb64288a8 in operator() (__args#0=..., this=0xb0dfeca0) at /usr/include/
No locals.
#12 mir::graphics:
at /build/
__for_range = std::map with 1 elements = {
lk = {_M_device = 0x1b35028, _M_owns = true}
#13 0xb6e1b896 in operator() (__closure=
at /build/
No locals.
#14 PairedCalls (deleter=<optimized out>, creator=<optimized out>, this=0xb0dfec84)
at /build/
No locals.
#15 paired_
at /build/
No locals.
#16 mir::compositor
at /build/
compositors = std::vector of length 1, capacity 1 = {std::tuple containing = {[1] = 0x1c0db40,
[2] = std::unique_
lock = {_M_device = 0xb0402c44, _M_owns = true}
#17 0xb6e8aa58 in operator() (this=0xb0dfed84) at /usr/include/
No locals.
#18 execute (this=0xb0dfed84)
at /build/
No locals.
#19 operator() (this=0x1d1ce88)
at /build/
task = {
task = {<std::
lock = {_M_device = 0x1d1ceb4, _M_owns = false}
#20 __invoke<(anonymous namespace)::Worker> (__f=...) at /usr/include/
No locals.
#21 operator()<> (this=<optimized out>) at /usr/include/
No locals.
#22 _M_invoke<> (this=<optimized out>) at /usr/include/
No locals.
#23 operator() (this=<optimized out>) at /usr/include/
No locals.
#24 std::thread:
No locals.
#25 0xb6c332a0 in ?? () from /usr/lib/
No symbol table info available.
#26 0xb6ccd490 in start_thread () from /lib/arm-
No symbol table info available.
#27 0xb6b27c4c in ?? () from /lib/arm-
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
#0 0xb6cd5d44 in __libc_do_syscall () from /lib/arm-
No symbol table info available.
#1 0xb6cd395c in __lll_lock_wait () from /lib/arm-
No symbol table info available.
#2 0xb6ccf19e in pthread_mutex_lock () from /lib/arm-
No symbol table info available.
#3 0xb642887e in __gthread_
at /usr/include/
No locals.
#4 lock (this=0x1b35028) at /usr/include/
No locals.
#5 lock (this=0xafbfe9a4) at /usr/include/
No locals.
#6 unique_lock (__m=..., this=0xafbfe9a4) at /usr/include/
No locals.
#7 mir::graphics:
at /build/
lk = {_M_device = 0x1b35028, _M_owns = false}
#8 0xb6de02c0 in operator() (group=..., __closure=
at /build/
No locals.
#9 std::_Function_
at /usr/include/
No locals.
#10 0xb64258ee in operator() (__args#0=..., this=0xafbfea10) at /usr/include/
No locals.
#11 mir::graphics:
at /build/
lock = {_M_device = @0x1b34f14}
#12 0xb6de04ae in mir::input:
at /build/
rectangles = {rectangles = std::vector of length 0, capacity 0, bounding_rectangle_ = {
#13 0xb6de37e0 in mir::input:
event=
at /build/
movement = <optimized out>
#14 0xb6de3d0c in mir::input:
event=
at /build/
pointer = 0xaf217308
id = 5
stored_data = {<std::
#15 0xb6ddb2c0 in mir::input:
event=...)
at /build/
type = <optimized out>
input_event = 0xaf217308
#16 0xb1fe3c90 in mir::input:
event=
at /build/
No locals.
#17 0xb1fe6fbe in mir::input:
at /build/
ev = std::unique_
dev = <optimized out>
status = <optimized out>
next_event = {lilib = 0x1d0bad8}
#18 0xb6d5c714 in operator() (this=<optimized out>) at /usr/include/
No locals.
#19 mir::dispatch:
at /build/
events = <optimized out>
this = <optimized out>
#20 0xb6d5a6cc in mir::dispatch:
events=
at /build/
source = std::shared_ptr (count 3, weak 0) 0x1d0b35c
event = {events = 1, data = {ptr = 0xaf2004d8, fd = -1356856104, u32 = 2938111192,
u64 = 2938111192}}
#21 0xb6d5a6cc in mir::dispatch:
events=
at /build/
source = std::shared_ptr (count 3, weak 0) 0x1d0b09c
event = {events = 1, data = {ptr = 0xaf20c0a8, fd = -1356808024, u32 = 2938159272,
u64 = 2938159272}}
#22 0xb6d5a6cc in mir::dispatch:
events=
at /build/
source = std::shared_ptr (count 10, weak 1) 0x1d08914
event = {events = 1, data = {ptr = 0x1d0fd90, fd = 30473616, u32 = 30473616, u64 = 30473616}}
#23 0xb6d5ce5a in (anonymous namespace)
dispatcher=
at /build/
waiter = {fd = 61, events = 1, revents = 1}
running = true
#24 0xb6d5ddf2 in _M_invoke<0u, 1u, 2u, 3u> (this=<optimized out>)
at /usr/include/
No locals.
#25 operator() (this=<optimized out>) at /usr/include/
No locals.
#26 std::thread:
(this=
No locals.
#27 0xb6c332a0 in ?? () from /usr/lib/
No symbol table info available.
#28 0xb6ccd490 in start_thread () from /lib/arm-
No symbol table info available.
#29 0xb6b27c4c in ?? () from /lib/arm-
No symbol table info available.
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
Related branches
- Kevin DuBois (community): Approve
- Alan Griffiths: Approve
- PS Jenkins bot (community): Approve (continuous-integration)
- Mir CI Bot: Approve (continuous-integration)
- Alberto Aguirre (community): Needs Fixing
-
Diff: 462 lines (+96/-57)12 files modifiedsrc/include/server/mir/input/input_region.h (+2/-0)
src/server/input/default_configuration.cpp (+1/-1)
src/server/input/display_input_region.cpp (+4/-27)
src/server/input/display_input_region.h (+8/-8)
src/server/scene/default_configuration.cpp (+2/-1)
src/server/scene/mediating_display_changer.cpp (+20/-2)
src/server/scene/mediating_display_changer.h (+9/-1)
tests/include/mir/test/doubles/mock_input_region.h (+1/-0)
tests/integration-tests/input/test_single_seat_setup.cpp (+1/-0)
tests/unit-tests/input/test_default_input_device_hub.cpp (+1/-0)
tests/unit-tests/input/test_display_input_region.cpp (+8/-14)
tests/unit-tests/scene/test_mediating_display_changer.cpp (+39/-3)
Changed in canonical-pocket-desktop: | |
importance: | Undecided → Critical |
Changed in unity-system-compositor: | |
importance: | Undecided → Critical |
Changed in unity-system-compositor (Ubuntu): | |
importance: | Undecided → Critical |
Changed in mir: | |
importance: | Undecided → Critical |
assignee: | nobody → Andreas Pokorny (andreas-pokorny) |
status: | New → In Progress |
description: | updated |
Changed in mir: | |
milestone: | none → 0.20.0 |
Changed in canonical-pocket-desktop: | |
status: | New → In Progress |
no longer affects: | unity-system-compositor |
no longer affects: | unity-system-compositor (Ubuntu) |
Changed in mir (Ubuntu): | |
status: | New → In Progress |
Changed in canonical-pocket-desktop: | |
assignee: | nobody → kevin gunn (kgunn72) |
Changed in mir: | |
milestone: | 0.20.0 → 0.19.2 |
Changed in canonical-pocket-desktop: | |
status: | In Progress → Fix Committed |
summary: |
- ui freezes when simultaneously moving mouse & plug/unplug hdmi + UI freezes when simultaneously moving mouse & plug/unplug HDMI |
no longer affects: | mir/0.20 |
Changed in canonical-devices-system-image: | |
importance: | Undecided → Critical |
milestone: | none → 9.1 |
status: | New → Fix Committed |
Changed in mir: | |
status: | Fix Committed → Fix Released |
Changed in canonical-devices-system-image: | |
status: | Fix Committed → Fix Released |
Fix committed into lp:mir at revision None, scheduled for release in mir, milestone 0.20.0