[Qemu-devel] [Bug 682326] [NEW] linux-user/mmap exhaustion

2010-11-28 Thread Brian Harring
Public bug reported: Currently when executing a linux-user target, mmap.c is in use- the model it uses internally for figuring out what the mmap address actually should be basically is an accumulator, every mmap invocation (regardless of munmap's that cleared the previous usage) is center on the n

[Qemu-devel] [Bug 682326] Re: linux-user/mmap exhaustion

2010-11-28 Thread Brian Harring
** Attachment added: "0001-try-to-reuse-recently-freed-mmap-space-to-reduce-gue.patch" https://bugs.launchpad.net/bugs/682326/+attachment/1747588/+files/0001-try-to-reuse-recently-freed-mmap-space-to-reduce-gue.patch -- linux-user/mmap exhaustion https://bugs.launchpad.net/bugs/682326 You r

[Qemu-devel] [Bug 668799] Re: qemu-arm segfaults executing msgmerge (gettext)

2010-11-28 Thread Brian Harring
Additional note... it *looks* like the deadlock potential is there already in 0.13, it's just heavily exacerbated by this patch- out of about 600 builds I've seen 2 lockup in the same fashion (rate was far higher with the patch on this ticket). -- qemu-arm segfaults executing msgmerge (gettext) h

[Qemu-devel] [Bug 668799] Re: qemu-arm segfaults executing msgmerge (gettext)

2010-11-28 Thread Brian Harring
@Peter, that patch, against 0.13 results in some odd deadlocks; specifically a racey deadlock during signal handling best I can tell. Attached is an strac'ing of the make process- nothing special, just forking off some children, wait'ing on the results- if you look earlier in the log you'll see th

[Qemu-devel] [Bug 656285] Re: arm-semi mishandling SYS_HEAPINFO

2010-11-27 Thread Brian Harring
Pardon, badly phrased on my part- basically we can get either -1 or old. If we changed that conditional w/in arm-semi.c to: if (-1 != limit && limit != ts->heap_base) { that should do the trick in a cross platform way, although we'll have to tweak the for loop to handle when limit degrades to 0.

[Qemu-devel] [Bug 656285] Re: arm-semi mishandling SYS_HEAPINFO

2010-11-27 Thread Brian Harring
Look through linux-user/syscall.c; looks like the flaw is more in do_brk itself. Invocations of do_brk *appear* to all assume that it's basically brk like in it's behaviour- -1 on failure, else a non-negative value of what the size now is. So... your patch is breaking away from proper behaviour,