Bug 824384 - Resolution changes in loop on guest results in Sigabrt
Resolution changes in loop on guest results in Sigabrt
Status: CLOSED ERRATA
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: spice-server (Show other bugs)
6.3
Unspecified Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Yonit Halperin
Desktop QE
:
: 863495 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2012-05-23 07:30 EDT by Marian Krcmarik
Modified: 2014-07-01 07:58 EDT (History)
10 users (show)

See Also:
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.
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-02-21 05:03:05 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


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


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Knowledge Base (Solution) 326063 None None None Never

  None (edit)
Description Marian Krcmarik 2012-05-23 07:30:40 EDT
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 07:43:41 EDT
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 08:02:45 EDT
(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 04:33:03 EDT
Created attachment 586577 [details]
fix patch 1
Comment 5 Yonit Halperin 2012-05-24 04:33:37 EDT
Created attachment 586578 [details]
proposed fix patch 2
Comment 6 Yonit Halperin 2012-05-24 04:36:24 EDT
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 12:38:12 EDT
RHEL6.4 QA ACK
Comment 13 errata-xmlrpc 2013-02-21 05:03:05 EST
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 05:32:20 EDT
*** 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.