[FFe: spice] error on x startup

Bug #1056381 reported by Serge Hallyn
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
spice (Ubuntu)
Fix Released
Undecided
Unassigned
spice-protocol (Ubuntu)
Fix Released
Undecided
Unassigned
xserver-xorg-video-qxl (Ubuntu)
Fix Released
High
Timo Aaltonen

Bug Description

FFe:

New upstream versions needed for spice to work with quantal. Serge tested and reported (on irc) that the new versions work and fixed the original bug.

--

When installing a new quantal VM from the desktop iso, (or when selecting 'Try ubuntu' from that iso), when x starts up it crashes and the X low resolution failsafe dialog comes up.

Tags: quantal
Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

Here is the gdb output from apport-retrace:

GNU gdb (GDB) 7.5-ubuntu
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Reading symbols from /tmp/tmp8_Sp88/usr/bin/Xorg...Reading symbols from /tmp/tmp8_Sp88/usr/lib/debug/usr/bin/Xorg...done.
done.
[New LWP 901]
warning: Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
warning: the debug information found in "/tmp/tmp8_Sp88/usr/lib/debug/usr/lib/libXfont.so.1.4.1" does not match "/tmp/tmp8_Sp88/usr/lib/libXfont.so.1" (CRC mismatch).

Core was generated by `/usr/bin/X :0 -core -auth /var/run/lightdm/root/:0 -nolisten tcp vt7 -novtswitc'.
Program terminated with signal 6, Aborted.
#0 0x00007f6eaa5e2405 in __GI_raise (sig=<optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
64 ../nptl/sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) where
#0 0x00007f6eaa5e2405 in __GI_raise (sig=<optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007f6eaa5e5b6b in __GI_abort () at abort.c:91
#2 0x00007f6eaa5db0ce in __assert_fail_base (fmt=<optimized out>,
    assertion=0x7f6eac7da158 "!screen_specific_private[type]",
    file=0x7f6eac7da036 "../../dix/privates.c", line=<optimized out>,
    function=<optimized out>) at assert.c:94
#3 0x00007f6eaa5db172 in __GI___assert_fail (
    assertion=assertion@entry=0x7f6eac7da158 "!screen_specific_private[type]",
    file=file@entry=0x7f6eac7da036 "../../dix/privates.c", line=line@entry=560,
    function=function@entry=0x7f6eac7da490 <__PRETTY_FUNCTION__.13574> "dixPrivatesSize")
    at assert.c:103
#4 0x00007f6eac6924ae in dixPrivatesSize (type=type@entry=PRIVATE_PIXMAP)
    at ../../dix/privates.c:560
#5 0x00007f6ea94370ea in qxl_screen_init (pScreen=pScreen@entry=0x7f6eae798020,
    argc=argc@entry=11, argv=argv@entry=0x7fff504c7968) at ../../src/qxl_driver.c:1200
#6 0x00007f6eac675ce5 in AddScreen (pfnInit=0x7f6ea9436dd0 <qxl_screen_init>,
    argc=argc@entry=11, argv=argv@entry=0x7fff504c7968) at ../../dix/dispatch.c:3830
#7 0x00007f6eac6b73e3 in InitOutput (pScreenInfo=0x7f6eac6affd0 <xf86SetDGAMode>,
    pScreenInfo@entry=0x7f6eaca56da0 <screenInfo>, argc=argc@entry=11,
    argv=argv@entry=0x7fff504c7968) at ../../../../hw/xfree86/common/xf86Init.c:913
#8 0x00007f6eac664386 in main (argc=11, argv=0x7fff504c7968, envp=<optimized out>)
    at ../../dix/main.c:204

Changed in xserver-xorg-video-qxl (Ubuntu):
status: New → Confirmed
importance: Undecided → High
Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

(marking confirmed as it has been seen by both stgraber and myself)

Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

The failing assert is a new one which was not present in precise:

    assert (!screen_specific_private[type]);

The type passed in is PRIVATE_PIXMAP, and:

static const Bool screen_specific_private[PRIVATE_LAST] = {
    [PRIVATE_SCREEN] = FALSE,
    [PRIVATE_CLIENT] = FALSE,
    [PRIVATE_WINDOW] = TRUE,
    [PRIVATE_PIXMAP] = TRUE,
    [PRIVATE_GC] = TRUE,
    [PRIVATE_CURSOR] = FALSE,
    [PRIVATE_COLORMAP] = FALSE,
    [PRIVATE_DEVICE] = FALSE,
    [PRIVATE_EXTENSION] = FALSE,
    [PRIVATE_SELECTION] = FALSE,
    [PRIVATE_PROPERTY] = FALSE,
    [PRIVATE_PICTURE] = TRUE,
    [PRIVATE_GLYPHSET] = FALSE,
};

i.e. screen_specific_private[PRIVATE_PIXMAP] is true- whatever that means.

Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

looks like upstream may be fixed.

Changed in xserver-xorg-video-qxl (Ubuntu):
assignee: nobody → Serge Hallyn (serge-hallyn)
Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

commit 4a43bd436c58dae72f91905657a36158efc68907 (src/qxl_driver: use the new dixScreenSpecificPrivatesSize) fixes that particular bug. However login still fails with just that one (I immediately am dumped back at the login prompt). Trying to cherrypick more commits to see if they help.

Revision history for this message
Serge Hallyn (serge-hallyn) wrote :

Ok, for a full fix allowing me to log into unity, we need:

1. spice-protocol and spice updated to 0.12 from debian and upstream respectively. Both quite simple

2. The upstream git commits up to and including 37c97620da959d9214abfc760835aa3031d54daa pushed onto the xserver-xorg-video-qxl package. Later commits cause compilation failures (due to needing at least still-newer spice, and perhaps newer xserver

With that, I can pull up firefox, the dash, spread workspaces, and pull up xterm from the dash.

I have not tested to make sure that qemu-linaro (the source package to kvm-spice) won't have a problem with the newer spice, but I shouldn't expect it to.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

Can't we just pull -qxl 0.1.0? According to the git branch it should just need spice 0.12 and xserver 1.13, latter which we already have.

tags: added: quantal
Revision history for this message
Serge Hallyn (serge-hallyn) wrote : Re: [Bug 1056381] Re: error on x startup

Quoting Timo Aaltonen (<email address hidden>):
> Can't we just pull -qxl 0.1.0? According to the git branch it should
> just need spice 0.12 and xserver 1.13, latter which we already have.
>
> ** Tags added: quantal

If that works that should be fine. I didn't have xserver 1.13 and so
didn't test compilation of -qxl 0.1.0 with that. I only knew that it
failed.

Changed in xserver-xorg-video-qxl (Ubuntu):
assignee: Serge Hallyn (serge-hallyn) → nobody
Revision history for this message
Serge Hallyn (serge-hallyn) wrote : Re: error on x startup

spice, spice-protocol and qxl with proposed patches packages are built in ppa:serge-hallyn/virt. They seem to build and work fine.

I think the lightdm screen is messed up (not sure, things are moved around) but once I login it is correct.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

I've added spice and spice-protocol to this bug for tracking the updates. Should we just move forward or do you think we need an FFe? Sounds pretty much broken right now, so fixing it should be a priority despite the new version numbers :)

Changed in xserver-xorg-video-qxl (Ubuntu):
assignee: nobody → Timo Aaltonen (tjaalton)
Revision history for this message
Serge Hallyn (serge-hallyn) wrote : Re: [Bug 1056381] Re: error on x startup

Quoting Timo Aaltonen (<email address hidden>):
> I've added spice and spice-protocol to this bug for tracking the
> updates. Should we just move forward or do you think we need an FFe?

I've asked on #ubuntu-release yesterday - FFE is not needed for qxl, and
the feeling seemed to be that it's not needed for spice, though we should
ask again.

> Sounds pretty much broken right now, so fixing it should be a priority
> despite the new version numbers :)

Have you been able to build-test your suggestion, with a full new
xserver and the full new qxl release?

Revision history for this message
Timo Aaltonen (tjaalton) wrote : Re: error on x startup

haven't got that far yet, but hopefully tomorrow.

Revision history for this message
Launchpad Janitor (janitor) wrote :

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

Changed in spice (Ubuntu):
status: New → Confirmed
Changed in spice-protocol (Ubuntu):
status: New → Confirmed
Timo Aaltonen (tjaalton)
summary: - error on x startup
+ (FFe) error on x startup
description: updated
summary: - (FFe) error on x startup
+ [FFe: spice] error on x startup
Revision history for this message
Serge Hallyn (serge-hallyn) wrote :
  • p Edit (1.5 KiB, text/plain)

Changelogs for the relevant packages (spice, spice-protocol, and xserver-xorg-video-qxl) from current quantal versions to the proposed new versions.

Revision history for this message
Stéphane Graber (stgraber) wrote :

spice-protocol:

Major changes in 0.12.2
=======================
* Add A8 surface capability in display channel.
* Add to qxl device support for:
 * client present
 * client capabilities
 * client monitors configuration

Major changes in 0.12.1
=======================
* Support seamless migration.
* New QXLComposite message for better X support.
* Support arbitrary scancode message INPUTS_KEY_SCANCODE.

Major changes in 0.12.0
=======================
* Add support for arbitrary resolution on Windows QXL with
  QXL_ESCAPE_SET_CUSTOM_DISPLAY
* Add support for arbitrary resolution and multiple monitor per
  display channel with QXLMonitorsConfig and co
* build cleanup

Major changes in 0.10.3 (0.10.2 was never released)
===================================================
* Add support for video streams with differently sized (wxh) data
* Add controller messages for USB redirection, COLOR_DEPTH, DISABLE_EFFECTS,
  and ENABLE_SMARTCARD
* Add name & uuid messages on main channel
* some cleanups
* Fixes RHBZ#815422, RHBZ#807295, RHBZ#787447

Revision history for this message
Stéphane Graber (stgraber) wrote :
Download full text (11.7 KiB)

xserver-xorg-video-qxl:
commit 6520293e1e1f57bafbcf99592e766f810ce3ad2d
Author: Søren Sandmann Pedersen <email address hidden>
Date: Thu Sep 20 16:26:36 2012 -0400

    Make the checks for composite and a8 return FALSE for Xspice

    They depend on the PCI revision which is not available for Xspice.

commit 7f0b820d919eb944eae201de03b186bd247b0324
Author: Jeremy White <email address hidden>
Date: Wed Sep 12 10:38:41 2012 -0500

    Only use dixScreenSpecificPrivatesSize if we have a new enough Xorg.

    This lets us continue to support older Xorg releases.
    This reverts 4f37cd85 and partially reverts 4a43bd4.

commit fb038eb37906eba9a88e0cb6622a59f06dcc2a68
Author: Søren Sandmann <email address hidden>
Date: Wed Sep 12 12:54:06 2012 -0400

    Don't issue composite commands or create a8 surfaces when not available

    When the device or the client are not capable of composite commands or a8
    surfaces, don't issue these commands.

commit 4f37cd854f128714b8fcf3c0ab8afd72986407a0
Author: Johannes Obermayr <email address hidden>
Date: Fri Sep 7 18:05:21 2012 +0200

    Require XServer >= 1.12.99.901 in conjunction with commit 4a43bd4.

commit 7059cff787eef80f3d3345de705e912b292a9f97
Author: Søren Sandmann <email address hidden>
Date: Thu Jul 12 09:53:31 2012 -0400

    Add Render support

    This commit adds support for using the new Composite command in spice
    protocol 0.12.0. This command is similar to the Composite request in
    the X Render protocol.

    By implementing the UXA composite stubs, we get acceleration for most
    common Composite requests, including glyphs.

commit 2fecf3a171e64ca0dad5653ed740409dc5af2edf
Author: Søren Sandmann <email address hidden>
Date: Tue Dec 20 09:01:17 2011 -0500

    Enable 8 bit pixmaps.

    a8 surfaces are now supported with the 8BIT_A format in spice, so we
    can have support 8 bit pixmaps.

commit 37c97620da959d9214abfc760835aa3031d54daa
Author: Søren Sandmann <email address hidden>
Date: Sun Aug 12 11:03:16 2012 -0400

    Use an RGBA format for 32 bit images

    With the upcoming Render changes, we can no longer assume that the
    fourth channel of images is unused.

commit 1e89aab2dc0beb01f43a2397faa05a8cd01a7547
Author: Søren Sandmann <email address hidden>
Date: Wed Aug 22 15:27:09 2012 -0400

    uxa: Plug leak in uxa_glyphs_via_masks

    If prepare_composite() fails, we need to free the temporary mask
    before returning.

commit afd8d20b84a4b4e9b22483e379d594517333e8c7
Author: Søren Sandmann <email address hidden>
Date: Tue Aug 14 14:20:11 2012 -0400

    uxa-glyphs: don't prepare composite when dest is not offscreen

    It is possbible for a pixmap to not be in video memory after
    uxa_clear_pixmap() was called. When this happens, we need to destroy
    the pixmap and return 1 to indicate that the operation can't be
    accelerated.

commit e738d00e1fb3cd469f850765e2b42976c2a85764
Author: Søren Sandmann <email address hidden>
Date: Tue Aug 21 12:56:52 2012 -0400

    Improved support for memory debugging.

    Make all memory allocation functions take a string that will explain
    what the memory will be used for. This allows debug print sta...

Revision history for this message
Stéphane Graber (stgraber) wrote :

spice:
Major changes in 0.12.0:
========================
* Stable Release
* support setting client monitor configuration via device
 QXLInterface::client_monitors_config
* support notifying guest of client capabilities
 QXLInterface::set_client_capabilities
* new capability for A8 Surface support
* Enable build on armv6+
* Option to quit server after first client disconnects
 spice_server_set_exit_on_disconnect

Major changes in 0.11.3:
========================
* !Development Release!
* This entry contains all 0.11.0 .. 0.11.3 changes.
* Support seamless migration: no loss of in transit messages. Still not
  supported for agent, smartcard and usb.
* Support a new rendering message, Composite, for much improved linux guest
  performance.
* Support arbitrary resolution & multiple monitors on a single display channel.
* Improved keyboard handling under network latency with new
  SPICE_MSGC_INPUTS_KEY_SCANCODE message.
* New libspice-server.so symbols:
 spice_server_set_seamless_migration
 spice_server_vm_stop
 spice_server_vm_start
 spice_qxl_monitors_config_async
* New capabilities:
 SPICE_DISPLAY_CAP_COMPOSITE
 SPICE_DISPLAY_CAP_MONITORS_CONFIG
 SPICE_INPUTS_CAP_KEY_SCANCODE
 SPICE_MAIN_CAP_AGENT_CONNECTED_TOKENS
 SPICE_MAIN_CAP_SEAMLESS_MIGRATE
* Misc:
 * char_device.c: Introducing shared flow control code for char devices
 * Enable build without client, cegui and slirp.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package spice - 0.12.0-0ubuntu1

---------------
spice (0.12.0-0ubuntu1) quantal; urgency=low

  * New upstream release 0.12.0. (LP: #1056381)
 -- Serge Hallyn <email address hidden> Tue, 25 Sep 2012 15:48:21 -0500

Changed in spice (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Michael Casadevall (mcasadevall) wrote :

I've granted a FFE on this. I've reviewed the code changes in all the packages, and is fairly low and the current amount of breakage is quite high. In review of the code, given the vast majority of code merely adds new enums and structs I believe risk of regression is acceptable.

Packages released from the queue.

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package xserver-xorg-video-qxl - 0.1.0-0ubuntu1

---------------
xserver-xorg-video-qxl (0.1.0-0ubuntu1) quantal; urgency=low

  * Merge from unreleased debian git. (LP: #1056381)

xserver-xorg-video-qxl (0.1.0-1) UNRELEASED; urgency=low

  [ Maarten Lankhorst ]
  * New upstream release.

  [ Timo Aaltonen ]
  * control: Bump build-dep on libspice-protocol-dev to >= 0.12.2~.
 -- Timo Aaltonen <email address hidden> Tue, 02 Oct 2012 00:20:35 +0300

Changed in xserver-xorg-video-qxl (Ubuntu):
status: Confirmed → Fix Released
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package spice-protocol - 0.12.2-0ubuntu1

---------------
spice-protocol (0.12.2-0ubuntu1) quantal; urgency=low

  * New upstream release. (LP: #1056381)
 -- Serge Hallyn <email address hidden> Tue, 02 Oct 2012 15:47:41 -0500

Changed in spice-protocol (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Bug attachments

Remote bug watches

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