thanks, fixed in SVN 1565.
Best Regards,
Jürgen
On 6/14/22 5:40 AM,
hud...@hudsonlacerda.com wrote:
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 0x13FF51 Command::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 0x197536 Prefix::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 0x117269 Bif_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) 0x14F881 throw_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 0x13FF51 Command::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 0x197536 Prefix::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 0x117269 Bif_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 0x28ECB7 Value::~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 0x00007f6322441546 in __GI_abort () at abort.c:79 #2 0x00007f63227db909 in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #3 0x00007f63227e6f2a in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #4 0x00007f63227e5f99 in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #5 0x00007f63227e66b6 in __gxx_personality_v0 () at /lib/x86_64-linux-gnu/libstdc++.so.6 #6 0x00007f6322415934 in () at /lib/x86_64-linux-gnu/libgcc_s.so.1 #7 0x00007f6322415ff1 in _Unwind_RaiseException () at /lib/x86_64-linux-gnu/libgcc_s.so.1 #8 0x00007f63227e71db in __cxa_throw () at /lib/x86_64-linux-gnu/libstdc++.so.6 #9 0x0000557629796809 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 0x0000557629948cb7 in Value::~Value() (this=0x55762bc82d00, __in_chrg=<optimized out>) at Value.cc:454 #11 0x0000557629948d59 in Value::~Value() (this=0x55762bc82d00, __in_chrg=<optimized out>) at Value.cc:468 #12 0x0000557629780451 in Value::decrement_owner_count(char const*) (loc=<synthetic pointer>, this=<optimized out>) at /home/hudson/Programas/gnu-apl/trunk/src/Value.hh:866 #13 Value_P::~Value_P() (this=0x7ffed4c0ab78, __in_chrg=<optimized out>) at /home/hudson/Programas/gnu-apl/trunk/src/Value_P.icc:80 #14 0x00005576297677f5 in Bif_REDUCE::do_reduce(Shape const&, Shape3 const&, long, Function const*, Value_P, long) (shape_Z=<optimized out>, Z3=<optimized out>, nwise=<optimized out>, LO=<optimized out>, B=..., bm=<optimized out>) at /home/hudson/Programas/gnu-apl/trunk/src/Value_P.icc:219 #15 0x00005576297d1269 in Bif_REDUCE::reduce(Token&, Value_P, unsigned int) (tok_LO=..., B=..., axis=<optimized out>) at /home/hudson/Programas/gnu-apl/trunk/src/Value_P.icc:219 #16 0x00005576297d5375 in Bif_OPER1_REDUCE::eval_LB(Token&, Value_P) const (this=<optimized out>, LO=..., B=...) at /home/hudson/Programas/gnu-apl/trunk/src/Value_P.icc:219 #17 0x0000557629802cea in DerivedFunction::eval_B(Value_P) const (this=0x55762bc83a10, B=...) at DerivedFunction.cc:153 #18 0x000055762984ef6d in Prefix::reduce_MISC_F_B_() (this=0x55762bc84210) at /home/hudson/Programas/gnu-apl/trunk/src/Value_P.icc:219 #19 0x0000557629851536 in Prefix::reduce_statements() (this=this@entry=0x55762bc84210) at Prefix.cc:721 #20 0x00005576298e9f6c in StateIndicator::run() (this=0x55762bc83a10) at StateIndicator.cc:357 #21 0x0000557629809b08 in Executable::execute_body() const (this=<optimized out>) at Executable.cc:261 #22 0x00005576297fa013 in Command::finish_context() () at Command.cc:341 #23 0x00005576297f9f51 in Command::process_line() () at Command.cc:103 #24 0x0000557629957de5 in Workspace::immediate_execution(bool) (exit_on_error=false) at Workspace.cc:236 --Type <RET> for more, q to quit, c to continue without paging-- #25 0x0000557629777585 in main(int, char const**) (argc=<optimized out>, argv=<optimized out>) at main.cc:633 (gdb) ----- Em 13 de Jun de 2022, em 10:53, Dr. Jürgen Sauermann mail@jürgen-sauermann.de escreveu: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, [ mailto:hud...@hudsonlacerda.com | 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ürgenOn 6/9/22 5:17 PM, [ [ mailto:hud...@hudsonlacerda.com | mailto:hud...@hudsonlacerda.com ] | [ 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, HudsonPS. 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),¨⍳120throwing DOMAIN ERROR throwing DOMAIN ERROR at Cell.cc:156 at Cell.cc:156---------------------------------------- -- Stack trace at Error.cc:198 ---------------------------------------- 0x7FFFF6A6F7FD __libc_start_main 0x555555618205 main 0x5555557A91F5 Workspace::immediate_execution(bool) 0x55555567F5DB Command::process_line() 0x55555567F678 Command::finish_context() 0x55555568C8D8 Executable::execute_body() const 0x5555557457CC StateIndicator::run() 0x5555556C8CC0 Prefix::reduce_statements() 0x5555556C27FC Prefix::reduce_A_F_B_() 0x555555744975 Bif_F12_TIMES::eval_AB(Value_P, Value_P) const 0x555555741730 ScalarFunction::eval_scalar_AB(Value const&, Value const&, ErrorCode (Cell::*)(Cell*, Cell const*) const) const 0x5555557406F1 ScalarFunction::do_scalar_AB(ErrorCode&, Value const&, Value const&, ErrorCode (Cell::*)(Cell*, Cell const*) const) const 0x55555573FDB2 ScalarFunction::PF_scalar_AB(Thread_context&) 0x555555662C47 0x55555568C6B1 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 ---------------------------------------- 0x2AAAA1B7DD80 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 0x7ffff54f2640 (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 0x00007ffff6a6e546 in __GI_abort () at abort.c:79 #2 0x00007ffff6e08909 in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #3 0x00007ffff6e13f2a in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #4 0x00007ffff6e13f95 in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #5 0x00007ffff6e141e8 in () at /lib/x86_64-linux-gnu/libstdc++.so.6 #6 0x000055555568c724 in throw_apl_error(ErrorCode, char const*) (code=code@entry=E_DOMAIN_ERROR, loc=loc@entry=0x5555557c10b6 "Cell.cc:156") at Error.cc:213 #7 0x0000555555662c47 in Cell::get_pointer_value() const (this=0x555555950460) at Cell.cc:156 #8 0x000055555573fdb2 in ScalarFunction::PF_scalar_AB(Thread_context&) (tctx=...) at ScalarFunction.cc:655 #9 0x00005555556b7799 in Parallel::worker_main(void*) (arg=0x5555559582e0) at Parallel.cc:380 #10 0x00007ffff70d1d80 in start_thread (arg=0x7ffff54f2640) at pthread_create.c:481 #11 0x00007ffff6b4676f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95