[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