compiz assert failure: compiz: nv50_pc_emit.c:863: emit_flop: Assertion `STYPE(i, 0) == 0x09' failed.

Bug #710588 reported by Omer Akram on 2011-01-31
This bug affects 41 people
Affects Status Importance Assigned to Milestone
Nouveau Xorg driver
Fix Released
mesa (Ubuntu)
Chris Halse Rogers

Bug Description

Binary package hint: compiz

today's daily build does not start unity with libgl1-mesa-dri-experimental installed. it worked fine with earlier isos I tried

ProblemType: Crash
DistroRelease: Ubuntu 11.04
Package: compiz-core 1:
ProcVersionSignature: Ubuntu 2.6.38-1.28-generic 2.6.38-rc2
Uname: Linux 2.6.38-1-generic i686
Architecture: i386
AssertionMessage: compiz: nv50_pc_emit.c:863: emit_flop: Assertion `STYPE(i, 0) == 0x09' failed.
CrashCounter: 1
Date: Mon Jan 31 10:56:08 2011
DistUpgraded: Fresh install
DistroCodename: natty
DistroVariant: ubuntu
ExecutablePath: /usr/bin/compiz
GraphicsCard: Subsystem: Device [19f1:0a76]
LiveMediaBuild: Ubuntu 11.04 "Natty Narwhal" - Alpha i386 (20110131)
 Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
ProcCmdline: compiz
ProcKernelCmdLine: BOOT_IMAGE=(loop)/casper/vmlinuz boot=casper iso-scan/filename=/home/om26er/Documents/natty-desktop-i386.iso noprompt noeject
Signal: 6
SourcePackage: compiz
 __kernel_vsyscall ()
 raise () from /lib/
 abort () from /lib/
 __assert_fail () from /lib/
 ?? () from /usr/lib/dri/
Title: compiz assert failure: compiz: nv50_pc_emit.c:863: emit_flop: Assertion `STYPE(i, 0) == 0x09' failed.

UserGroups: adm admin cdrom dialout lpadmin plugdev sambashare
XsessionErrors: (nautilus:3965): GConf-CRITICAL **: gconf_value_free: assertion `value != NULL' failed 11/06/2009
dmi.bios.vendor: Intel Corp.
dmi.bios.version: RQG4110H.86A.0012.2009.1106.1345
dmi.board.asset.tag: To be filled by O.E.M. DG41RQ
dmi.board.vendor: Intel Corporation
dmi.board.version: AAE54511-201
dmi.chassis.type: 3
dmi.modalias: dmi:bvnIntelCorp.:bvrRQG4110H.86A.0012.2009.1106.1345:bd11/06/2009:svn:pn:pvr:rvnIntelCorporation:rnDG41RQ:rvrAAE54511-201:cvn:ct3:cvr:
version.libdrm2: libdrm2 2.4.23-1ubuntu3
version.libgl1-mesa-glx: libgl1-mesa-glx 7.10-1ubuntu1
version.xserver-xorg: xserver-xorg 1:7.5+6ubuntu8
version.xserver-xorg-video-ati: xserver-xorg-video-ati 1:6.13.2+git20110124.fadee040-0ubuntu1
version.xserver-xorg-video-intel: xserver-xorg-video-intel 2:2.14.0-1ubuntu2
version.xserver-xorg-video-nouveau: xserver-xorg-video-nouveau 1:0.0.16+git20110107+b795ca6e-0ubuntu1

Related branches

Omer Akram (om26er) wrote :
Omer Akram (om26er) wrote :

normal compiz works fine the crash happens when unity is enabled, but it used to work 2days old daily build

visibility: private → public
tags: added: compiz-0.9

 __kernel_vsyscall ()
 *__GI_raise (sig=6)
 *__GI_abort () at abort.c:59

Changed in compiz (Ubuntu):
importance: Undecided → Medium
tags: removed: need-i386-retrace
Doug McMahon (mc3man) wrote :

just to add - this is also seen with nvidia hardware though the break here occurred before the X* updates, most likely with recent updates to compiz/unity/nux
So no unity/nvidia support on A2 at all.

affects: unity → nouveau
Changed in compiz (Ubuntu):
status: New → Confirmed
Doug McMahon (mc3man) wrote :

