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 ---------------------------------------------------------------------------