gcl-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: posix_spawn


From: Kirill A. Korinsky
Subject: Re: posix_spawn
Date: Sat, 23 Dec 2023 18:17:35 +0100

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 <camm@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" <kirill@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         camm@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

[Prev in Thread] Current Thread [Next in Thread]