Re: /⍨
Hi Hudson, thanks, fixed in SVN 1564. Looks like the parallel locks were just too fine-grained. Best Regards, Jürgen On 6/12/22 3:07 PM, hud...@hudsonlacerda.com wrote: Hi Jürgen, Yes, that case is fixed now. I have found another issue, that only happens if the number of cores is >1. Best, Hudson - Em 11 de Jun de 2022, em 13:43, Dr. Jürgen Sauermann mail@jürgen-sauermann.de escreveu: Hi Hudson, I believe I fixed 120× (?⍨120),¨⍳120. SVN 1562 . Best Regards, Jürgen On 6/9/22 5:17 PM, [ mailto:hud...@hudsonlacerda.com | hud...@hudsonlacerda.com ] wrote: Hi Jürgen, Many thanks. Building GNU APL with default ./configure options work fine overall. I noticed that my config options (compiler version, core count, develop wanted, assert, etc.) are overriden by "make develop" or "make parallel[1]". However, any attempt to use more than one core causes errors (like below). I am not sure whether I should continue to try parallel processing and report such exceptions, since it is experimental in GNU APL, and I do not have expertise to significantly help you debugging the program in a different plataform. Cheers, Hudson PS. Executable scripts are working fine now. ]log 26 Log facility 'details of error throwing ' is now ON ]log 25 Log facility 'more verbose errors ' is now ON ⎕syl[26;2]←2 120× (?⍨120),¨⍳120 throwing DOMAIN ERROR throwing DOMAIN ERROR at Cell.cc:156 at Cell.cc:156 -- Stack trace at Error.cc:198 0x76A6F7FD __libc_start_main 0x55618205 main 0x557A91F5 Workspace::immediate_execution(bool) 0x5567F5DBCommand::process_line() 0x5567F678 Command::finish_context() 0x5568C8D8 Executable::execute_body() const 0x557457CC StateIndicator::run() 0x556C8CC0Prefix::reduce_statements() 0x556C27FC Prefix::reduce_A_F_B_() 0x55744975 Bif_F12_TIMES::eval_AB(Value_P, Value_P) const 0x55741730 ScalarFunction::eval_scalar_AB(Value const&, Value const&, ErrorCode (Cell::*)(Cell*, Cell const*) const) const 0x557406F1ScalarFunction::do_scalar_AB(ErrorCode&, Value const&, Value const&, ErrorCode (Cell::*)(Cell*, Cell const*) const) const 0x5573FDB2 ScalarFunction::PF_scalar_AB(Thread_context&) 0x55662C47 0x5568C6B1 throw_apl_error(ErrorCode, char const*) DOMAIN ERROR+ 120×(?⍨120),¨⍳120 ^ ^ total_lines in apl.lines: 752472 assembler lines in apl.lines: 169513 source line numbers found:169513 -- Stack trace at Error.cc:198 0x21B7DD80 0x163799 Parallel::worker_main(void*) at Parallel.cc:381 0x1EBDB2 ScalarFunction::PF_scalar_AB(Thread_context&) at Shape.hh:211 0x10EC47 0x1386B1 throw_apl_error(ErrorCode, char const*) at Error.cc:203 DOMAIN ERROR+ 120×(?⍨120),¨⍳120 ^ ^ terminate called after throwing an instance of 'Error' Thread 2 "apl" received signal SIGABRT, Aborted. [Switching to Thread 0x754f2640 (LWP 69811)] __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. (gdb) (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49 #1 0x76a6e546 in __GI_abort () at abort.c:79 #2 0x76e08909 in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #3 0x76e13f2a in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #4 0x76e13f95 in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #5 0x76e141e8 in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #6 0x5568c724 in throw_apl_error(ErrorCode, char const*) (code=code@entry=E_DOMAIN_ERROR, loc=loc@entry=0x557c10b6 "Cell.cc:156") at Error.cc:213 #7 0x55662c47 in Cell::get_pointer_value() const (this=0x55950460) at Cell.cc:156 #8 0x5573fdb2 in ScalarFunction::PF_scalar_AB(Thread_context&) (tctx=...) at ScalarFunction.cc:655 #9 0x556b7799 in Parallel::worker_main(void*) (arg=0x559582e0) at Parallel.cc:380 #10 0x770d1d80 in start_thread (arg=0x754f2640) at pthread_create.c:481 #11 0x76b4676f in clone () at ../sysdeps/unix/sysv/linux/x86_64/
Re: /⍨
Hi Jüergen. Yes, those issues with parrallel are fixed. Now we have this: ⊃/(1 2 3 4)(9 8 7 6) throwing RANK ERROR at Bif_F12_PARTITION_PICK.cc:646 total_lines in apl.lines: 838342 assembler lines in apl.lines: 509803 source line numbers found:504988 -- Stack trace at Error.cc:198 0x28D5DAAA47FD __libc_start_main 0xBD585 main at main.cc:635 0x29DDE5 Workspace::immediate_execution(bool) at Workspace.cc:236 0x13FF51Command::process_line() at Command.cc:103 0x140013 Command::finish_context() at Command.cc:347 0x14FB08 Executable::execute_body() const at Executable.cc:268 0x22FF6C StateIndicator::run() at StateIndicator.cc:359 0x197536Prefix::reduce_statements() at Prefix.cc:723 (discriminator 4) 0x194F6D Prefix::reduce_MISC_F_B_() at Value_P.icc:78 0x148CEA DerivedFunction::eval_B(Value_P) const at Value_P.icc:78 0x11B375 Bif_OPER1_REDUCE::eval_LB(Token&, Value_P) const at Value_P.icc:78 0x117269Bif_REDUCE::reduce(Token&, Value_P, unsigned int) at Value_P.icc:78 0x11686D Bif_REDUCE::do_reduce(Shape const&, Shape3 const&, long, Function const*, Value_P, long) at Value_P.icc:78 0xFC972 Bif_F12_PICK::eval_AB(Value_P, Value_P) const at Value_P.icc:78 0xFC628 Bif_F12_PICK::pick(Cell const*, long, long, Value_P, long) at Bif_F12_PARTITION_PICK.cc:633 (discriminator 2) 0x14F881throw_apl_error(ErrorCode, char const*) at Error.cc:203 RANK ERROR ⊃/(1 2 3 4) (9 8 7 6) ^^ == Assertion failed: get_pointer_cell_count() == 0 in Function: ~Value in file: Value.cc:454 C/C++ call stack: -- Stack trace at Assert.cc:72 0x28D5DAAA47FD __libc_start_main 0xBD585 main at main.cc:635 0x29DDE5 Workspace::immediate_execution(bool) at Workspace.cc:236 0x13FF51Command::process_line() at Command.cc:103 0x140013 Command::finish_context() at Command.cc:347 0x14FB08 Executable::execute_body() const at Executable.cc:268 0x22FF6C StateIndicator::run() at StateIndicator.cc:359 0x197536Prefix::reduce_statements() at Prefix.cc:723 (discriminator 4) 0x194F6D Prefix::reduce_MISC_F_B_() at Value_P.icc:78 0x148CEA DerivedFunction::eval_B(Value_P) const at Value_P.icc:78 0x11B375 Bif_OPER1_REDUCE::eval_LB(Token&, Value_P) const at Value_P.icc:78 0x117269Bif_REDUCE::reduce(Token&, Value_P, unsigned int) at Value_P.icc:78 0xAD7F5 at Bif_OPER1_REDUCE.cc:380 0xC6451 Value_P::~Value_P() at Value_P.icc:81 0x28ED59 Value::~Value() at Value.hh:973 0x28ECB7Value::~Value() at Value.cc:454 0xDC821 do_Assert(char const*, char const*, char const*, int) at Assert.cc:74 SI stack: Depth: 0 Exec: 0x563a45575c60 Safe exec: 0 Pmode: ◊ ⊃/(1 2 3 4)(9 8 7 6) PC: 4 (5) RETURN_STATS Stat: ⊃/(1 2 3 4)(9 8 7 6) err_code: 0x50002 thrown at: Bif_F12_PARTITION_PICK.cc:646 e_msg_1:'RANK ERROR' e_msg_2:' ⊃/(1 2 3 4) (9 8 7 6)' e_msg_3:' ^^' == terminate called after throwing an instance of 'ErrorCode' Abortado (imagem do núcleo gravada) (gdb) bt #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:49 #1 0x7f6322441546 in __GI_abort () at abort.c:79 #2 0x7f63227db909 in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #3 0x7f63227e6f2a in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #4 0x7f63227e5f99 in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #5 0x7f63227e66b6 in __gxx_personality_v0 () at /lib/x86_64-linux-gnu/libstdc++.so.6 #6 0x7f6322415934 in () at /lib/x86_64-linux-gnu/libgcc_s.so.1 #7 0x7f6322415ff1 in _Unwind_RaiseException () at /lib/x86_64-linux-gnu/libgcc_s.so.1 #8 0x7f63227e71db in __cxa_throw () at /lib/x86_64-linux-gnu/libstdc++.so.6 #9 0x557629796809 in do_Assert(char const*, char const*, char const*, int) (cond=cond@entry=0x5576299a36ab "get_pointer_cell_count() == 0", fun=fun@entry=0x5576299a366d "~Value", file=file@entry=0x5576299a3664 "Value.cc", line=line@entry=454) at Assert.cc:88 #10 0x557629948cb7 in Value::~Value() (this=0x55762bc82d00, __in_chrg=) at Value.cc:454 #11 0x557629948d59 in Value::~Value() (this=0x55762bc82d00, __in_chrg=) at Value.cc:468 #12 0x557629780451 in Value::decrement_owner_count(char const*) (loc=, this=) at /home/hudson/Programas/gnu-apl/trunk/src/Value.hh:866 #13 Value_P::~Value_P() (this=0x7ffed4c0ab78, __in_chrg=) at /home/hudson/Programas/gnu-apl/trunk/src/Value_P.