I found this code in glz_encoder.c in spice-server:
static inline void encode_64(Encoder *encoder, uint64_t word)
{
encode_32(encoder, (uint32_t)(word >> 32));
encode_32(encoder, (uint32_t)(word & 0xffffff)); // <----- is it wrong? 0xffffff should be deleted
}
On Fri, Apr 13, 2018 at 10:04 PM, Frediano Ziglio <fziglio@xxxxxxxxxx> wrote:
> Hi all,
> Sorry to be a bother.
> After a long time running of glz encode&decode (approx. 4hrs), I came across
> this error.
> The higher bits (> 24) of the image id is truncated, which makes dist less
> than id . This error seems to happen when the dist across (1<<24)
Is normal that dist is less then id.
The id, as far as I know, is incremented from 0 and is a 64 bit, not
supposed to overflow, is truncated to get the slot and should not be a
problem. The same check "w->images[slot]->hdr.id == id - dist" is done in
wait_for_image which should return TRUE and so "image && image->hdr.id == wait->id"
should be true.
Could be that g_coroutine_condition_wait returned FALSE? I think that just calling
SPICE_DEBUG is a bug.
Frediano
> Can you help me solve this problem?
> Many thanks.
> Best regards,
> Zhongqiang Huang
Zhongqiang Huang
Department of Cognitive Science, Xiamen University, China
Tel: +86 137-7993-0982
_______________________________________________ Spice-devel mailing list Spice-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/spice-devel