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

Re: next meeting: Monday Feb 10, 10:00 - 12:00 CET



Dear all,

> My understanding of the issue was to munmap of a chunk inside an mmapped 
> region, which requires a full mmap/munmap implementation (we don't have 
> currently). I'm not sure where the code that causes the ABORT lives and maybe 
> it can be difficult to trigger the situation?

`abort` would be triggered by a `free(x)` where `x` is not the result
of a `malloc`.
As I didn’t manage to create an example using the compactor that would
run into such a situation and I couldn’t find at which point in the
code that could be triggered, I reached out to Sadiq. He confirmed
that our implementation is correct.
What happens is that, as pools are allocated by the GC, they will
probably follow each other in the virtual memory address space; the
compactor might decide to release a pool in the middle of that
sequence of pools, so we’ll end up with (coarse-grained) fragmentation
with our `malloc`/`free` implementation. But it will be valid
nevertheless!

(That’s a relief :-))

-- 
Samuel



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.