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: Ryan Harper
Subject: Re: [Qemu-devel] Re: [PATCH] Fix segfault with ram_size > 4095M without kvm
Date: Wed, 5 Jan 2011 13:04:51 -0600
User-agent: Mutt/1.5.6+20040907i

* 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


-- 
Ryan Harper
Software Engineer; Linux Technology Center
IBM Corp., Austin, Tx
address@hidden



reply via email to

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