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 <[email protected]> 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" <[email protected]> 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 [email protected]
> ==========================================================================
> "The earth is but one country, and mankind its citizens." -- Baha'u'llah
signature.asc
Description: Message signed with OpenPGP
