Xmir crashes immediately on startup using glamor on Nexus4

Bug #1494240 reported by Daniel van Vugt
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
libepoxy (Ubuntu)
Won't Fix
Low
Unassigned
libhybris (Ubuntu)
Won't Fix
Low
Unassigned
xorg-server (Ubuntu)
Won't Fix
Low
Unassigned

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.

Tags: patch mako xmir
Revision history for this message
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)
Revision history for this message
Robert Ancell (robert-ancell) wrote :

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

Revision history for this message
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
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Here's a fix for libepoxy.

Revision history for this message
Ubuntu Foundations Team Bug Bot (crichton) wrote :

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
Revision history for this message
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
Revision history for this message
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
Revision history for this message
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
Changed in xorg-server (Ubuntu):
status: Triaged → Won't Fix
Changed in libepoxy (Ubuntu):
assignee: Daniel van Vugt (vanvugt) → nobody
Changed in libhybris (Ubuntu):
assignee: Daniel van Vugt (vanvugt) → nobody
Changed in xorg-server (Ubuntu):
assignee: Daniel van Vugt (vanvugt) → nobody
Changed in libepoxy (Ubuntu):
status: Triaged → Won't Fix
Changed in libhybris (Ubuntu):
status: New → Won't Fix
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.