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: > > > > > ast provides its own malloc/free, and those calls are mapped > > > > > to _ast_malloc/_ast_free in the ksh/ast code for opensolaris builds > > > > > so that call to free() in the stack trace was not done directly by > > > > > any ksh/ast code > > > > > > > > I believe this is a bad idea. On Solaris it'd be best to use the global > > > > malloc()/free() from libc (or interposed via pre-loading). > > > > > > > > Rationales: > > > > > > > > - you'll end up with two allocators, which means... > > > > - ...you need to be real sure that some allocation won't be free()ed by > > > > the wrong allocator, and... > > > > - you need to make sure no more than one allocator uses brk()/sbrk(); > > > > > > Again, this is not a problem, as long as: > > > > > > 1. neither sbrk() user assumes that consecutive calls return > > > consecutive addresses, > > > 2. no-one calls brk() to back up the break. > > > > Can you please test whether the problem goes away if you do a $ export > > VMCHECK=m # before running the test (this _requires_ at least libast > > from B106 or higher) ? > > nope.
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 ? > zsh: IOT instruction (core dumped) VMCHECK=m LC_ALL=en_US.ISO8859-1 > /usr/bin/type type Does the problem still happen if you use "bash" instead of "zsh" ? ---- Bye, Roland -- __ . . __ (o.\ \/ /.o) roland.mainz at nrubsig.org \__\/\/__/ MPEG specialist, C&&JAVA&&Sun&&Unix programmer /O /==\ O\ TEL +49 641 3992797 (;O/ \/ \O;)