qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] Re: [PATCH] Fix segfault with ram_size > 4095M without


From: Aurelien Jarno
Subject: Re: [Qemu-devel] Re: [PATCH] Fix segfault with ram_size > 4095M without kvm
Date: Thu, 6 Jan 2011 15:48:22 +0100
User-agent: Mutt/1.5.18 (2008-05-17)

On Wed, Jan 05, 2011 at 01:04:51PM -0600, Ryan Harper wrote:
> * Ryan Harper <address@hidden> [2011-01-04 09:49]:
> > * Aurelien Jarno <address@hidden> [2010-12-25 16:37]:
> > > On Wed, Dec 08, 2010 at 04:27:45PM -0200, Luiz Capitulino wrote:
> > > > On Wed, 08 Dec 2010 12:23:12 -0600
> > > > Anthony Liguori <address@hidden> wrote:
> > > > 
> > > > > On 12/08/2010 12:01 PM, Luiz Capitulino wrote:
> > > > > > Currently, x86_64-softmmu qemu segfaults when trying to use>  4095M 
> > > > > > memsize.
> > > > > > This patch adds a simple check and error message (much like the 
> > > > > > 2047 limit on
> > > > > > 32-bit hosts) on ram_size in the control path after we determine 
> > > > > > we're
> > > > > > not using kvm
> > > > > >
> > > > > > Upstream qemu-kvm is affected if using the -no-kvm option; this 
> > > > > > patch address
> > > > > > the segfault there as well.
> > > > > >
> > > > > > Signed-off-by: Ryan Harper<address@hidden>
> > > > > > Signed-off-by: Aurelien Jarno<address@hidden>
> > > > > > ---
> > > > > > NOTE: this patch was applied in the v0.12.x branch, but it seems it 
> > > > > > got
> > > > > >        lost for master
> > > > > >    
> > > > > 
> > > > > No, it was intentional.  We should fix the segv, this is not a known 
> > > > > limitation but rather a bug.
> > > > 
> > > > A TCG bug, I presume?
> > > > 
> > > 
> > > Do you have more details about this issue and how to reproduce it? 
> > 
> > At the time of the bug, it was something simple like:
> > 
> > qemu-system-x86_64 -m 4097 -hda /dev/null
> > 
> > we'd get an imediate segfault.  As you say, I'm not seeing it now on
> > current git; I'll see about bisecting to see if we did get a fix for the
> > issue.
> 
> I attempted to bisect, but there a couple commits around where the issue
> was fixed that broke git bisect =(  That narrowed it down to about 5
> commits to check.
> 
> This the last git commit where I can reproduce the segfault with the
> above test case (qemu invocation).
> 
> commit 0aef4261ac0ec9089ade0e3a92f986cb4ba7317e
> Author: Aurelien Jarno <address@hidden>
> Date:   Thu Mar 11 21:29:42 2010 +0100
> 
>     target-ppc: fix evsrwu and evsrws (second try)
>     
>     Signed-off-by: Aurelien Jarno <address@hidden>
> 
> 
> The next 4 commits don't compile so they are untest-able:
> 
> commit 14f24e1465edc44b9b4d89fbbea66e06088154e1
>  - fails to build with:
>     - ./configure --target-list=x86_64-softmmu && make clean && make
> /home/rharper/work/git/qemu/exec.c: In function 'phys_page_find_alloc':
> /home/rharper/work/git/qemu/exec.c:341: error: #error unsupported 
> TARGET_PHYS_ADDR_SPACE_BITS
> /home/rharper/work/git/qemu/exec.c: In function 'phys_page_for_each':
> /home/rharper/work/git/qemu/exec.c:1670: error: #error unsupported 
> TARGET_PHYS_ADDR_SPACE_BITS
> make[1]: *** [exec.o] Error 1
> make: *** [subdir-x86_64-softmmu] Error 2
> 
> commit 7bc7b099dfa38a856b1bc892c0f9f3d6fe28e170
>  - fails to build with:
>     - ./configure --target-list=x86_64-softmmu && make clean && make
> /home/rharper/work/git/qemu/exec.c: In function 'phys_page_find_alloc':
> /home/rharper/work/git/qemu/exec.c:341: error: #error unsupported 
> TARGET_PHYS_ADDR_SPACE_BITS
> /home/rharper/work/git/qemu/exec.c: In function 'phys_page_for_each':
> /home/rharper/work/git/qemu/exec.c:1670: error: #error unsupported 
> TARGET_PHYS_ADDR_SPACE_BITS
> make[1]: *** [exec.o] Error 1
> make: *** [subdir-x86_64-softmmu] Error 2
> 
> commit b9f83121a13153536d886305414b540460c34508
>  - fails to build with:
>     - ./configure --target-list=x86_64-softmmu && make clean && make
> /home/rharper/work/git/qemu/exec.c: In function 'phys_page_find_alloc':
> /home/rharper/work/git/qemu/exec.c:341: error: #error unsupported 
> TARGET_PHYS_ADDR_SPACE_BITS
> /home/rharper/work/git/qemu/exec.c: In function 'phys_page_for_each':
> /home/rharper/work/git/qemu/exec.c:1670: error: #error unsupported 
> TARGET_PHYS_ADDR_SPACE_BITS
> make[1]: *** [exec.o] Error 1
> make: *** [subdir-x86_64-softmmu] Error 2
> 
> commit 5270589032f450ae7c3448730855aa18ff68ccff
>  - fails to build with:
>     - ./configure --target-list=x86_64-softmmu && make clean && make
> /home/rharper/work/git/qemu/exec.c: In function 'phys_page_find_alloc':
> /home/rharper/work/git/qemu/exec.c:341: error: #error unsupported 
> TARGET_PHYS_ADDR_SPACE_BITS
> /home/rharper/work/git/qemu/exec.c: In function 'phys_page_for_each':
> /home/rharper/work/git/qemu/exec.c:1670: error: #error unsupported 
> TARGET_PHYS_ADDR_SPACE_BITS
> make[1]: *** [exec.o] Error 1
> make: *** [subdir-x86_64-softmmu] Error 2
> 
> 
> And this commit compiles and the test case no longer segfaults.  So I'd
> say things are fixed at this point.
> 
> commit 5cd2c5b6ad75c46d40118ac67c0c09d4e7930a65
> - compiles and issue is no longer present.
>     - ./configure --target-list=x86_64-softmmu && make clean && make &&
>     sudo x86_64-softmmu/qemu-syem-x86_64 -L pc-bios -hda /dev/null -m 4097
> 

It's more likely this commit which fixes the bug.

-- 
Aurelien Jarno                          GPG: 1024D/F1BCDB73
address@hidden                 http://www.aurel32.net



reply via email to

[Prev in Thread] Current Thread [Next in Thread]