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


---------------------------------------------------------------------------



Reply via email to