Just checking my understanding : 'gcl-devel' crashes in a different place, and both of these are only with the posix_spawn patch, right?
Take care, "Kirill A. Korinsky" <[email protected]> writes: > 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. -- Camm Maguire [email protected] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah
