Mir

nexus 10 crashes with std::exception::what: error during hwc set()

Bug #1278658 reported by Kevin DuBois
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Mir
Fix Released
Critical
Kevin DuBois
mir (Ubuntu)
Fix Released
Critical
Unassigned

Bug Description

I tested the nexus 10 when landing r1383 for tears/etc, but found today that it crashes in long-running situations with:

std::exception::what: error during hwc set()

Tags: nexus10

Related branches

Revision history for this message
Kevin DuBois (kdub) wrote :

The cause was that we were leaking fence fd's, eventually causing the kernel to return an error code during set. Specifically, we were setting the acquireFenceFd for the framebuffer skip layer by duping the buffer fd. This is incorrect according to the hwc header comments because the HWC_FRAMEBUFFER layers should have their fences ignored.

Kevin DuBois (kdub)
Changed in mir:
status: New → In Progress
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

That exception looks very familiar but I don't see any existing bug report for it.

Changed in mir:
milestone: none → 0.1.6
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

Fix committed into lp:mir/devel at revision None, scheduled for release in mir, milestone Unknown

Changed in mir:
status: In Progress → Fix Committed
Changed in mir (Ubuntu):
status: New → Triaged
importance: Undecided → Critical
Changed in mir:
status: Fix Committed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (3.9 KiB)

This bug was fixed in the package mir - 0.1.6+14.04.20140310-0ubuntu1

---------------
mir (0.1.6+14.04.20140310-0ubuntu1) trusty; urgency=medium

  [ Kevin Gunn ]
  * Cherry-picked from future release 0.1.7:
    - Enhancement: options: Make it easier to customize DefaultConfiguration
    - Bug fix: Don't pass a parameter to bash's popd command. It doesn't expect
      one and will return an error from cross-compile-chroot.sh. (LP: #1287600)
  * New upstream release 0.1.6 (https://launchpad.net/mir/+milestone/0.1.6)
    - mirserver ABI bumped to 16.
    - Server API changes:
      . Report classes have moved to new namespaces/components. Please
        consult the server headers.
      . General clean-ups and virtual function changes affecting the ABI
        (a rebuild is required for all shells).
    - mirclient ABI unchanged, still at 7. Clients do not need rebuilding.
    - Add new feature: Screen recording ("screencasting") as demonstrated by
      the new mir-util "mirscreencast".
    - debian: Provide platform packages managed with dpkg alternatives.
    - Add new valgrind suppressions (mostly for armhf right now)
    - tools: Add new libmirclientplatform.so to install_on_android.sh.
    - Add "mir_demo_standalone_render_overlays", which is a free-standing
      example of overlay support.
    - Proper DisplayConfiguration for the AndroidDisplay to be better
      prepared for multi-monitor Android.
    - Commenced/continued simplifying the surface class hierarchy: BasicSurface
      has now absorbed SurfaceData.
    - Dynamically load the client platform library.
    - Bugs fixed:
      . Exceptions thrown from within compositing threads were untraceable,
        resulting in a bunch of undebuggable crash reports (LP: #1237332)
      . Ensure we close drm device file descriptors on exec. (LP: #1284081)
      . nested render_surfaces fails on N4 [std::exception::what: Failed to
        compile vertex shader:] (LP: #1284597)
      . examples: correct "fullscreen-surfaces" option. (LP: #1284554)
      . Fix mutex data race reported by helgrind in integration test:
        SwapperSwappingStress (LP: #1282886)
      . scene: Return null snapshots for sessions without surfaces
        (LP: #1281728)
      . tests: Address some raciness in
        MesaDisplayTest.drm_device_change_event_triggers_handler.
        (LP: #1283085)
      . tests: Suppress spurious memory errors occuring when running the
        unit tests on armhf with valgrind. (LP: #1279438)
      . Mir shows an old frame on client startup (for Mesa GL clients)
        (LP: #1281938)
      . tests: Add expectation to validate second SessionAuthorizer method
        is called wit correct parameter. (LP: #1218436)
      . Set field "current_format" when sending a display config to the
        server. (LP: #1277343)
      . Fix crash in android devices by working around a subtle threading
        bug, use a dummy thead_local array to push the gl/egl context TLS
        into a region where the future wait code does not overwrite it.
        (LP: #1280086)
      . compositor: calling SwitchingBundle::force_requests_to_complete()
        can be a no-op when there are no requests. (LP...

Read more...

Changed in mir (Ubuntu):
status: Triaged → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.