glxgears crashed with SIGSEGV due to no GLX on display :0

Bug #327673 reported by Brian Murray
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
apport (Ubuntu)
Fix Released
Low
Martin Pitt
mesa (Ubuntu)
Fix Released
Low
Unassigned

Bug Description

I believe that glxgears crashed because I don't have glx running at the moment:

Xlib: extension "GLX" missing on display ":0.0".

However, if this is the case it'd make much more sense if apport, in the form of a per package hook, did not allow these crash reports to be reported.

ProblemType: Crash
Architecture: amd64
DistroRelease: Ubuntu 9.04
ExecutablePath: /usr/bin/glxgears
Package: mesa-utils 7.3-1ubuntu1
ProcCmdline: glxgears
ProcEnviron:
 PATH=(custom, user)
 SHELL=/bin/zsh
 LANG=en_US.UTF-8
Signal: 11
SourcePackage: mesa
StacktraceTop:
 ?? () from /usr/lib/libGL.so.1
 ?? () from /usr/lib/libGL.so.1
 ?? ()
 ?? () from /usr/lib/libGL.so.1
 ?? ()
Title: glxgears crashed with SIGSEGV
Uname: Linux 2.6.27-11-generic x86_64
UserGroups: adm admin audio cdrom dialout dip family floppy fuse lpadmin plugdev pulse pulse-access pulse-rt sambashare scanner video
SegvAnalysis:
 Segfault happened at: 0x7ffacbdf4d0a: mov (%rax),%esi
 PC (0x7ffacbdf4d0a) ok
 source "(%rax)" (0x00000000) not located in a known VMA region (needed readable region)!
 destination "%esi" ok
SegvReason: reading NULL VMA

Revision history for this message
Brian Murray (brian-murray) wrote :
Revision history for this message
Apport retracing service (apport) wrote : Symbolic stack trace

StacktraceTop:?? () from /usr/lib/libGL.so.1
?? () from /usr/lib/libGL.so.1
?? ()
?? () from /usr/lib/libGL.so.1
?? ()

Revision history for this message
Apport retracing service (apport) wrote : Symbolic threaded stack trace
Revision history for this message
Bryce Harrington (bryce) wrote : Re: glxgears crashed with SIGSEGV

Hi brian-murray,

Could you please collect a full backtrace from when this crash occurs? Directions on collecting full backtraces are at https://wiki.ubuntu.com/X/Backtracing

[This is an automated message. Apologies if it has reached you inappropriately; please just reply to this message indicating so.]

Changed in mesa:
status: New → Incomplete
Revision history for this message
Brian Murray (brian-murray) wrote :

I'm not certain a full back trace would help out here. I'm less interested in this crash report than in apport not reporting these. I'd think a package hook for mesa similar to the usplash one could be written. Here's part of the usplash one:

if report.has_key('StacktraceTop'):
        top_fn = report['StacktraceTop'].splitlines()[0]
        if 'libx86.so' in top_fn or 'run_vm86' in top_fn:
            report['UnreportableReason'] = 'The crash happened in the firmware of \
the computer ("BIOS"), which cannot be influenced by the operating system.'

So I think checking the StactrackTop for libGL.so.1 and /var/log/Xorg.0.log for GLX not being enabled would be sufficient.

Changed in mesa:
status: Incomplete → New
Bryce Harrington (bryce)
summary: - glxgears crashed with SIGSEGV
+ glxgears crashed with SIGSEGV due to no GLX on display :0
Changed in mesa (Ubuntu):
importance: Undecided → High
status: New → Confirmed
visibility: private → public
Revision history for this message
Bryce Harrington (bryce) wrote :

Okay, well the stacktrace is not analyzable but rather than closing the bug I'll bump it over to apport to look into improving support for this class of bug.

affects: mesa (Ubuntu) → apport (Ubuntu)
Revision history for this message
Martin Pitt (pitti) wrote :

But should a program really crash if it relies on glx and it's not available? It should handle this condition more gracefully IMHO.

Bryce, what should apport do here? Is it safe to say that it should ignore _all_ crashes which end in libGL if 'extension "GLX" missing on display' occurs in /var/log/Xorg.0.log ?

Changed in mesa (Ubuntu):
status: New → Triaged
Changed in apport (Ubuntu):
importance: High → Low
status: Confirmed → Incomplete
Bryce Harrington (bryce)
tags: added: jaunty
Kees Cook (kees)
description: updated
Changed in apport (Ubuntu):
milestone: none → lucid-alpha-1
Revision history for this message
Martin Pitt (pitti) wrote :

Still waiting for an answer from Bryce to comment 7

Changed in apport (Ubuntu):
milestone: lucid-alpha-1 → none
Revision history for this message
Bryce Harrington (bryce) wrote :

pitti, yes these crashes can be ignored when GLX is missing. Certainly it's an issue that glxgears isn't checking for GLX, but this is an uncommon corner case, and glxgears is sort of just a test program anyway, so this isn't a priority to get fixed. We can just ignore these crashes.

Bryce Harrington (bryce)
Changed in mesa (Ubuntu):
importance: Undecided → Low
Revision history for this message
Martin Pitt (pitti) wrote :

OK, will add a check like in comment 7 to the ubuntu general hook.

Changed in apport (Ubuntu):
assignee: nobody → Martin Pitt (pitti)
status: Incomplete → In Progress
Revision history for this message
Martin Pitt (pitti) wrote :

I just tested this here by moving away libglx.so, and glxinfo does not crash any more, so I am closing the original bug.

I also determined that "extension "GLX" missing on display" is just written to stderr by Xlib, it does not appear in Xorg.0.log. Thus the apport hook can't grep for that. Instead, I'll grep for the absence of "Loading extension GLX".

Changed in mesa (Ubuntu):
status: Triaged → Fix Released
Revision history for this message
Martin Pitt (pitti) wrote :

trunk r1697

Changed in apport (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package apport - 1.12-0ubuntu1

---------------
apport (1.12-0ubuntu1) lucid; urgency=low

  * New upstream release:
    - launchpad.py: Add options 'escalation_subscription' and 'escalation_tag'
      for handling bugs with more than 10 duplicates.
    - crashdb.conf: For Ubuntu, escalate bugs with >= 10 duplicates to
      "ubuntu-bugcontrol" and tag them with "bugpattern-needed".
      (LP: #487900)
    - general-hooks/generic.py: Filter out crashes on missing GLX
      (LP: #327673)
    - Add bash completion script. Thanks to Philip Muškovac. (LP: #218933)
    - launchpad.py: Drop APPORT_FILES whitelist for download() and instead
      just filter out file extensions that we know about (*.txt and *.gz).
      (LP: #444975)
    - launchpad.py: Do not put the Tags: field into the bug description, since
      they are already proper tags. In download(), convert the real tags back
      to the Tags: field. (LP: #505671)
    - test/crash: Update expected core dump flags for changed rlimit behaviour
      in Linux 2.6.32.
    - launchpad.py: Fix marking of 'checked for duplicate' for bugs with
      upstream tasks.
    - launchpad.py, get_fixed_version(): Do not consider a bug as invalid just
      because it has any invalid distro package task.
  * debian/local/setup-apport-retracer: Switch to lucid.
  * debian/local/setup-apport-retracer: Do not locally install python-apt and
    friends, users can run apt-get install in DC dchroots now.
  * debian/local/setup-apport-retracer: Don't add the retracer PPA for now,
    everything we need is in lucid.
 -- Martin Pitt <email address hidden> Wed, 20 Jan 2010 13:51:15 +0100

Changed in apport (Ubuntu):
status: Fix Committed → 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.