As a small note - Using an AGP card (nvidia 7800) the current compiz, unity, Xserver,, work, pce-i cards return the noted error
(others have also reported success w/ 6000 series AGP cards

affects: compiz (Ubuntu) → mesa (Ubuntu)

When you use the experimental Gallium3D driver of Nouveau to enable DRI, Compiz will actually try to run, but it will be abort because of the following assertion error:
"compiz: nv50_pc_emit.c:863: emit_flop: Assertion `STYPE(i, 0) == 0x09' failed."

It seems that this only happens with PCI-E cards that have the NV50 chip.

There is an 'xorg.log' at <>. An unprocessed stacktrace can be found at <>, the stacktrace processed by Apport at <>.
 __kernel_vsyscall ()
 *__GI_raise (sig=6)
 *__GI_abort () at abort.c:59

This bug was originally reported by several people in Ubuntu on Launchpad, the master bug report can be found at <>. You can find many more log files at this bug report, and attached to its duplicates.
If you need something specifically, please ask!

Also to add this is used to work with mesa 7.9 the update to 7.10 broke things.

Sense Egbert Hofstede (sense) wrote :

I can confirm this bug on an up-to-date installation of natty—I just marked my own bug #717164 a duplicate of this—with a PCI-E Nvidia Geforce 9600GT (the Asus EN9600GT).
The assertion error is exactly the same for me.

Changed in nouveau:
importance: Undecided → Unknown
status: New → Unknown
Changed in nouveau:
importance: Unknown → Medium
status: Unknown → Confirmed
Chris Halse Rogers (raof) wrote :

I've found the commit which fixes this, and should push the patch shortly.

Changed in mesa (Ubuntu):
assignee: nobody → Chris Halse Rogers (raof)
status: Confirmed → In Progress

This is fixed by the nv50 part of the commit:
commit 7401590dedf6f2abb1f0f0db988be90acb1fb84f
Author: Christoph Bumiller <email address hidden>
Date: Mon Feb 7 14:54:17 2011 +0100

    nv50,nvc0: do not forget to apply sign mode to saved TGSI inputs

diff --git a/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c b/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c
index d6b80c3..ce9300a 100644
--- a/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c
+++ b/src/gallium/drivers/nv50/nv50_tgsi_to_nc.c
@@ -1130,7 +1130,7 @@ emit_fetch(struct bld_context *bld, const struct tgsi_full_instruction *insn,
       res = bld_saved_input(bld, idx, swz);
       if (res && (insn->Instruction.Opcode != TGSI_OPCODE_TXP))
- return res;
+ break;

       res = new_value(bld->pc, bld->ti->input_file, type);
       res-> = bld->ti->input_map[idx][swz];

I've done a piglit run on my NV98 system against the 7.10 branch; this shows no difference with or without the cherry-pick. So this doesn't regress anything obvious, but there's also clearly a piglit test to be written :).

Doug McMahon (mc3man) wrote :

have tried the commit here, seems to be ok, unity loaded up and is working.
nvidia 8600m - hardware as shown in bug #712005
only installed the experimental package from rebuild.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package mesa - 7.10.1~git20110215.cc1636b6-0ubuntu1

mesa (7.10.1~git20110215.cc1636b6-0ubuntu1) natty; urgency=low

  * Merge from Debian. Remaining Ubuntu changes:
   - debian/control
      + Drop lesstif-dev from Build-Depends; it's in Universe.
      + Comment out GLw libs since it depends on lesstif-dev.
      + Drop i686 swx11 libgl package.
      + Add libdrm-dev to mesa-common-dev Depends.
      + Drop [linux-any] qualifier from libudev-dev to fix pbuilder FTBFS
        (see deb bug 600823)
    - debian/rules
      + Use --disable-glw for swx11 targets too.
      + Don't enable motif for swx11 targets.
      + Use lzma compression for binary debs to save CD space.
      + Drop unloved mach64 driver.
      + Install both r300/r300g and r600/r600g
    - debian/patches
      + 100_no_abi_tag.patch
      + 101_ubuntu_hidden_glname.patch
      + 103_savage-expose_fbmodes_with_nonzero_alpha.patch
    - rules, libgl1-mesa-{glx,dev,swx11,swx11-dev}.install,
      libgl1-mesa-{glx,swx11}.{postinst,prerm}, libgl1-mesa-dev.links:
      Install* in /usr/lib/mesa to allow things to work with
    - debian/gbp.conf
      + Point at Ubuntu branch to make git-buildpackage less narky.
    - debian/patches/105_use_shared_libdricore.patch, debian/rules:
      + Link DRI drivers against shared dricore routines to save CD space.
    - debian/patches/109_fix_length_of_glxgetfbconfigssgix.patch:
      Fix "BadLength (poly request too large or internal Xlib length"
      when using non-C, non-en locales. (LP 714280)
    - debian/patches/108_fix_leaks_dri2_screen_creation.patch: Cherrypick
      to fix some leaks in DRI2 screen creation failure paths.
  * New upstream snapshot from 7.10 release branch.
  * debian/patches/10_fix_talloc_linking.diff:
    - Drop. Upstream has replaced talloc with an in-tree replacement
  * debian/patches/105_use_shared_libdricore.patch:
    - Refresh for talloc-dropping buildsystem changes.
  * debian/patches/107_winsys_buffer_nullptr.patch:
    - Drop. Included upstream.
  * debian/patches/110_nv50_fix_tgsi_sign_mode.diff:
    - Cherry-pick from master. Fixes assert hit by Unity on nv5x hardware
      (LP: #710588)
  * debian/control:
    - Drop no-longer-used libtalloc-dev build-dependency.
  * debian/not-installed:
    - Remove i686 files from not-installed list; we don't build the i686 swx11
 -- Christopher James Halse Rogers <email address hidden> Wed, 16 Feb 2011 10:37:07 +1100

Changed in mesa (Ubuntu):
status: In Progress → Fix Released
Changed in nouveau:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.