Xmir crashes immediately on startup using glamor on Nexus4

Bug #1494240 reported by Daniel van Vugt on 2015-09-10
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libepoxy (Ubuntu)
Low
Daniel van Vugt
libhybris (Ubuntu)
Low
Daniel van Vugt
xorg-server (Ubuntu)
Low
Daniel van Vugt

Bug Description

Xmir crashes immediately on startup using glamor on Nexus4.

glamor GL version: OpenGL ES 3.0 V@53.0 AU@ (CL@)
...
glamor GLSL version: OpenGL ES GLSL ES 3.00
(EE)
(EE) Backtrace:
(EE)
(EE) Segmentation fault at address 0x0
(EE)
Fatal server error:
(EE) Caught signal 11 (Segmentation fault). Server aborting
(EE)

The stack trace is lost. However the problem appears to be the glGetStringi() function. This function is new in GLESv3 and libepoxy only uses it because the GLES version is 3.0 on mako. However, libhybris fails to implement glGetStringi() and forward it to the driver correctly. At least that seems to be the problem. Our hybris GLESv2 is missing the function but the Android GLESv2 on the device has it.

Daniel van Vugt (vanvugt) wrote :

If only there was a way to force libepoxy to use GLESv2 (which it understands also) then it would not try to call the offending glGetStringi().

description: updated
Changed in libhybris (Ubuntu):
assignee: nobody → Daniel van Vugt (vanvugt)
Robert Ancell (robert-ancell) wrote :

Note, this is not happening on my Nexus 4 (vivid).

Robert Ancell (robert-ancell) wrote :

Actually this is occuring after your recent git changes.

Changed in libhybris (Ubuntu):
status: New → In Progress
Changed in xorg-server (Ubuntu):
status: New → In Progress
Changed in libhybris (Ubuntu):
importance: Undecided → High
Changed in libepoxy (Ubuntu):
status: New → In Progress
importance: Undecided → High
assignee: nobody → Daniel van Vugt (vanvugt)
Changed in libhybris (Ubuntu):
status: In Progress → Won't Fix
Daniel van Vugt (vanvugt) wrote :

Here's a fix for libepoxy.

The attachment "fix-1494240.patch" seems to be a patch. If it isn't, please remove the "patch" flag from the attachment, remove the "patch" tag, and if you are a member of the ~ubuntu-reviewers, unsubscribe the team.

[This is an automated message performed by a Launchpad user owned by ~brian-murray, for any issues please contact him.]

tags: added: patch
tags: added: xmir
tags: added: mako
Daniel van Vugt (vanvugt) wrote :

Dropped severity. Glamor is not used by default.

Changed in libepoxy (Ubuntu):
importance: High → Medium
Changed in xorg-server (Ubuntu):
importance: High → Medium
Daniel van Vugt (vanvugt) wrote :

Re-opened for libhybris. I just realized we could fix this in hybris by pre-pending the OpenGL version string it returns. Instead of returning:
    OpenGL ES 3.0 V@53.0 AU@ (CL@)
we could make it:
    Hybris OpenGL ES 2.0 on OpenGL ES 3.0 V@53.0 AU@ (CL@)

So then epoxy would not try to use the 3.0 functions missing in hybris. And no crash.

Changed in libhybris (Ubuntu):
status: Won't Fix → New
Daniel van Vugt (vanvugt) wrote :

Per comment #6.

Changed in libhybris (Ubuntu):
importance: High → Medium
Changed in xorg-server (Ubuntu):
status: In Progress → Triaged
Changed in libepoxy (Ubuntu):
status: In Progress → Triaged
Changed in xorg-server (Ubuntu):
importance: Medium → Low
Changed in libepoxy (Ubuntu):
importance: Medium → Low
Changed in libhybris (Ubuntu):
importance: Medium → Low
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers