Hi Jürgen,
----- Em 7 de Jun de 2022, em 13:56, Dr. Jürgen Sauermann
mail@jürgen-sauermann.de escreveu:
> Hi Hudson,
>
> I believe that I fixed the double execution for executable scripts,
> Looks like the OS handles executable scripts differently than
> non-executable ones. SVN 1560 .
Thanks.
Now, executable scripts need "-f" to be run directly ( ./script.apl ).
#!/usr/bin/env -S apl -s -f
Otherwise, apl waits for stdin input (the script is not executed),
and apl cannot be terminated by killall apl — only by ")off" or kill <PNUM>.
>
> The F ← {⍵ × (?⍨⍵) ,¨ ⍳⍵} bug is something that I cannot reproduce.
> I wonder if it happens always or lnly sometimes.
It happened always, for ⍵>35 around. But the errors were different
for every argument value. See attachment.
> I have some suggestions
> for you and others that make my life easier:
>
> * run " make develop " in the top-level directory.
>
[...]
Thank you for the explanation. It was useful.
After some testing, my conclusions are:
1) The errors seem be caused by parallel processing. I was using
./configure DEVELOP_WANTED=yes CORE_COUNT_WANTED=2
(Now I run ./configure without options.)
2) With make develop / make apl.lines / ./apl, the program worked fine
inside src/ directory.
3) I got the same bugs after "sudo make install", running /usr/local/bin/apl.
4) No problems if "sudo make uninstall" before reconfiguring and recompiling.
That suggests me that some residues of previous versions were remaining.
5) README-2-configure suggests running
autoreconf --force --install
./configure
make
but I need also calling autoupdate:
autoupdate
autoreconf --force --install
./configure
make
Best regards,
Hudson
Reading symbols from ./apl...
warning: core file may not match specified executable file.
[New LWP 191833]
[New LWP 191832]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
Core was generated by `./apl -l 25 -l 26'.
Program terminated with signal SIGABRT, Aborted.
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
49 ../sysdeps/unix/sysv/linux/raise.c: Arquivo ou diretório inexistente.
[Current thread is 1 (Thread 0x7f59a5a1c640 (LWP 191833))]
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49
#1 0x00007f59a6f98546 in __GI_abort () at abort.c:79
#2 0x00007f59a7332909 in () at /lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007f59a733df2a in () at /lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007f59a733df95 in () at /lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007f59a733e1e8 in () at /lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x000055f713425d13 in throw_apl_error(ErrorCode, char const*)
(code=code@entry=E_DOMAIN_ERROR, loc=loc@entry=0x55f713592a03
"Cell.cc:156") at Error.cc:213
#7 0x000055f7133f8eb7 in Cell::get_pointer_value() const (this=0x55f715326460)
at Cell.cc:156
#8 0x000055f713501b72 in ScalarFunction::PF_scalar_AB(Thread_context&)
(tctx=...) at ScalarFunction.cc:654
#9 0x000055f713457ff9 in Parallel::worker_main(void*) (arg=0x55f71532ded0) at
Parallel.cc:380
#10 0x00007f59a75fbd80 in start_thread (arg=0x7f59a5a1c640) at
pthread_create.c:481
#11 0x00007f59a707076f in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:95
-----------------------------------------------------------------------------------
9120à (?â¨9120),¨â³9120
throwing DOthrowing DOMAIN ERROR at Cell.cc:1MAIN ERROR at Cell.cc:1556
6
----------------------------------------
-- Stack trace at Error.cc:198
----------------------------------------
0x7F6D947257FD __libc_start_main
0x55F6577B7415 main
0x55F65799D835 Workspace::immediate_execution(bool)
0x55F65783C2D1 Command::process_line()
0x55F65783C39F Command::finish_context()
0x55F65784BF28 Executable::execute_body() const
0x55F65793051C StateIndicator::run()
0x55F6578943D3 Prefix::reduce_statements()
0x55F65788B27C Prefix::reduce_A_F_B_()
0x55F65792F575 Bif_F12_TIMES::eval_AB(Value_P, Value_P) const
0x55F65792A8A0 ScalarFunction::eval_scalar_AB(Value const&, Value
const&, ErrorCode (Cell::*)(Cell*, Cell const*) const) const
0x55F657928F51 ScalarFunction::do_scalar_AB(ErrorCode&, Value
const&, Value const&, ErrorCode (Cell::*)(Cell*, Cell const*) const) const
0x55F657927B72 ScalarFunction::PF_scalar_AB(Thread_context&)
0x55F65781EEB7
0x55F65784BCA1 throw_apl_error(ErrorCode, char const*)
========================================
DOMAIN ERROR+
9120Ã(?â¨9120),¨â³9120
^ ^
==============================================================================
Assertion failed: get_pointer_cell_count() == 0
in Function: ~Value
in file: Value.cc:450
Call stack:
----------------------------------------
-- Stack trace at Assert.cc:72
----------------------------------------
0x7F6D947257FD __libc_start_main
0x55F6577B7415 main
0x55F65799D835 Workspace::immediate_execution(bool)
0x55F65783C2D1 Command::process_line()
0x55F65783C39F Command::finish_context()
0x55F65784BF28 Executable::execute_body() const
0x55F65793051C StateIndicator::run()
0x55F6578943D3 Prefix::reduce_statements()
0x55F65788B27C Prefix::reduce_A_F_B_()
0x55F65792F575 Bif_F12_TIMES::eval_AB(Value_P, Value_P) const
0x55F65792A8A0 ScalarFunction::eval_scalar_AB(Value const&, Value
const&, ErrorCode (Cell::*)(Cell*, Cell const*) const) const
0x55F6577B2042
0x55F6577C06F1 Value_P::~Value_P()
0x55F65798E839 Value::~Value()
0x55F65798E797 Value::~Value()
0x55F6577D6BB2 do_Assert(char const*, char const*, char const*,
int)
========================================
SI stack:
Depth: 0
Exec: 0x55f6584b7cc0
Safe exec: 0
Pmode: â 9120à (?â¨9120),¨â³9120
PC: 11 (13) ENDL
Stat: 9120à (?â¨9120),¨â³9120
err_code: 0x50004
thrown at: Cell.cc:156
e_msg_1: 'DOMAIN ERROR+'
e_msg_2: ' 9120Ã(?â¨9120),¨â³9120'
e_msg_3: ' ^ ^'
==============================================================================
terminate called after throwing an instance of 'ErrorCode'
Abortado (imagem do núcleo gravada)
---------------------------------------------------------------
120Ã(?â¨120),¨â³120
throwing DOMA
tIN ERROR at Cell.cc:156
hrowing DOMAIN ERROR at Cell.cc:156
----------------------------------------
-- Stack trace at Error.cc:198
----------------------------------------
0x7FA3B93E7D80
0x5591185A0FF9 Parallel::worker_main(void*)
0x55911864AB72 ScalarFunction::PF_scalar_AB(Thread_context&)
0x559118541EB7
0x55911856ECA1 throw_apl_error(ErrorCode, char const*)
========================================
DOMAIN ERROR+
120Ã(?â¨120),¨â³120
^ ^
terminate called after throwing an instance of 'Error'
Abortado
----------------------------------------------------------------------------
1200à (?â¨1200),¨â³1200
throwing DOMAIN ER
throwing DOMAIN ERROR at Cell.cc:156
ROR at Cell.cc:156
----------------------------------------
-- Stack trace at Error.cc:198
----------------------------------------
0x7F5998295D80
0x56446C135FF9 Parallel::worker_main(void*)
0x56446C1DFB72 ScalarFunction::PF_scalar_AB(Thread_context&)
0x56446C0D6EB7
0x56446C103CA1 throw_apl_error(ErrorCode, char const*)
========================================
DOMAIN ERROR+
1200Ã(?â¨1200),¨â³1200
^ ^
terminate called after throwing an instance of 'Error'
------------------------------------------------------------------------
7120à (?â¨7120),¨â³7120
throwing throwing DOMDOMAIN ERROR at Cell.cc:156
AIN ERROR at Cell.cc:156
----------------------------------------
-- Stack trace at Error.cc:198
----------------------------------------
0x7F40753237FD __libc_start_main
0x555E2F042415 main
0x555E2F228835 Workspace::immediate_execution(bool)
0x555E2F0C72D1 Command::process_line()
0x555E2F0C739F Command::finish_context()
0x555E2F0D6F28 Executable::execute_body() const
0x555E2F1BB51C StateIndicator::run()
0x555E2F11F3D3 Prefix::reduce_statements()
0x555E2F11627C Prefix::reduce_A_F_B_()
0x555E2F1BA575 Bif_F12_TIMES::eval_AB(Value_P, Value_P) const
0x555E2F1B58A0 ScalarFunction::eval_scalar_AB(Value const&, Value
const&, ErrorCode (Cell::*)(Cell*, Cell const*) const) const
0x555E2F1B3F51 ScalarFunction::do_scalar_AB(ErrorCode&, Value
const&, Value const&, ErrorCode (Cell::*)(Cell*, Cell const*) const) const
0x555E2F1B2B72 ScalarFunction::PF_scalar_AB(Thread_context&)
0x555E2F0A9EB7
0x555E2F0D6CA1 throw_apl_error(ErrorCode, char const*)
========================================
DOMAIN ERROR+
7120Ã(?â¨7120),¨â³7120
^ ^
==============================================================================
Assertion failed: get_pointer_cell_count() == 0
in Function: ~Value
in file: Value.cc:450
Call stack:
----------------------------------------
-- Stack trace at Assert.cc:72
----------------------------------------
0x7F40753237FD __libc_start_main
0x555E2F042415 main
0x555E2F228835 Workspace::immediate_execution(bool)
0x555E2F0C72D1 Command::process_line()
0x555E2F0C739F Command::finish_context()
0x555E2F0D6F28 Executable::execute_body() const
0x555E2F1BB51C StateIndicator::run()
0x555E2F11F3D3 Prefix::reduce_statements()
0x555E2F11627C Prefix::reduce_A_F_B_()
0x555E2F1BA575 Bif_F12_TIMES::eval_AB(Value_P, Value_P) const
0x555E2F1B58A0 ScalarFunction::eval_scalar_AB(Value const&, Value
const&, ErrorCode (Cell::*)(Cell*, Cell const*) const) const
0x555E2F03D042
0x555E2F04B6F1 Value_P::~Value_P()
0x555E2F219839 Value::~Value()
0x555E2F219797 Value::~Value()
0x555E2F061BB2 do_Assert(char const*, char const*, char const*,
int)
========================================
SI stack:
Depth: 0
Exec: 0x555e305d8d20
Safe exec: 0
Pmode: â 7120à (?â¨7120),¨â³7120
PC: 11 (13) ENDL
Stat: 7120à (?â¨7120),¨â³7120
err_code: 0x50004
thrown at: Cell.cc:156
e_msg_1: 'DOMAIN ERROR+'
e_msg_2: ' 7120Ã(?â¨7120),¨â³7120'
e_msg_3: ' ^ ^'
==============================================================================
terminate called after throwing an instance of 'ErrorCode'
Abortado
--------------------------------------------------------------------------------------------
40à (?â¨40),¨â³40
throwing DOMAIN ERROR at Cell.cc:156
throwing DOMAIN ERROR at Cell.cc:156
----------------------------------------
-- Stack trace at Error.cc:198
----------------------------------------
0x7FF2480DFD80
0x560C8B6E1FF9 Parallel::worker_main(void*)
0x560C8B78BB72 ScalarFunction::PF_scalar_AB(Thread_context&)
0x560C8B682EB7
0x560C8B6AFCA1 throw_apl_error(ErrorCode, char const*)
========================================
DOMAIN ERROR+
40Ã(?â¨40),¨â³40
^ ^
terminate called after throwing an instance of 'Error'
Abortado
---------------------------------------------------------------------------