[Spice-devel] Win 7 guest immediately freezes when starting Outlook?2010

Christophe Fergeau cfergeau at redhat.com
Mon Feb 10 05:14:31 PST 2014


On Mon, Feb 10, 2014 at 01:56:36PM +0100, Mario wrote:
> One update on this issue:
> 
> I used the lastest code (git) and tried to reproduce the error. And
> it was a bit different now. Because with the latest libspice from
> the repository the issue occurs less often. But now the qemu process
> is terminating with this bt:
> 
> #0  0x00007fd321f7c1b5 in raise () from
> /opt/tocario/autohost/make/target/default/tmp/lib/libc.so.6
> #1  0x00007fd321f7efc0 in abort () from
> /opt/tocario/autohost/make/target/default/tmp/lib/libc.so.6
> #2  0x00007fd322c5c4ea in spice_logv (log_domain=0x7fd322cd2aa6
> "Spice", log_level=SPICE_LOG_LEVEL_ERROR, strloc=<optimized out>,
>     function=0x7fd322cd54e0
> "mjpeg_encoder_adjust_params_to_bit_rate", format=0x7fd322cd2a90
> "assertion `%s' failed", args=<optimized out>)
>     at log.c:109
> #3  0x00007fd322c5c62a in spice_log (log_domain=0x161d <Address
> 0x161d out of bounds>, log_level=5667, strloc=0x6 <Address 0x6 out
> of bounds>,
>     function=0xffffffffffffffff <Address 0xffffffffffffffff out of
> bounds>, format=0xa <Address 0xa out of bounds>) at log.c:123
> #4  0x00007fd322c09037 in mjpeg_encoder_adjust_params_to_bit_rate
> (encoder=<optimized out>) at mjpeg_encoder.c:627
> #5  mjpeg_encoder_start_frame (encoder=0x7fd28cbf81f0,
> format=SPICE_BITMAP_FMT_RGBA, width=500, height=<optimized out>,
> dest=0x7fd28c288748,
>     dest_len=0x7fd294bfe7c8, frame_mm_time=281149889) at
> mjpeg_encoder.c:755

I've been hitting this occasionnally and is not specific to outlook as this
occurs with linux guests too. This is caused by the mjpeg streaming code
which triggers on areas of the screen which get refreshed very often.

> As it looks the spice_assert(rate_control->num_recent_enc_frames)
> terminates the process.
> 
> Now my question - is this assert neccesary? The next statement will
> check the value of num_recent_enc_frames in any case and goto end
> within this function in the case num_recent_enc_frames is zero,
> doesn´t it?

This assert() may have been added as a warning "If you are modifying this
code and are ever reaching this assert with num_recent_enc_frames set to 0,
then you are doing something very wrong". The next statement is not
specifically checking the value is 0, but if it's smaller than something
else.
So maybe it can be removed, but imo this needs a bit more investigation.

Christophe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 181 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/spice-devel/attachments/20140210/d8d767b6/attachment.pgp>


More information about the Spice-devel mailing list