Black screen: Mir servers (unity8, unity-system-compositor, mir_demo*) all crash on start-up in libhybris [linker.c:27: android_dlopen: Assertion `0' failed.']

Bug #1578461 reported by Daniel van Vugt on 2016-05-05
30
This bug affects 4 people
Affects Status Importance Assigned to Milestone
Canonical System Image
Critical
John McAleely
Mir
Invalid
Critical
Unassigned
0.22
Invalid
Critical
Unassigned
0.23
Invalid
Critical
Unassigned
libhybris (Ubuntu)
Critical
Simon Fels
mir (Ubuntu)
Critical
Unassigned
unity-system-compositor (Ubuntu)
Critical
Unassigned
unity8 (Ubuntu)
Critical
Unassigned

Bug Description

Having mir-graphics-drivers-android9:amd64 installed prevents unity-system-compositor starting:

[2016-05-05 10:19:09.118354] mirplatform: Found graphics driver: mir:mesa-kms (version 0.22.0)
android_dlopen called but not implemented!
unity-system-compositor: linker.c:27: android_dlopen: Assertion `0' failed.

which was caused by:

sudo apt-add-repository ppa:ci-train-ppa-service/stable-phone-overlay

WORKING: hybris 0.1.0+git20151016+6d424c9-0ubuntu7
FAILING: hybris 0.1.0+git20151016+6d424c9-0ubuntu11

WORKAROUNDS:
 * Remove ppa:ci-train-ppa-service/stable-phone-overlay from your system to completely solve the problem; or
 * Don't use Unity8 -- other Mir servers will work after you remove package mir-graphics-drivers-android9:amd64 which is their last remaining dependency on libhybris.

description: updated
Changed in mir (Ubuntu):
importance: Undecided → Critical
Changed in mir:
milestone: none → 0.24.0
Daniel van Vugt (vanvugt) wrote :

It appears the crash is in libhybris. Which is not only used by the Mir Android platform, but also used by Unity8 directly!

Changed in libhybris (Ubuntu):
importance: Undecided → Critical
tags: added: black-screen

See bug 1578462 which shows removing the android graphics driver is not enough to stop the crash from happening. Because unity8 seems to use hybris directly.

summary: - Having mir-graphics-drivers-android9:amd64 installed prevents unity-
- system-compositor starting: 'unity-system-compositor: linker.c:27:
- android_dlopen: Assertion `0' failed.'
+ Mir servers (unity8, unity-syste-compositor, mir_demo*) crash on start-
+ up in libhybris [linker.c:27: android_dlopen: Assertion `0' failed.']
summary: - Mir servers (unity8, unity-syste-compositor, mir_demo*) crash on start-
- up in libhybris [linker.c:27: android_dlopen: Assertion `0' failed.']
+ Black screen: Mir servers (unity8, unity-syste-compositor, mir_demo*)
+ all crash on start-up in libhybris [linker.c:27: android_dlopen:
+ Assertion `0' failed.']
Changed in unity8 (Ubuntu):
importance: Undecided → Critical
Changed in unity-system-compositor (Ubuntu):
importance: Undecided → Critical
summary: - Black screen: Mir servers (unity8, unity-syste-compositor, mir_demo*)
+ Black screen: Mir servers (unity8, unity-system-compositor, mir_demo*)
all crash on start-up in libhybris [linker.c:27: android_dlopen:
Assertion `0' failed.']
description: updated
Daniel van Vugt (vanvugt) wrote :

This sounds relevant:

libhybris (0.1.0+git20151016+6d424c9-0ubuntu11) xenial; urgency=medium

  * hybris: common: add stub linker implementation <----- ????
  * debian: split out common parts of the default configuration
  * debian: add build support for arm64
  * hybris: add README file stating which architectures are supported
  * hybris: autotools want it to be README

 -- Simon Fels <email address hidden> Tue, 03 May 2016 17:29:41 +0200

Changed in libhybris (Ubuntu):
assignee: nobody → Simon Fels (morphis)
description: updated
Michał Sawicz (saviq) wrote :
Changed in libhybris (Ubuntu):
status: New → In Progress
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in mir (Ubuntu):
status: New → Confirmed
Changed in unity-system-compositor (Ubuntu):
status: New → Confirmed
Changed in unity8 (Ubuntu):
status: New → Confirmed
kevin gunn (kgunn72) on 2016-05-07
Changed in mir:
status: New → Invalid
Changed in mir (Ubuntu):
status: Confirmed → Invalid
Changed in unity-system-compositor (Ubuntu):
status: Confirmed → Invalid
Changed in unity8 (Ubuntu):
status: Confirmed → Invalid
Changed in canonical-devices-system-image:
importance: Undecided → Critical
assignee: nobody → John McAleely (john.mcaleely)
milestone: none → 11
status: New → In Progress
Daniel van Vugt (vanvugt) wrote :

I was keeping those tasks open to work around a Launchpad bug/feature: People can't find the bug if they're searching in a task where it's set to Invalid. And generally they will be searching in one of those.

Kevin DuBois (kdub) wrote :

untargetted to mir milestones, as the problem is being fixed in hybris

Changed in mir:
milestone: 0.24.0 → none
Changed in canonical-devices-system-image:
milestone: 11 → 12
Daniel van Vugt (vanvugt) wrote :

Realistically this bug is only critical for desktop and not for the phablet Canonical System Image. So we can move the milestone.

John McAleely (john.mcaleely) wrote :

Oh, how is hybris involved on a desktop image?

Daniel van Vugt (vanvugt) wrote :

Two ways:

1. Mir's android/hybris graphics driver is built for all architectures including amd64/i386. Because we can, and it gives us better test coverage. In theory this is also useful for supporting Intel-based droids that lack a PC BIOS.

2. Unity8 links directly to hybris for its own reasons. Not sure why that is...

dinamic (dinamic6661) wrote :

i'm no longer affected by this bug, last update fixed it for me

Daniel van Vugt (vanvugt) wrote :

Confirmed, the fix has landed (ppa:ci-train-ppa-service/stable-phone-overlay)

Changed in libhybris (Ubuntu):
status: In Progress → Fix Committed
Changed in canonical-devices-system-image:
status: In Progress → Fix Committed
Daniel van Vugt (vanvugt) wrote :

I think the target milestone is wrong. The fix is probably in OTA11 (?) It's certainly in Yakkety now: https://launchpad.net/ubuntu/+source/libhybris

Changed in canonical-devices-system-image:
milestone: 12 → 11
Changed in canonical-devices-system-image:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers