Although the offending exception might have been a regression from:

------------------------------------------------------------
revno: 2870 [merge]
author: Kevin DuBois <kevin.dub...@canonical.com>
committer: Tarmac
branch nick: development-branch
timestamp: Fri 2015-08-21 14:52:44 +0000
message:
  client: Do some internal refactoring to separate out mcl::BufferStream's 
logic that ties it to the BufferDepository. If the client gets a buffer at 
creation, it will use the exchange based system. If not, it will keep the 
current behavior of throwing an exception. 
  .
  
  Approved by PS Jenkins bot, Alan Griffiths, Chris Halse Rogers, Alexandros 
Frantzis.
------------------------------------------------------------

We probably don't have to fix it directly... Because Mir 0.24.0 aims to
avoid this old code path for good, and you shouldn't ever hit it again.

** Changed in: mir
    Milestone: 0.25.0 => 0.24.0

** Changed in: mir
       Status: Confirmed => Fix Committed

** Changed in: mir
     Assignee: (unassigned) => Kevin Dubois (kevin-dubois05)

** Changed in: mir (Ubuntu)
       Status: Confirmed => Triaged

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to mir in Ubuntu.
https://bugs.launchpad.net/bugs/1506358

Title:
  unity8/libmirclient gives up and terminates prematurely with
  "std::exception::what: disconnected: no new buffers" via
  ExchangeSemantics::submit()

Status in Canonical System Image:
  Confirmed
Status in Mir:
  Fix Committed
Status in mir package in Ubuntu:
  Triaged
Status in xorg-server package in Ubuntu:
  Invalid

Bug description:
  Under heavy resizing (stress testing under Valgrind), my Mir client
  (Xmir) crashed with:

  [1444895332.392862] <ERROR> MirBufferStreamAPI: Caught exception at client 
library boundary (in mir_buffer_stream_swap_buffers): 
/build/mir-7io2Aj/mir-0.16.0+15.10.20150921.1/src/client/buffer_stream.cpp(169):
 Throw in function virtual MirWaitHandle* 
{anonymous}::ExchangeSemantics::submit(const std::function<void()>&, 
mir::geometry::Size, MirPixelFormat, int)
  Dynamic exception type: 
boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<std::runtime_error>
 >
  std::exception::what: disconnected: no new buffers

  The strange thing is it's only the client that died. The server
  survived and I can connect new clients to it.

  ---
  Duplicate bug reports now show Unity8 is another such client suffering from 
this crash. It's occurring on phones and desktops in the wild.

To manage notifications about this bug go to:
https://bugs.launchpad.net/canonical-devices-system-image/+bug/1506358/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to