Greetings!  Might want to try figures between 0.1 and 1.0 to see where
it breaks.  At least we know you are emulating sbrk now as in the past.

This error is in reference to mac specific code contributed by a
knowledgeable user quite some time ago in unexmacosx.c:

void init_darwin_zone_compat () {

  extern unsigned malloc_num_zones;
  extern malloc_zone_t **malloc_zones;
  unsigned nmzc;
  malloc_zone_t *mzc[10];
  unsigned i;

  nmzc=malloc_num_zones;
  assert(nmzc<=sizeof(mzc)/sizeof(*mzc));
  memcpy(mzc,malloc_zones,nmzc*sizeof(*mzc));

  gcl_zone=&gcl_zone_body;

  gcl_zone->size               = (void *) stub_size;
  gcl_zone->malloc             = (void *) stub_malloc;
  gcl_zone->calloc             = (void *) stub_calloc;
  gcl_zone->valloc             = (void *) stub_valloc;
  gcl_zone->realloc            = (void *) stub_realloc;
  gcl_zone->free               = (void *) stub_free;
  gcl_zone->destroy            = (void *) stub_free;
  gcl_zone->batch_malloc       = (void *) stub_malloc;
  gcl_zone->batch_free         = (void *) stub_free;

#ifdef HAVE_MALLOC_ZONE_MEMALIGN
  gcl_zone->free_definite_size = (void *) stub_free;
  gcl_zone->memalign           = (void *) stub_memalign;
#endif

  for (i=0;i<nmzc;i++)
    malloc_zone_unregister(mzc[i]);

  /* Make our zone the default zone.  */
  malloc_zone_register (gcl_zone);
  for (i=0;i<nmzc;i++)
    malloc_zone_register (mzc[i]);

}

Pretty sure you are calling this function just once unless
CAN_UNRANDOMIZE_SBRK is defined in your config.h.  This pertains to my
previous comments that your configure output appeared to be able to
unrandomize sbrk even though it wasn't going to use it.  Is this defined
in h/gclincl.h?

Take care,

"Kirill A. Korinsky" <kir...@korins.ky> writes:

> Hello,
>
>  On 24. Dec 2023, at 15:34, Camm Maguire <c...@maguirefamily.org> wrote:
>
>  Please export the environment variable GCL_MEM_MULTIPLE=0.1 or similar
>  to limit gcl to 1/10 of system memory.  There are also ways to do this
>  at the lisp level in terms of absolute instead of percentage figures.
>
> build stuck with output:
>
>  ar x libpre_gcl.a $(ar t libpre_gcl.a |grep ^gcl_)
>  /Users/catap/src/gcl/gcl/unixport/raw_pre_gcl 
> /Users/catap/src/gcl/gcl/unixport/ -libdir /Users/catap/src/gcl/gcl/ < foo
>  raw_pre_gcl(82333,0x105781600) malloc: Attempted to register zone more than 
> once: 0x1007272c8
>
> meanwhile raw_pre_gcl consumes 100% CPU core.

-- 
Camm Maguire                                        c...@maguirefamily.org
==========================================================================
"The earth is but one country, and mankind its citizens."  --  Baha'u'llah

Reply via email to