>> > > 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


Sounds like a bug in the assertion.  At free() time, you cannot test
the current value written by the application.

Instead, the assertion should be against NEWMEM and making sure that the
free'd memory wasn't touched.

Casper


Reply via email to