I did a bit more wired things. I add to each line inside siLheap_report a 
printf like this:

static void
FFN(siLheap_report)(void) {

  int i;

  check_arg(0);
  printf("1\n");fflush(stdout);

  vs_check_push(make_fixnum(sizeof(fixnum)*CHAR_SIZE));
  printf("2\n");fflush(stdout);
  vs_push(make_fixnum(PAGESIZE));
  printf("3\n");fflush(stdout);
  vs_push(make_fixnum((ufixnum)data_start));
  printf("4\n");fflush(stdout);
  vs_push(make_fixnum((ufixnum)data_start+(real_maxpage<<PAGEWIDTH)));
  printf("5\n");fflush(stdout);
  vs_push(make_fixnum(0));/*SHARED_LIB_HEAP_CEILING*/
  printf("6\n");fflush(stdout);
  i=sizeof(fixnum)*CHAR_SIZE-2;
  printf("7\n");fflush(stdout);
  i=1<<i;
  printf("8\n");fflush(stdout);
  vs_push(make_fixnum(((unsigned long)cs_base+i-1)&-i));
  printf("9\n");fflush(stdout);
  vs_push(make_fixnum(labs(cs_base-cs_org)));
  printf("10\n");fflush(stdout);
  vs_push(make_fixnum((CSTACK_DIRECTION+1)>>1));
  printf("11\n");fflush(stdout);
  vs_push(make_fixnum(CSTACK_ALIGNMENT));
  printf("12\n");fflush(stdout);
  vs_push(make_fixnum(labs(cs_limit-cs_org)));/*CSSIZE*/
  printf("13\n");fflush(stdout);
  vs_push(make_fixnum(phys_pages));
...

and it fails at the end like this.

SYSTEM>(init-system)
loading 
/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_s.lsp
loading 
/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_sf.lsp
loading 
/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_rm.lsp
loading 
/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_dl.lsp
loading 
/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_fle.lsp
loading 
/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_defmacro.lsp
loading 
/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_hash.lsp
loading 
/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_evalmacros.lsp
loading 
/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_module.lsp
loading 
/opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_predlib.lsp
1
2
3
4
5
6
7
8
zsh: illegal hardware instruction  ./raw_pre_gcl
catap@Kirills-mini-m1 unixport %

So, it seems clear which line triggers an issue O:-)

Thus, I've changed the problem line to

  printf("8\n");fflush(stdout);
  make_fixnum(((unsigned long)cs_base+i-1)&-i);
  printf("9\n");fflush(stdout);

and it crashes the same way.

--
wbr, Kirill

> On 23. Dec 2023, at 18:07, Camm Maguire <c...@maguirefamily.org> wrote:
> 
> Greetings, and thanks so much!  Could you please put a
> printf("spawn");fflush(stdout); right before the patch and repeat?  This
> code should not be relevant at this point.
> 
> Take care,
> 
> "Kirill A. Korinsky" <kir...@korins.ky> writes:
> 
>> Here it is:
>> 
>> SYSTEM>(init-system)
>> loading 
>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_s.lsp
>> loading 
>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_sf.lsp
>> loading 
>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_rm.lsp
>> loading 
>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_dl.lsp
>> loading 
>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_fle.lsp
>> loading 
>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_defmacro.lsp
>> loading 
>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_hash.lsp
>> loading 
>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_evalmacros.lsp
>> loading 
>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_module.lsp
>> loading 
>> /opt/local/var/macports/build/_opt_local_var_macports_sources_github.com_catap_macports-ports_lang_gcl/gcl-devel/work/01ed2e0b2f540031171d2258ddccb951735827e7/gcl/unixport/../lsp/gcl_predlib.lsp
>> zsh: illegal hardware instruction  ./raw_pre_gcl ./
>> catap@Kirills-mini-m1 unixport %
>> 
>> thus, meanwhile I made some investigation and localized the crash exact line 
>> in siLheap_report function:
>> vs_push(make_fixnum(((unsigned long)cs_base+i-1)&-i));
>> 
>> I've tried to remove vs_push and it doesn't change anything.
> 
> --
> Camm Maguire                                      c...@maguirefamily.org
> ==========================================================================
> "The earth is but one country, and mankind its citizens."  --  Baha'u'llah

Attachment: signature.asc
Description: Message signed with OpenPGP

Reply via email to