[gm45] False GPU lockup IPEHR: 0x89800000

Bug #1286162 reported by Ken VanDine on 2014-02-28
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
apparmor-easyprof-ubuntu (Ubuntu)
High
Jamie Strandboge
xserver-xorg-video-intel (Ubuntu)
High
Unassigned

Bug Description

I get this crash everytime I start a click installed qml app with upstart-app-launch. Running the app directly with qmlscene works fine, but crashes consistently when started with upstart.

ProblemType: Crash
DistroRelease: Ubuntu 14.04
Package: xserver-xorg-video-intel 2:2.99.910-0ubuntu1
ProcVersionSignature: Ubuntu 3.13.0-14.34-generic 3.13.5
Uname: Linux 3.13.0-14-generic x86_64
.tmp.unity.support.test.0:

ApportVersion: 2.13.2-0ubuntu5
Architecture: amd64
Chipset: gm45
CompizPlugins: [core,composite,opengl,compiztoolbox,decor,vpswitch,snap,mousepoll,resize,place,move,wall,grid,regex,imgpng,session,gnomecompat,animation,fade,unitymtgrabhandles,workarounds,scale,expo,ezoom,unityshell]
CompositorRunning: compiz
CompositorUnredirectDriverBlacklist: '(nouveau|Intel).*Mesa 8.0'
CompositorUnredirectFSW: true
Date: Fri Feb 28 09:13:34 2014
DistUpgraded: Fresh install
DistroCodename: trusty
DistroVariant: ubuntu
DuplicateSignature: [gm45] GPU lockup IPEHR: 0x89800000 Ubuntu 14.04
ExecutablePath: /usr/share/apport/apport-gpu-error-intel.py
GraphicsCard:
 Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 07) (prog-if 00 [VGA controller])
   Subsystem: Lenovo Device [17aa:20e4]
   Subsystem: Lenovo Device [17aa:20e4]
InstallationDate: Installed on 2014-01-17 (41 days ago)
InstallationMedia: Ubuntu 14.04 LTS "Trusty Tahr" - Alpha amd64 (20140115)
InterpreterPath: /usr/bin/python3.4
MachineType: LENOVO 7417CTO
PccardctlIdent:
 Socket 0:
   no product info available
PccardctlStatus:
 Socket 0:
   no card
ProcCmdline: /usr/bin/python3 /usr/share/apport/apport-gpu-error-intel.py
ProcEnviron:

ProcKernelCmdLine: BOOT_IMAGE=/@/boot/vmlinuz-3.13.0-14-generic root=UUID=015b214a-67cb-416e-bf20-c3b60c9209f2 ro rootflags=subvol=@ quiet splash vt.handoff=7
RelatedPackageVersions:
 xserver-xorg 1:7.7+1ubuntu8
 libdrm2 2.4.52-1
 xserver-xorg-video-intel 2:2.99.910-0ubuntu1
SourcePackage: xserver-xorg-video-intel
Title: [gm45] False GPU lockup IPEHR: 0x89800000
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups:

dmi.bios.date: 04/19/2010
dmi.bios.vendor: LENOVO
dmi.bios.version: 7UET86WW (3.16 )
dmi.board.name: 7417CTO
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr7UET86WW(3.16):bd04/19/2010:svnLENOVO:pn7417CTO:pvrThinkPadT400:rvnLENOVO:rn7417CTO:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 7417CTO
dmi.product.version: ThinkPad T400
dmi.sys.vendor: LENOVO
version.compiz: compiz 1:0.9.11+14.04.20140218-0ubuntu1
version.ia32-libs: ia32-libs N/A
version.libdrm2: libdrm2 2.4.52-1
version.libgl1-mesa-dri: libgl1-mesa-dri 10.1.0~rc1-1ubuntu4
version.libgl1-mesa-dri-experimental: libgl1-mesa-dri-experimental N/A
version.libgl1-mesa-glx: libgl1-mesa-glx 10.1.0~rc1-1ubuntu4
version.xserver-xorg-core: xserver-xorg-core 2:1.15.0-1ubuntu6
version.xserver-xorg-input-evdev: xserver-xorg-input-evdev 1:2.8.2-1ubuntu2
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:7.3.0-1ubuntu3
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.99.910-0ubuntu1
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:1.0.10-1ubuntu2
xserver.bootTime: Fri Feb 28 01:32:52 2014
xserver.configfile: default
xserver.errors:

xserver.logfile: /var/log/Xorg.0.log
xserver.outputs:
 product id 16435
 vendor LEN
xserver.version: 2:1.15.0-1ubuntu6

Ken VanDine (ken-vandine) wrote :
Chris Wilson (ickle) wrote :

It's sending a completely garbage batchbuffer. It doesn't match either the DDX or mesa (i965c), so I have no idea who emitted it. Can you launch qmlscene under gdb and place a breakpoint on do_exec2() (in libdrm_intel.so).

Ken VanDine (ken-vandine) wrote :

I can't reproduce it directly with qmlscene... only when the app is launched with upstart-app-launch. See bug #1286163

tags: removed: need-duplicate-check
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in xserver-xorg-video-intel (Ubuntu):
status: New → Confirmed
Jamie Strandboge (jdstrand) wrote :

