Mir

Activity log for bug #1319765

Date Who What changed Old value New value Message
2014-05-15 10:25:56 Daniel van Vugt bug added bug
2014-05-15 10:26:13 Daniel van Vugt summary [regression] [BufferQueue] client freezes as no buffer is returned after compositor_release. [regression] [BufferQueue] client freezes as no buffer is returned on compositor_release.
2014-05-15 13:24:50 Alexandros Frantzis mir: status New Incomplete
2014-05-16 08:47:06 Daniel van Vugt summary [regression] [BufferQueue] client freezes as no buffer is returned on compositor_release. [regression] [BufferQueue] double-buffered client freezes as no buffer is returned on compositor_release.
2014-05-16 08:47:09 Daniel van Vugt mir: importance Critical Medium
2014-05-16 08:47:12 Daniel van Vugt mir: status Incomplete Triaged
2014-05-16 08:49:38 Daniel van Vugt description [regression] [BufferQueue] client freezes as no buffer is returned after compositor_release. void mc::BufferQueue::compositor_release(std::shared_ptr<graphics::Buffer> const& buffer) { ...... if (current_compositor_buffer != buffer.get() && nbuffers > 1) release(buffer.get(), std::move(lock)); // else ... what happens to buffer? It's not in any queue any more, is it? } I've traced the freeze to a compositor_release being called after client_acquire, but release() is not called and so the client never gets a buffer. I hope this is my fault because I've only seen it happen conclusively in my own experimental branches after rotating the screen. However it would explain the random extended delays observed in bug 1317370 too. Double-buffered clients can freeze in some cases, indefinitely waiting for a callback that never comes (because no new compositor frames are scheduled). Test case: 1. Force double-buffering in the server by changing 3 to 2 in buffer_stream_factory.cpp. 2. Start your modified server using: mir_demo_server_shell 3. Run: mir_demo_client_egltriangle 4. Rotate the screen (Ctrl+Alt+Left/Right/Down) Expected: Screen rotates and client keeps rendering. Observed: Screen rotates but client is frozen until you drag or resize it.
2014-05-16 08:51:28 Daniel van Vugt mir: assignee Daniel van Vugt (vanvugt)
2014-05-16 08:51:35 Daniel van Vugt mir: status Triaged In Progress
2014-05-16 09:05:26 Daniel van Vugt branch linked lp:~vanvugt/mir/fix-1319765
2014-05-20 08:38:12 PS Jenkins bot mir: status In Progress Fix Committed
2014-06-05 03:08:51 Launchpad Janitor branch linked lp:ubuntu/utopic-proposed/mir
2014-06-06 18:49:37 Launchpad Janitor mir (Ubuntu): status New Fix Released
2014-07-01 07:37:56 Daniel van Vugt mir: status Fix Committed Fix Released
2015-02-12 08:41:43 Daniel van Vugt branch linked lp:~vanvugt/mir/fix-1420678
2015-02-12 08:53:24 Daniel van Vugt branch unlinked lp:~vanvugt/mir/fix-1420678