On Mon, 23 Feb 2009 16:00:08 +0100 Roland Mainz wrote:
> Edward Pilatowicz wrote:
> > On Sat, Feb 21, 2009 at 03:58:38PM +0100, Roland Mainz wrote:
> > > Edward Pilatowicz wrote:
> > > > On Wed, Feb 18, 2009 at 07:55:00PM +0100, Roland Mainz wrote:
> > > > > Jonathan Adams wrote:
> > > > > > On Wed, Feb 18, 2009 at 11:39:02AM -0600, Nicolas Williams wrote:
> > > > > > > On Sun, Feb 15, 2009 at 01:21:28AM -0500, Glenn Fowler wrote:
> [snip]
> > > Uhm... that sounds like a "|sbrk()|/|brk()|-consumer collision" can be
> > > ruled-out in this case (VMCHECK=m forces the libast allocator to use
> > > |mmap()| for memory allocations (and a different allocation layout)).
> > >
> > > > ---8<---
> > > > edp at jurassic-x4600$ uname -a
> > > > SunOS jurassic-x4600 5.11 snv_108 i86pc i386 i86pc
> > > > edp at jurassic-x4600$ VMCHECK=m LC_ALL=en_US.ISO8859-1 /usr/bin/type 
> > > > type
> > > > assertion failed: *membgn != patterns[pattern], file: 
> > > > ../common/malloc.c, line: 93
> > >
> > > Where does this assertion come from ?
> > 
> > http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/sgs/rtld/common/malloc.c#93

can you compile and run this test against a malloc that has the above assertion 
activated
---
#include <stdlib.h>
#include <stdint.h>
#include <stdio.h>

int main()
{
        uint64_t*       p;
        int             i;
        int             n = 8 * 1024;;

        if (!(p = malloc(n * sizeof(*p))))
        {
                fprintf(stderr, "malloc(%d) FAILED\n", n * sizeof(*p));
                return 1;
        }
        for (i = 0; i < n; i++)
                p[i] = 0xdeadbeefdeadbeefULL;
        free(p);
        return 0;
}
---


Reply via email to