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