FYI, I reported a bug that was just marked a dupe of this one that did not require upstart-app-launch but used aa-exec-click instead. I wonder if it has to do with the environment since aa-exec-click and upstart-app-launch will setup quite a bit of the environment. When launching my blabble app (available in the app store), the following environment is set up by aa-exec-click (I ommitted the env vars that aa-exec-click doesn't set):

APP_ID='com.ubuntu.developer.jdstrand.blabble_blabble_0.2.1'
LD_LIBRARY_PATH='/opt/click.ubuntu.com/.click/users/jamie/com.ubuntu.developer.jdstrand.blabble/lib/x86_64-linux-gnu'
PATH='/opt/click.ubuntu.com/.click/users/jamie/com.ubuntu.developer.jdstrand.blabble/lib/x86_64-linux-gnu/bin:/opt/click.ubuntu.com/.click/users/jamie/com.ubuntu.developer.jdstrand.blabble:/home/jamie/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/sbin:/usr/sbin:/usr/local/sbin'
QML2_IMPORT_PATH='/opt/click.ubuntu.com/.click/users/jamie/com.ubuntu.developer.jdstrand.blabble/lib/x86_64-linux-gnu'
TMPDIR='/run/user/1000/confined/com.ubuntu.developer.jdstrand.blabble'
UBUNTU_APPLICATION_ISOLATION='1'
XDG_CACHE_HOME=/home/jamie/.cache
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg
XDG_CONFIG_HOME=/home/jamie/.config
XDG_DATA_DIRS='/opt/click.ubuntu.com/.click/users/jamie/com.ubuntu.developer.jdstrand.blabble:/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/'
XDG_DATA_HOME=/home/jamie/.local/share
XDG_RUNTIME_DIR=/run/user/1000
__GL_SHADER_DISK_CACHE_PATH='/home/jamie/.cache/com.ubuntu.developer.jdstrand.blabble'

To reproduce what I did:
1. grab some click app and install it on the desktop with 'sudo click install --user=$user <click package>
2. adjust /usr/bin/aa-exec-click to do 'set > /tmp/foo' just before the call to aa-exec
3. cd to the app directory (ie, what is in Path= in the ~/.local/share/applications/<app>.desktop
4. run aa-exec-click from this directory. Eg:
aa-exec-click -p com.ubuntu.developer.jdstrand.blabble_blabble_0.2.1 -- qmlscene blabble.qml

If it is indeed something in the environment, I suggest copying /usr/bin/aa-exec-click somewhere and modifying it for debugging/triaging.

Jamie Strandboge (jdstrand) wrote :

Hmmm, I did notice these two denials:
Mar 5 10:37:06 localhost kernel: [ 7375.981987] type=1400 audit(1394037426.321:300): apparmor="DENIED" operation="open" profile="com.ubuntu.developer.jdstrand.blabble_blabble_0.2.1" name="/sys/devices/pci0000:00/0000:00:02.0/uevent" pid=20162 comm="qmlscene" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0
Mar 5 10:37:06 localhost kernel: [ 7375.982004] type=1400 audit(1394037426.321:301): apparmor="DENIED" operation="open" profile="com.ubuntu.developer.jdstrand.blabble_blabble_0.2.1" name="/run/udev/data/+pci:0000:00:02.0" pid=20162 comm="qmlscene" requested_mask="r" denied_mask="r" fsuid=1000 ouid=0

Jamie Strandboge (jdstrand) wrote :

If I add this to the apparmor policy, it works:
/sys/devices/pci[0-9]*/**/uevent r,

Jamie Strandboge (jdstrand) wrote :

And if I remove it, it fails. I will update apparmor-easyprof-ubuntu so people are unblocked. There is still obviously a bug in the X server-- it shouldn't be crashing so hard cause it can't read a file.

Changed in apparmor-easyprof-ubuntu (Ubuntu):
status: New → Triaged
assignee: nobody → Jamie Strandboge (jdstrand)
Changed in apparmor-easyprof-ubuntu (Ubuntu):
status: Triaged → In Progress
Changed in apparmor-easyprof-ubuntu (Ubuntu):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package apparmor-easyprof-ubuntu - 1.1.8

---------------
apparmor-easyprof-ubuntu (1.1.8) trusty; urgency=medium

  * 1.*/ubuntu-sdk: allow accesses to workaround intel driver crash on X
    - allow read of /sys/devices/pci[0-9]*/**/uevent
    - allow read of /etc/udev/udev.conf
    - explicityly deny /run/udev/data/**, like we do elsewhere
    - LP: #1286162
 -- Jamie Strandboge <email address hidden> Wed, 05 Mar 2014 12:16:44 -0600

Changed in apparmor-easyprof-ubuntu (Ubuntu):
status: Fix Committed → Fix Released
Chris Wilson (ickle) wrote :

This bug is nothing to do with the X server; it is the DRI client (i.e. mesa) that cannot access the GPU device node. What happens now, does the client still emit invalid commands?

It renders essential features or functionality of the package (or a dependent one) broken.

Changed in apparmor-easyprof-ubuntu (Ubuntu):
importance: Undecided → High
Changed in xserver-xorg-video-intel (Ubuntu):
importance: Undecided → High
To post a comment you must log in.