Bug 824384 - Resolution changes in loop on guest results in Sigabrt
Summary: Resolution changes in loop on guest results in Sigabrt
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: spice-server
Version: 6.3
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Yonit Halperin
QA Contact: Desktop QE
URL:
Whiteboard:
: 863495 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-05-23 11:30 UTC by Marian Krcmarik
Modified: 2018-12-01 17:26 UTC (History)
10 users (show)

Fixed In Version: spice-server-0.12.0-1.el6
Doc Type: Bug Fix
Doc Text:
Cause: In red_wait_pipe_item_sent red_worker increased and decreased the reference to the pipe item using channel_cbs->hold_item, and channel_cbs->release_item. These calls can be called only by red_channel Consequence: display_channel_client_release_item_before_push is called twice and leads to a double call to ring_remove(&dpi->base). Fix: Instead ref/put_drawable_pipe_item are called. Result: For each item ring_remove is called once, as it should. spice-server does not abort.
Clone Of:
Environment:
Last Closed: 2013-02-21 10:03:05 UTC
Target Upstream Version:


Attachments (Terms of Use)
Backtrace from qemu-kvm when doing multiple resolution changes (3.39 KB, text/plain)
2012-05-23 11:30 UTC, Marian Krcmarik
no flags Details
fix patch 1 (3.01 KB, patch)
2012-05-24 08:33 UTC, Yonit Halperin
no flags Details | Diff
proposed fix patch 2 (2.45 KB, patch)
2012-05-24 08:33 UTC, Yonit Halperin
no flags Details | Diff


Links
System ID Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 326063 None None None Never
Red Hat Product Errata RHBA-2013:0529 normal SHIPPED_LIVE spice-server bug fix and enhancement update 2013-02-20 21:51:04 UTC

Description Marian Krcmarik 2012-05-23 11:30:40 UTC
Created attachment 586315 [details]
Backtrace from qemu-kvm when doing multiple resolution changes

Description of problem:
When doing resolution changes in a loop on guest, qemu-kvm process crashes with sigabrt, Sometimes I need to wait for longer time, sometimes It occurs after several resolution changes.
Following ASSERT os raised:
dev_destroy_surfaces: ASSERT !worker->surfaces[i].context.canvas failed

I am attaching bt from qemu-kvm process

Version-Release number of selected component (if applicable):
spice-server-0.10.1-10.el6.x86_64
qemu-kvm-0.12.1.2-2.292.el6.x86_64
spice-gtk-0.11-10.el6.x86_
WindowsXP guest with qxl driver with off-screen surfaces support installed 


How reproducible:
100% (If you try long enough)

Steps to Reproduce:
1. Connect to a Windows guest with qxl driver installed.
2. Run resolution changes in loop
  
Actual results:
sigabrt is catch on qemu-kvm process.

Expected results:
Smooth resolution changes.

Additional info:

Comment 1 Christophe Fergeau 2012-05-23 11:43:41 UTC
This is
spice_assert(ring->next != NULL && ring->prev != NULL);
triggering in spice-server/common/ring.h

How do you do these resolution changes in a loop? Manually or do you have a tool to do that?

Comment 3 Marian Krcmarik 2012-05-23 12:02:45 UTC
(In reply to comment #1)
> This is
> spice_assert(ring->next != NULL && ring->prev != NULL);
> triggering in spice-server/common/ring.h
> 
> How do you do these resolution changes in a loop? Manually or do you have a
> tool to do that?

I am running the script from bug #578845.

Comment 4 Yonit Halperin 2012-05-24 08:33:03 UTC
Created attachment 586577 [details]
fix patch 1

Comment 5 Yonit Halperin 2012-05-24 08:33:37 UTC
Created attachment 586578 [details]
proposed fix patch 2

Comment 6 Yonit Halperin 2012-05-24 08:36:24 UTC
The bug can occur when the primary surface or all the surfaces are destroyed (e.g., resolution changes, reset, switching users).

Comment 8 Marian Krcmarik 2012-07-27 16:38:12 UTC
RHEL6.4 QA ACK

Comment 13 errata-xmlrpc 2013-02-21 10:03:05 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2013-0529.html

Comment 14 Christophe Fergeau 2013-05-30 09:32:20 UTC
*** Bug 863495 has been marked as a duplicate of this bug. ***


Note You need to log in before you can comment on or make changes to this bug.