From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tokarev Subject: Re: Another SIGFPE in display code, now in cirrus Date: Fri, 07 May 2010 11:54:44 +0400 Message-ID: <4BE3C744.8080609@msgid.tls.msk.ru> References: <4BE32178.2090103@msgid.tls.msk.ru> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit To: KVM list Return-path: Received: from isrv.corpit.ru ([81.13.33.159]:47397 "EHLO isrv.corpit.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754076Ab0EGHyq (ORCPT ); Fri, 7 May 2010 03:54:46 -0400 In-Reply-To: <4BE32178.2090103@msgid.tls.msk.ru> Sender: kvm-owner@vger.kernel.org List-ID: 07.05.2010 00:07, Michael Tokarev wrote: > There was a bug recently fixed in vnc code. Apparently > there's something similar in the cirrus emulation as well. > Here it triggers _always_ (including old versions of kvm) > when running windows NT and hitting "test" button in its > display resolution dialog. Here's what gdb is to say: > > Program received signal SIGFPE, Arithmetic exception. > [Switching to Thread 0xf76cab70 (LWP 580)] > 0x080c5e45 in cirrus_do_copy (s=0x86134dc, dst=960000, src=0, w=2, h=9) > at hw/cirrus_vga.c:687 > 687 sx = (src % ABS(s->cirrus_blt_srcpitch)) / depth; > (gdb) p s->cirrus_blt_srcpitch > $2 = 0 [] > This qemu-kvm-0.12.3 - actually a debian package of it, > but there's no patches relevant to video applied. I just tried current qemu-kvm/master, it crashes at exactly the same place: Program received signal SIGFPE, Arithmetic exception. [Switching to Thread 0xf79dfb70 (LWP 10840)] 0x0821b4ca in cirrus_do_copy (s=0x85dc7ac) at hw/cirrus_vga.c:687 687 sx = (src % ABS(s->cirrus_blt_srcpitch)) / depth; (gdb) bt #0 0x0821b4ca in cirrus_do_copy (s=0x85dc7ac) at hw/cirrus_vga.c:687 #1 cirrus_bitblt_videotovideo_copy (s=0x85dc7ac) at hw/cirrus_vga.c:748 #2 cirrus_bitblt_videotovideo (s=0x85dc7ac) at hw/cirrus_vga.c:870 #3 cirrus_bitblt_start (s=0x85dc7ac) at hw/cirrus_vga.c:1011 #4 0x0821d009 in cirrus_vga_mem_writel (opaque=0x85dc7ac, addr=98320, val=960000) at hw/cirrus_vga.c:2120 #5 0x0811d147 in cpu_physical_memory_rw (addr=753680, buf=0xf7fdc390 "", len=4, is_write=1) at exec.c:3475 #6 0x0807b462 in cpu_physical_memory_write () at cpu-common.h:67 #7 kvm_flush_coalesced_mmio_buffer () at kvm-all.c:808 #8 0x0807cc2e in kvm_run (env=0x84c4650) at qemu-kvm.c:575 #9 0x0807d10c in kvm_cpu_exec (env=0x84c4650) at qemu-kvm.c:1192 #10 0x0807ec0a in kvm_main_loop_cpu (_env=0x84c4650) at qemu-kvm.c:1449 #11 ap_main_loop (_env=0x84c4650) at qemu-kvm.c:1495 #12 0xf7fad3d0 in start_thread () from /lib/libpthread.so.0 #13 0xf7cbf10e in clone () from /lib/libc.so.6 > Anything can be done with it? > > Thanks! /mjt