From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:57662) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YiOCz-0002Q5-LV for qemu-devel@nongnu.org; Wed, 15 Apr 2015 10:22:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YiOCv-0007LS-Ks for qemu-devel@nongnu.org; Wed, 15 Apr 2015 10:22:29 -0400 Received: from mx1.redhat.com ([209.132.183.28]:38042) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YiOCv-0007LL-Ff for qemu-devel@nongnu.org; Wed, 15 Apr 2015 10:22:25 -0400 Message-ID: <1429107741.6219.22.camel@nilsson.home.kraxel.org> From: Gerd Hoffmann Date: Wed, 15 Apr 2015 16:22:21 +0200 In-Reply-To: References: <1428995693-26275-1-git-send-email-kraxel@redhat.com> <1429099527.1257.1.camel@nilsson.home.kraxel.org> Content-Type: text/plain; charset="UTF-8" Mime-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [Spice-devel] [PATCH] spice: fix simple display on bigendian hosts List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Denis Kirjanov Cc: spice-devel@lists.freedesktop.org, qemu-devel@nongnu.org On Mi, 2015-04-15 at 15:55 +0300, Denis Kirjanov wrote: > On 4/15/15, Gerd Hoffmann wrote: > > On Di, 2015-04-14 at 17:47 +0300, Denis Kirjanov wrote: > >> On 4/14/15, Denis Kirjanov wrote: > >> > On 4/14/15, Denis Kirjanov wrote: > >> >> On 4/14/15, Gerd Hoffmann wrote: > >> >>> Denis Kirjanov is busy getting spice run on ppc64 and trapped into > >> >>> this > >> >>> one. Spice wire format is little endian, so we have to explicitly > >> >>> say > >> >>> we want little endian when letting pixman convert the data for us. > >> >>> > >> >>> Reported-by: Denis Kirjanov > >> >>> Signed-off-by: Gerd Hoffmann > >> >>> --- > >> >> Yeah, that fixes the issue. Thanks Gerd! > >> > > >> > Looks like that the patch fixes the half of the problem: the inverted > >> > colors appear on client reconnect to vm > >> > >> Program received signal SIGSEGV, Segmentation fault. > >> 0x00007ffff4e10258 in ?? () from > >> /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 > >> (gdb) bt > >> #0 0x00007ffff4e10258 in ?? () from > >> /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 > >> #1 0x00007ffff4e10239 in pixman_image_unref () from > >> /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 > >> #2 0x00007ffff78e4117 in canvas_get_quic > >> (canvas=canvas@entry=0x7ceb80, image=image@entry=0xae2720, > >> want_original=want_original@entry=0) at > >> ../spice-common/common/canvas_base.c:390 > > > > spice client crash? > > is this spice client running on big endian or little endian machine? > > it's running on x86_64 as shown in the stack trace. Hmm. spice client should not crash no matter what. But beside that it is entirely possible that there is a byteswap missing somewhere in either qemu or spice-server where bigendian is sent instead of little endian, which in turn triggers the bug in the client. IIRC spice protocol support was added to wireshark a while back, so it should be possible to run tests and compare traces to le + be hosts to see whenever there is something wrong in the wire format. Which should help tracing down the bug in the source code. HTH, Gerd