[ubuntu-x] Intel GPU hangs and batchbuffer dumps

Bryce Harrington bryce at canonical.com
Wed Mar 3 17:54:23 GMT 2010


On Wed, Mar 03, 2010 at 12:10:32PM +0100, Geir Ove Myhr wrote:
> On Fri, Feb 19, 2010 at 1:48 AM, Bryce Harrington <bryce at canonical.com> wrote:
> > The script that actually does the collection is:
> >
> > ?/usr/share/apport/apport-gpu-error-intel.py
> 
> How do I test this script without triggering a freeze?

See my earlier reply; you need to manually build the gem_hang script in
the intel_gpu_tools package.
 
> go at storhaugen:~$ /usr/share/apport/apport-gpu-error-intel.py
> Traceback (most recent call last):
>   File "/usr/share/apport/apport-gpu-error-intel.py", line 117, in <module>
>     sys.exit(main())
>   File "/usr/share/apport/apport-gpu-error-intel.py", line 82, in main
>     if report.check_ignored():
>   File "/usr/lib/python2.6/dist-packages/apport/report.py", line 736,
> in check_ignored
>     assert self.has_key('ExecutablePath')
> AssertionError
> 
> This isn't supposed to happen, is it? Removing the two last lines
> makes the program complete without AssertionError, but doesn't
> generate a anything in /var/crash.

The lines it's crashing on are:

    if report.check_ignored():
        return 0

I have assumed that is just some apport call to check if apport is
enabled for the given system or not, but have to admit I don't know for
sure.

I don't know why the script would raise an error on those lines.
Perhaps try commenting these two lines out (and nothing else) and see if
it'll go.

> I wanted to test that everything worked after adding some chipset
> lines and removing the second attach_hardware(report) (see attached
> diff), and I guess there is an easier way than actually triggering a
> freeze. I thought about also adding tags for the chipset, but wouldn't
> do this before I knew that my current changes were working.
> 
> Geir Ove

> --- /usr/share/apport/apport-gpu-error-intel.py	2010-03-01 22:33:14.000000000 +0100
> +++ apport-gpu-error-intel.py	2010-03-03 11:22:08.000000000 +0100
> @@ -20,11 +20,12 @@
>      { 'name':'i865',        're':'(8086:2572|82865G)' },
>      { 'name':'i915g',       're':'(8086:2582)' },
>      { 'name':'i915gm',      're':'(8086:2592|915GM)' },
> +    { 'name':'e7221',       're':'(8086:258a)' },
>      { 'name':'i945g',       're':'(8086:2772|945G[ \/]|82945G[ \/])' },
>      { 'name':'i945gm',      're':'(8086:27a2|945GM[ \/]|82945GM[ \/])' },
>      { 'name':'i945gme',     're':'(8086:27ae|945GME|82945GME)' },
> -    { 'name':'IGDg',        're':'(8086:a001)' },
> -    { 'name':'IGDgm',       're':'(8086:a011)' },
> +    { 'name':'pineviewg',   're':'(8086:a001)' },
> +    { 'name':'pineviewgm',  're':'(8086:a011)' },
>      { 'name':'i946gz',      're':'(8086:2972|82946GZ)' },
>      { 'name':'g35',         're':'(8086:2982|82G35)' },
>      { 'name':'i965q',       're':'(8086:2992|Q965)' },
> @@ -39,7 +40,11 @@
>      { 'name':'q45',         're':'(8086:2e12)' },
>      { 'name':'g45',         're':'(8086:2e22)' },
>      { 'name':'g41',         're':'(8086:2e32)' },
> +    { 'name':'b43',         're':'(8086:2e42)' },
>      { 'name':'clarkdale',   're':'(8086:0042)' },
> +    { 'name':'arrandale',   're':'(8086:0046)' },
> +    { 'name':'sandybridge', 're':'(8086:0102)' },
> +    { 'name':'sandybridgem','re':'(8086:0106)' },
>      ]
>  for device in pci_devices:
>      device['rc'] = re.compile(device['re'], re.IGNORECASE)
> @@ -85,7 +90,6 @@
>      report.add_os_info()
>      report.add_proc_info()
>      report.add_user_info()
> -    attach_hardware(report)
>      report['PciDisplay'] = pci_devices(PCI_DISPLAY)
>      report['IntelGpuDump'] = command_output(['intel_gpu_dump'])
>      report['DumpSignature'] = get_dump_signature(report['IntelGpuDump'])

Kewl, thanks, I've applied this and will upload shortly.

This table is a cut-and-paste from our tagging script in arsenal, so
I'll replicate the changes there as well.  (I think we need a general
purpose python library for sharable X code like this.)

Bryce




More information about the Ubuntu-x mailing list