Mir

Activity log for bug #1680378

Date Who What changed Old value New value Message
2017-04-06 09:09:00 Daniel van Vugt bug added bug
2017-04-06 09:09:06 Daniel van Vugt xorg-server (Ubuntu): importance Undecided High
2017-04-06 09:09:18 Daniel van Vugt bug task added mir
2017-04-06 09:12:33 Daniel van Vugt description Xmir freezes in mir_buffer_stream_get_graphics_region() from xmir_input_set_cursor() Seems to happen a lot when testing Firefox and Chrome when entering/leaving the address bar... (gdb) bt #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007fe9624f4c5c in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #2 0x00007fe96556c6b2 in ?? () from /usr/lib/x86_64-linux-gnu/libmirclient.so.9 #3 0x00007fe9655709ed in ?? () from /usr/lib/x86_64-linux-gnu/libmirclient.so.9 #4 0x00007fe965570517 in ?? () from /usr/lib/x86_64-linux-gnu/libmirclient.so.9 #5 0x00007fe965574f28 in mir_buffer_stream_get_graphics_region () from /usr/lib/x86_64-linux-gnu/libmirclient.so.9 #6 0x0000563e52d4290e in xmir_input_set_cursor (cursor=0x563e5432fce0, xmir_input=<optimised out>, xmir_input=<optimised out>) at xmir-cursor.c:108 #7 0x0000563e52d91eab in miPointerUpdateSprite (pDev=0x563e540e3a90) at mipointer.c:468 #8 0x0000563e52d920fa in miPointerDisplayCursor (pDev=0x563e540e3a90, pScreen=0x563e537385b0, pCursor=0x563e5432fce0) at mipointer.c:206 #9 0x0000563e52d7ebf1 in CursorDisplayCursor (pDev=0x563e540e3a90, pScreen=0x563e537385b0, pCursor=0x563e5432fce0) at cursor.c:150 #10 0x0000563e52e074e0 in AnimCurDisplayCursor (pDev=0x563e540e3a90, pScreen=0x563e537385b0, pCursor=0x563e5432fce0) at animcur.c:220 #11 0x0000563e52e78cc8 in ChangeToCursor (pDev=0x563e540e3a90, cursor=0x563e5432fce0) at events.c:937 #12 0x0000563e52e7cbba in CheckMotion (ev=ev@entry=0x0, pDev=0x563e540e3a90) at events.c:3090 #13 0x0000563e52d432b1 in pointer_ensure_focus ( xmir_window=xmir_window@entry=0x563e543956d0, dev=0x563e541119c0, sx=<optimised out>, sy=<optimised out>, xmir_input=<optimised out>) at xmir-input.c:228 #14 0x0000563e52d43345 in pointer_handle_motion ( xmir_input=xmir_input@entry=0x563e54111860, xmir_window=xmir_window@entry=0x563e543956d0, pev=pev@entry=0x7fe950003ba0) at xmir-input.c:243 #15 0x0000563e52d438a0 in xmir_window_handle_input_event ( xmir_input=xmir_input@entry=0x563e54111860, xmir_window=xmir_window@entry=0x563e543956d0, ev=<optimised out>) at xmir-input.c:491 #16 0x0000563e52d43b78 in xmir_handle_surface_event_in_main_thread ( xmir_screen=<optimised out>, xmir_window=0x563e543956d0, arg=0x7fe950003ba0) at xmir-input.c:544 #17 0x0000563e52d453a9 in xmir_process_from_eventloop_except (w=0x0) at xmir-thread-proxy.c:102 #18 0x0000563e52eaa131 in ospoll_wait (ospoll=0x563e5372d790, timeout=<optimised out>) at ospoll.c:412 #19 0x0000563e52ea3a7c in WaitForSomething (are_ready=<optimised out>) at WaitFor.c:226 #20 0x0000563e52e6fc0a in Dispatch () at dispatch.c:422 #21 0x0000563e52e73e58 in dix_main (argc=6, argv=0x7ffec1136a68, envp=<optimised out>) at main.c:287 #22 0x00007fe9637d03f1 in __libc_start_main (main=0x563e52d3df70 <main>, argc=6, argv=0x7ffec1136a68, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7ffec1136a58) at ../csu/libc-start.c:291 #23 0x0000563e52d3dfaa in _start () Xmir freezes in mir_buffer_stream_get_graphics_region() from xmir_input_set_cursor() Seems to happen a lot when testing Firefox and Chrome when entering/leaving the address bar... (gdb) bt #0 pthread_cond_wait@@GLIBC_2.3.2 () at ../sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185 #1 0x00007f5ea91e3c5c in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #2 0x00007f5eac25b6b2 in std::condition_variable::wait<mir::client::PromiseStateBase<std::shared_ptr<mir::client::MirBuffer> >::ReadLock::ReadLock(mir::client::PromiseStateBase<std::shared_ptr<mir::client::MirBuffer> >&)::{lambda()#1}>(std::unique_lock<std::mutex>&, mir::client::PromiseStateBase<std::shared_ptr<mir::client::MirBuffer> >::ReadLock::ReadLock(mir::client::PromiseStateBase<std::shared_ptr<mir::client::MirBuffer> >&)::{lambda()#1}) () at /usr/include/c++/6/condition_variable:99 #3 __base_ctor (parent=..., this=0x7fff74877420) at ./src/client/no_tls_future-inl.h:136 #4 mir::client::PromiseStateBase<std::shared_ptr<mir::client::MirBuffer> >::ensure_read_context() () at ./src/client/no_tls_future-inl.h:152 #5 get_value (this=0x55de6688f830) at ./src/client/no_tls_future-inl.h:223 #6 get (this=0x7f5e9c008160) at ./src/client/no_tls_future-inl.h:354 #7 mir::client::BufferDepository::advance_current_buffer(std::unique_lock<std::mutex>&) (this=this@entry=0x7f5e9c008160, lk=...) at ./src/client/buffer_stream.cpp:166 #8 0x00007f5eac25f9ed in current_buffer_id (this=<optimised out>) at ./src/client/buffer_stream.cpp:183 #9 get_current_buffer (this=0x7f5e9c007f40) at ./src/client/buffer_stream.cpp:400 #10 0x00007f5eac25f517 in secure_for_cpu_write (this=0x7f5e9c007f40) at ./src/client/buffer_stream.cpp:419 #11 0x00007f5eac263f28 in mir_buffer_stream_get_graphics_region ( buffer_stream=buffer_stream@entry=0x7f5e9c007f48, region_out=region_out@entry=0x7fff748775d0) at ./src/client/mir_buffer_stream_api.cpp:149 #12 0x000055de647da90e in xmir_input_set_cursor (cursor=0x55de6687ff60, xmir_input=<optimised out>, xmir_input=<optimised out>) at xmir-cursor.c:108 #13 0x000055de64829eab in miPointerUpdateSprite (pDev=0x55de66621c10) at mipointer.c:468 #14 0x000055de6482a0fa in miPointerDisplayCursor (pDev=0x55de66621c10, pScreen=0x55de65c775b0, pCursor=0x55de6687ff60) at mipointer.c:206 #15 0x000055de64816bf1 in CursorDisplayCursor (pDev=0x55de66621c10, pScreen=0x55de65c775b0, pCursor=0x55de6687ff60) at cursor.c:150 #16 0x000055de6489f4e0 in AnimCurDisplayCursor (pDev=0x55de66621c10, pScreen=0x55de65c775b0, pCursor=0x55de6687ff60) at animcur.c:220 #17 0x000055de64910cc8 in ChangeToCursor (pDev=0x55de66621c10, cursor=0x55de6687ff60) at events.c:937 #18 0x000055de64912107 in WindowHasNewCursor (pWin=pWin@entry=0x55de66840be0) at events.c:3369 #19 0x000055de64939740 in ChangeWindowAttributes (pWin=0x55de66840be0, vmask=<optimised out>, vlist=vlist@entry=0x55de6690e17c, client=client@entry=0x55de667e37e0) at window.c:1561 #20 0x000055de64901bed in ProcChangeWindowAttributes (client=0x55de667e37e0) at dispatch.c:726 #21 0x000055de64907ed5 in Dispatch () at dispatch.c:479 #22 0x000055de6490be58 in dix_main (argc=6, argv=0x7fff74877a58, envp=<optimised out>) at main.c:287 #23 0x00007f5eaa4bf3f1 in __libc_start_main (main=0x55de647d5f70 <main>, argc=6, argv=0x7fff74877a58, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7fff74877a48) at ../csu/libc-start.c:291 #24 0x000055de647d5faa in _start ()
2017-04-06 09:36:06 Daniel van Vugt xorg-server (Ubuntu): status New Fix Committed
2017-04-06 09:36:06 Daniel van Vugt xorg-server (Ubuntu): assignee Daniel van Vugt (vanvugt)
2020-11-10 06:26:52 Daniel van Vugt xorg-server (Ubuntu): status Fix Committed Won't Fix