From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Lfmdd-0006r6-EG for qemu-devel@nongnu.org; Fri, 06 Mar 2009 21:51:45 -0500 Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Lfmdb-0006qD-IB for qemu-devel@nongnu.org; Fri, 06 Mar 2009 21:51:44 -0500 Received: from [199.232.76.173] (port=41929 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Lfmdb-0006q7-BW for qemu-devel@nongnu.org; Fri, 06 Mar 2009 21:51:43 -0500 Received: from mail-qy0-f124.google.com ([209.85.221.124]:33118) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1Lfmdb-0007WQ-0h for qemu-devel@nongnu.org; Fri, 06 Mar 2009 21:51:43 -0500 Received: by qyk30 with SMTP id 30so428720qyk.4 for ; Fri, 06 Mar 2009 18:51:42 -0800 (PST) Message-ID: <49B1E13C.9060900@codemonkey.ws> Date: Fri, 06 Mar 2009 20:51:40 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] SIGSEGV on Windows with KQEMU enabled References: In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Reply-To: qemu-devel@nongnu.org List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Consul wrote: > First, the current SVN (6731) does not compile on Windows due to > missing asprintf. With what toolkit? It builds for me. Regards, Anthony Liguori > This hack lets me compile the app, but running a Windows XP image > gives SIGSEGV during the boot. > As Robert mentioned in another thread it might be a binutils bug after > all - I'm using 2.19 - > but it might be as well a kqemu bug. The crash happens in kqemu.c. See > the trace below. > > Note: SIGSEGV does not happens with -no-kqemu > > =================================================================== > --- vnc.c (revision 6731) > +++ vnc.c (working copy) > @@ -62,10 +62,14 @@ > err, gai_strerror(err)); > return NULL; > } > - > +#ifndef _WIN32 > if (asprintf(&addr, format, host, serv) < 0) > return NULL; > - > +#else > + if (!(addr = malloc(512))) > + return NULL; > + sprintf(addr, format, host, serv); > +#endif > return addr; > } > > =================================================================== > > Starting program: c:\test\qemu/i386-softmmu/qemu.exe -L c:\qemu-dist > -hda c:\qemu-img\wxp.q2 -fda c:\qemu-img\boot.bin -boot c -localtime > -m 512 -soundhw es1370 -net nic,model=rtl8139 -net tap,ifname=TAP0 > -kernel-kqemu > [New thread 3488.0xd48] > [New thread 3488.0xde0] > [New thread 3488.0xcb0] > [New thread 3488.0xfb0] > [New thread 3488.0xba8] > [New thread 3488.0x3bc] > [New thread 3488.0x484] > > Program received signal SIGSEGV, Segmentation fault. > kqemu_cpu_exec (env=0x2ef9eff8) at c:/test/qemu/kqemu.c:475 > 475 asm volatile ("fxrstor %0" : "=m" (*fp)); > (gdb) bt > #0 kqemu_cpu_exec (env=0x2ef9eff8) at c:/test/qemu/kqemu.c:475 > #1 0x004ac1e6 in cpu_x86_exec (env1=0x806ef000) > at c:/test/qemu/cpu-exec.c:317 > #2 0x00407f38 in qemu_get_timedate (tm=, offset=1) > at c:/test/qemu/vl.c:1816 > #3 0x00000000 in ?? () > (gdb) > > > >