Discussion:
[Bug-apl] Crash when trying to run illegal code
Elias Mårtenson
2017-12-05 10:46:03 UTC
Permalink
I made a typo and was presented with an APL stack trace which suggests a
bug in GNU APL.
The reduced test case is as follows:


* (2 2⍎1) +⍀1 0 1 1*

Which presents the following:

Incomplete value at Symbol.cc:128
Addr: 0x55891db89770
Rank: 1
Shape: ⊏1⊐
Flags: --
First: 1
Dynamic: DynamicObject: 0x55891db89778 (Value: 0x55891db89778) :
prev: 0x55891db89948
next: 0x55891db895a8
allocated: Bif_OPER2_RANK.cc:403
value history disabled


==============================================================================
Assertion failed: 0
in Function: assign
in file: Symbol.cc:131

Call stack:

----------------------------------------
-- Stack trace at Symbol.cc:131
----------------------------------------
0x7FCC546B1F6A __libc_start_main
0x55891BD3B595 main
0x55891BEBE96D Workspace::immediate_execution(bool)
0x55891BD917AF Command::process_line()
0x55891BD92057 Command::do_APL_expression(UCS_string&)
0x55891BD91867 Command::finish_context()
0x55891BD9D39D Executable::execute_body() const
0x55891BE57764 StateIndicator::run()
0x55891BDE0E6E Prefix::reduce_statements()
0x55891BDDBAA8 Prefix::reduce_A_F_B_()
0x55891BDA6543 DerivedFunction::eval_AB(Value_P, Value_P)
0x55891BD6C03A Bif_OPER2_RANK::eval_ALRB(Value_P, Token&,
Token&, Value_P)
0x55891BD6A9C2 Bif_OPER2_RANK::do_ALyXB(Value_P, int, Token&,
Value_P, Value_P, int)
0x55891BEA228D UserFunction::eval_ALXB(Value_P, Token&,
Value_P, Value_P)
0x55891BE67C55 Symbol::push_value(Value_P)
0x55891BE6A301 Symbol::assign(Value_P, bool, char const*)
0x55891BD4F82C do_Assert(char const*, char const*, char
const*, int)
========================================

SI stack:

Depth: 21
Exec: 0x55891db4c920
Safe exec: 0
Pmode: ∇ ÎŒ-Z__A_LO_RANK_X7_B[1]
PC: 0 (114) 'Ό-X7
Stat: (X7 LA rho_A LB rho_B LZ rho_Z)←X7
err_code: 0x0

Depth: 20
Exec: 0x55891db79e70
Safe exec: 0
Pmode: ◊ (2 2⍎1) +⍀1 0 1 1
PC: 8 (10) ENDL
Stat: (2 2⍎1) +⍀1 0 1 1
err_code: 0x0

Depth: 19
Exec: 0x55891db683c0
Safe exec: 0
Pmode: ◊ (2 2⍎1) +⍀1 0 1
PC: 9 (10) RETURN_STATS
Stat: (2 2⍎1) +⍀1 0 1
err_code: 0x20002
thrown at: Prefix.cc:1780
e_msg_1: 'SYNTAX ERROR'
e_msg_2: ' (2 2⍎1)+⍀1 0 1'
e_msg_3: ' ^ ^'

Depth: 18
Exec: 0x55891db4c920
Safe exec: 0
Pmode: ∇ ÎŒ-Z__A_LO_RANK_X7_B[1]
PC: 0 (114) 'Ό-X7
Stat: (X7 LA rho_A LB rho_B LZ rho_Z)←X7
err_code: 0xA01
thrown at: Symbol.cc:131
e_msg_1: 'Assertion failed'
e_msg_2: ''
e_msg_3: ''

Depth: 17
Exec: 0x55891db6dcc0
Safe exec: 0
Pmode: ◊ (2 2⍎1) +⍀1 0 1 2
PC: 8 (10) ENDL
Stat: (2 2⍎1) +⍀1 0 1 2
err_code: 0x0

Depth: 16
Exec: 0x55891db4c920
Safe exec: 0
Pmode: ∇ ÎŒ-Z__A_LO_RANK_X7_B[1]
PC: 0 (114) 'Ό-X7
Stat: (X7 LA rho_A LB rho_B LZ rho_Z)←X7
err_code: 0xA01
thrown at: Symbol.cc:131
e_msg_1: 'Assertion failed'
e_msg_2: ''
e_msg_3: ''

Depth: 15
Exec: 0x55891db7fda0
Safe exec: 0
Pmode: ◊ (2 2⍎1) +⍀1 0 1 2 3
PC: 8 (10) ENDL
Stat: (2 2⍎1) +⍀1 0 1 2 3
err_code: 0x0

Depth: 14
Exec: 0x55891db75660
Safe exec: 0
Pmode: ◊ (2 2⍎1) +⍀1 1 1
PC: 9 (10) RETURN_STATS
Stat: (2 2⍎1) +⍀1 1 1
err_code: 0x20002
thrown at: Prefix.cc:1780
e_msg_1: 'SYNTAX ERROR'
e_msg_2: ' (2 2⍎1)+⍀1 1 1'
e_msg_3: ' ^ ^'

Depth: 13
Exec: 0x55891db6b970
Safe exec: 0
Pmode: ◊ (2 2⍎1) +⍀1 2 3
PC: 9 (10) RETURN_STATS
Stat: (2 2⍎1) +⍀1 2 3
err_code: 0x20002
thrown at: Prefix.cc:1780
e_msg_1: 'SYNTAX ERROR'
e_msg_2: ' (2 2⍎1)+⍀1 2 3'
e_msg_3: ' ^ ^'

Depth: 12
Exec: 0x55891db74ee0
Safe exec: 0
Pmode: ◊ (2 2⍎1) +⍀1 2 3 4 5
PC: 8 (10) ENDL
Stat: (2 2⍎1) +⍀1 2 3 4 5
err_code: 0x50002
thrown at: ScalarFunction.cc:315
e_msg_1: 'RANK ERROR'
e_msg_2: ' (2 2⍎1)+⍀1 2 3 4 5'
e_msg_3: ' ^ ^'

Depth: 11
Exec: 0x55891db4c920
Safe exec: 0
Pmode: ∇ ÎŒ-Z__A_LO_RANK_X7_B[1]
PC: 0 (114) 'Ό-X7
Stat: (X7 LA rho_A LB rho_B LZ rho_Z)←X7
err_code: 0xA01
thrown at: Symbol.cc:131
e_msg_1: 'Assertion failed'
e_msg_2: ''
e_msg_3: ''

Depth: 10
Exec: 0x55891db79fd0
Safe exec: 0
Pmode: ◊ z +⍀1 0 2 1 (⊢ 100 200 300)
PC: 8 (10) ENDL
Stat: z +⍀1 0 2 1 (⊢ 100 200 300)
err_code: 0x0

Depth: 9
Exec: 0x55891db7fe80
Safe exec: 0
Pmode: ◊ z +⍀(1 0 ⊢ 100 200 300)
PC: 9 (10) RETURN_STATS
Stat: z +⍀(1 0 ⊢ 100 200 300)
err_code: 0x20002
thrown at: Prefix.cc:1780
e_msg_1: 'SYNTAX ERROR'
e_msg_2: ' z+⍀(1 0⊢100 200 300)'
e_msg_3: ' ^^'

Depth: 8
Exec: 0x55891db4c920
Safe exec: 0
Pmode: ∇ ÎŒ-Z__A_LO_RANK_X7_B[3]
PC: 63 (114) ⊂
Stat: LOOP:Z[N]←⊂(rho_A⍮A[N;]) LO rho_B⍮B[N;]
err_code: 0x50003
thrown at: ScalarFunction.cc:315
e_msg_1: 'LENGTH ERROR'
e_msg_2: 'ÎŒ-Z__A_LO_RANK_X7_B[3] ÎŒ-Z[ÎŒ-N]←⊂(ÎŒ-rho_A⍎Ό-A[ÎŒ-N;])ÎŒ-LO
Ό-rho_B⍎Ό-B[Ό-N;]'
e_msg_3: ' ^ ^'

Depth: 7
Exec: 0x55891db800f0
Safe exec: 0
Pmode: ◊ z +⍀1 (0 ⊢ 100 200 300)
PC: 9 (11) ENDL
Stat: z +⍀1 (0 ⊢ 100 200 300)
err_code: 0x0

Depth: 6
Exec: 0x55891db4c920
Safe exec: 0
Pmode: ∇ ÎŒ-Z__A_LO_RANK_X7_B[1]
PC: 0 (114) 'Ό-X7
Stat: (X7 LA rho_A LB rho_B LZ rho_Z)←X7
err_code: 0xA01
thrown at: Symbol.cc:131
e_msg_1: 'Assertion failed'
e_msg_2: ''
e_msg_3: ''

Depth: 5
Exec: 0x55891db6b720
Safe exec: 0
Pmode: ◊ z +⍀1 0 100 200 300
PC: 4 (6) ENDL
Stat: z +⍀1 0 100 200 300
err_code: 0x0

Depth: 4
Exec: 0x55891db4c920
Safe exec: 0
Pmode: ∇ ÎŒ-Z__A_LO_RANK_X7_B[3]
PC: 63 (114) ⊂
Stat: LOOP:Z[N]←⊂(rho_A⍮A[N;]) LO rho_B⍮B[N;]
err_code: 0x50003
thrown at: ScalarFunction.cc:315
e_msg_1: 'LENGTH ERROR'
e_msg_2: 'ÎŒ-Z__A_LO_RANK_X7_B[3] ÎŒ-Z[ÎŒ-N]←⊂(ÎŒ-rho_A⍎Ό-A[ÎŒ-N;])ÎŒ-LO
Ό-rho_B⍎Ό-B[Ό-N;]'
e_msg_3: ' ^ ^'

Depth: 3
Exec: 0x55891db75720
Safe exec: 0
Pmode: ◊ z (+⍀1 1) 100 200 300
PC: 7 (9) ENDL
Stat: z (+⍀1 1) 100 200 300
err_code: 0x0

Depth: 2
Exec: 0x55891db686a0
Safe exec: 0
Pmode: ◊ 200 300 400 + z
PC: 3 (5) ENDL
Stat: 200 300 400 + z
err_code: 0x50002
thrown at: ScalarFunction.cc:315
e_msg_1: 'RANK ERROR'
e_msg_2: ' 200 300 400+z'
e_msg_3: ' ^ ^'

Depth: 1
Exec: 0x55891db68f90
Safe exec: 0
Pmode: ◊ 100 200 300 400 +[1] z
PC: 6 (8) ENDL
Stat: 100 200 300 400 +[1] z
err_code: 0x50003
thrown at: ScalarFunction.cc:804
e_msg_1: 'LENGTH ERROR'
e_msg_2: ' 100 200 300 400+[1]z'
e_msg_3: ' ^ ^'

Depth: 0
Exec: 0x55891db62d70
Safe exec: 0
Pmode: ◊ a+(⍮z)⍮100 200 300 400
PC: 7 (10) 'a
Stat: a+(⍎z)⍎100 200 300 400
err_code: 0x30001
thrown at: Symbol.cc:683
e_msg_1: 'VALUE ERROR'
e_msg_2: ' a+(⍎z)⍎100 200 300 400'
e_msg_3: ' ^'


==============================================================================
Juergen Sauermann
2017-12-05 17:14:00 UTC
Permalink
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<font face="Helvetica, Arial, sans-serif">Hi Elias,<br>
<br>
thanks, fixed in <b>SVN 1025</b>.<br>
<br>
Best Regards,<br>
/// Jürgen<br>
</font><br>
<br>
<div class="moz-cite-prefix">On 12/05/2017 11:46 AM, Elias Mårtenson
wrote:<br>
</div>
<blockquote type="cite"
cite="mid:CADtN0WL+PWaw=w+***@mail.gmail.com">
<div dir="ltr">
<div>I made a typo and was presented with an APL stack trace
which suggests a bug in GNU APL.</div>
<div>The reduced test case is as follows:</div>
<div><font face="monospace, monospace"><b><br>
</b></font></div>
<font face="monospace, monospace"><b>      (2 2⍴1) +⍤1 0 1 1<br>
</b></font>
<div><font face="monospace, monospace"><b><br>
</b></font></div>
<div>Which presents the following:</div>
<div><br>
</div>
<div>
<div><font face="monospace, monospace">Incomplete value at
Symbol.cc:128</font></div>
<div><font face="monospace, monospace">Addr:    0x55891db89770</font></div>
<div><font face="monospace, monospace">Rank:    1</font></div>
<div><font face="monospace, monospace">Shape:   ⊏1⊐</font></div>
<div><font face="monospace, monospace">Flags:   --</font></div>
<div><font face="monospace, monospace">First:   1 </font></div>
<div><font face="monospace, monospace">Dynamic: DynamicObject:
0x55891db89778 (Value: 0x55891db89778) :</font></div>
<div><font face="monospace, monospace">    prev:     
0x55891db89948</font></div>
<div><font face="monospace, monospace">    next:     
0x55891db895a8</font></div>
<div><font face="monospace, monospace">    allocated:
Bif_OPER2_RANK.cc:403</font></div>
<div><font face="monospace, monospace">value history disabled</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">==============================================================================</font></div>
<div><font face="monospace, monospace">Assertion failed: 0</font></div>
<div><font face="monospace, monospace">in Function:     
assign</font></div>
<div><font face="monospace, monospace">in file:         
Symbol.cc:131</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Call stack:</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">----------------------------------------</font></div>
<div><font face="monospace, monospace">-- Stack trace at
Symbol.cc:131</font></div>
<div><font face="monospace, monospace">----------------------------------------</font></div>
<div><font face="monospace, monospace">0x7FCC546B1F6A
__libc_start_main</font></div>
<div><font face="monospace, monospace">0x55891BD3B595  main</font></div>
<div><font face="monospace, monospace">0x55891BEBE96D 
 Workspace::immediate_execution(bool)</font></div>
<div><font face="monospace, monospace">0x55891BD917AF   
Command::process_line()</font></div>
<div><font face="monospace, monospace">0x55891BD92057   
 Command::do_APL_expression(UCS_string&amp;)</font></div>
<div><font face="monospace, monospace">0x55891BD91867     
Command::finish_context()</font></div>
<div><font face="monospace, monospace">0x55891BD9D39D     
 Executable::execute_body() const</font></div>
<div><font face="monospace, monospace">0x55891BE57764       
StateIndicator::run()</font></div>
<div><font face="monospace, monospace">0x55891BDE0E6E       
 Prefix::reduce_statements()</font></div>
<div><font face="monospace, monospace">0x55891BDDBAA8         
Prefix::reduce_A_F_B_()</font></div>
<div><font face="monospace, monospace">0x55891BDA6543         
 DerivedFunction::eval_AB(Value_P, Value_P)</font></div>
<div><font face="monospace, monospace">0x55891BD6C03A         
  Bif_OPER2_RANK::eval_ALRB(Value_P, Token&amp;,
Token&amp;, Value_P)</font></div>
<div><font face="monospace, monospace">0x55891BD6A9C2         
   Bif_OPER2_RANK::do_ALyXB(Value_P, int, Token&amp;,
Value_P, Value_P, int)</font></div>
<div><font face="monospace, monospace">0x55891BEA228D         
    UserFunction::eval_ALXB(Value_P, Token&amp;, Value_P,
Value_P)</font></div>
<div><font face="monospace, monospace">0x55891BE67C55         
     Symbol::push_value(Value_P)</font></div>
<div><font face="monospace, monospace">0x55891BE6A301         
      Symbol::assign(Value_P, bool, char const*)</font></div>
<div><font face="monospace, monospace">0x55891BD4F82C         
       do_Assert(char const*, char const*, char const*,
int)</font></div>
<div><font face="monospace, monospace">========================================</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">SI stack:</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      21</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db4c920</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ∇
μ-Z__A_LO_RANK_X7_B[1]</font></div>
<div><font face="monospace, monospace">PC:         0 (114)
'μ-X7</font></div>
<div><font face="monospace, monospace">Stat:       (X7 LA
rho_A LB rho_B LZ rho_Z)←X7</font></div>
<div><font face="monospace, monospace">err_code:   0x0</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      20</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db79e70</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  (2 2⍴1)
+⍤1 0 1 1</font></div>
<div><font face="monospace, monospace">PC:         8 (10) ENDL</font></div>
<div><font face="monospace, monospace">Stat:       (2 2⍴1) +⍤1
0 1 1</font></div>
<div><font face="monospace, monospace">err_code:   0x0</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      19</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db683c0</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  (2 2⍴1)
+⍤1 0 1</font></div>
<div><font face="monospace, monospace">PC:         9 (10)
RETURN_STATS</font></div>
<div><font face="monospace, monospace">Stat:       (2 2⍴1) +⍤1
0 1</font></div>
<div><font face="monospace, monospace">err_code:   0x20002</font></div>
<div><font face="monospace, monospace">thrown at: 
Prefix.cc:1780</font></div>
<div><font face="monospace, monospace">e_msg_1:    'SYNTAX
ERROR'</font></div>
<div><font face="monospace, monospace">e_msg_2:    '      (2
2⍴1)+⍤1 0 1'</font></div>
<div><font face="monospace, monospace">e_msg_3:    '      ^   
  ^'</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      18</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db4c920</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ∇
μ-Z__A_LO_RANK_X7_B[1]</font></div>
<div><font face="monospace, monospace">PC:         0 (114)
'μ-X7</font></div>
<div><font face="monospace, monospace">Stat:       (X7 LA
rho_A LB rho_B LZ rho_Z)←X7</font></div>
<div><font face="monospace, monospace">err_code:   0xA01</font></div>
<div><font face="monospace, monospace">thrown at: 
Symbol.cc:131</font></div>
<div><font face="monospace, monospace">e_msg_1:    'Assertion
failed'</font></div>
<div><font face="monospace, monospace">e_msg_2:    ''</font></div>
<div><font face="monospace, monospace">e_msg_3:    ''</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      17</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db6dcc0</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  (2 2⍴1)
+⍤1 0 1 2</font></div>
<div><font face="monospace, monospace">PC:         8 (10) ENDL</font></div>
<div><font face="monospace, monospace">Stat:       (2 2⍴1) +⍤1
0 1 2</font></div>
<div><font face="monospace, monospace">err_code:   0x0</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      16</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db4c920</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ∇
μ-Z__A_LO_RANK_X7_B[1]</font></div>
<div><font face="monospace, monospace">PC:         0 (114)
'μ-X7</font></div>
<div><font face="monospace, monospace">Stat:       (X7 LA
rho_A LB rho_B LZ rho_Z)←X7</font></div>
<div><font face="monospace, monospace">err_code:   0xA01</font></div>
<div><font face="monospace, monospace">thrown at: 
Symbol.cc:131</font></div>
<div><font face="monospace, monospace">e_msg_1:    'Assertion
failed'</font></div>
<div><font face="monospace, monospace">e_msg_2:    ''</font></div>
<div><font face="monospace, monospace">e_msg_3:    ''</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      15</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db7fda0</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  (2 2⍴1)
+⍤1 0 1 2 3</font></div>
<div><font face="monospace, monospace">PC:         8 (10) ENDL</font></div>
<div><font face="monospace, monospace">Stat:       (2 2⍴1) +⍤1
0 1 2 3</font></div>
<div><font face="monospace, monospace">err_code:   0x0</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      14</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db75660</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  (2 2⍴1)
+⍤1 1 1</font></div>
<div><font face="monospace, monospace">PC:         9 (10)
RETURN_STATS</font></div>
<div><font face="monospace, monospace">Stat:       (2 2⍴1) +⍤1
1 1</font></div>
<div><font face="monospace, monospace">err_code:   0x20002</font></div>
<div><font face="monospace, monospace">thrown at: 
Prefix.cc:1780</font></div>
<div><font face="monospace, monospace">e_msg_1:    'SYNTAX
ERROR'</font></div>
<div><font face="monospace, monospace">e_msg_2:    '      (2
2⍴1)+⍤1 1 1'</font></div>
<div><font face="monospace, monospace">e_msg_3:    '      ^   
  ^'</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      13</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db6b970</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  (2 2⍴1)
+⍤1 2 3</font></div>
<div><font face="monospace, monospace">PC:         9 (10)
RETURN_STATS</font></div>
<div><font face="monospace, monospace">Stat:       (2 2⍴1) +⍤1
2 3</font></div>
<div><font face="monospace, monospace">err_code:   0x20002</font></div>
<div><font face="monospace, monospace">thrown at: 
Prefix.cc:1780</font></div>
<div><font face="monospace, monospace">e_msg_1:    'SYNTAX
ERROR'</font></div>
<div><font face="monospace, monospace">e_msg_2:    '      (2
2⍴1)+⍤1 2 3'</font></div>
<div><font face="monospace, monospace">e_msg_3:    '      ^   
  ^'</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      12</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db74ee0</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  (2 2⍴1)
+⍤1 2 3 4 5</font></div>
<div><font face="monospace, monospace">PC:         8 (10) ENDL</font></div>
<div><font face="monospace, monospace">Stat:       (2 2⍴1) +⍤1
2 3 4 5</font></div>
<div><font face="monospace, monospace">err_code:   0x50002</font></div>
<div><font face="monospace, monospace">thrown at: 
ScalarFunction.cc:315</font></div>
<div><font face="monospace, monospace">e_msg_1:    'RANK
ERROR'</font></div>
<div><font face="monospace, monospace">e_msg_2:    '      (2
2⍴1)+⍤1 2 3 4 5'</font></div>
<div><font face="monospace, monospace">e_msg_3:    '      ^   
 ^'</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      11</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db4c920</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ∇
μ-Z__A_LO_RANK_X7_B[1]</font></div>
<div><font face="monospace, monospace">PC:         0 (114)
'μ-X7</font></div>
<div><font face="monospace, monospace">Stat:       (X7 LA
rho_A LB rho_B LZ rho_Z)←X7</font></div>
<div><font face="monospace, monospace">err_code:   0xA01</font></div>
<div><font face="monospace, monospace">thrown at: 
Symbol.cc:131</font></div>
<div><font face="monospace, monospace">e_msg_1:    'Assertion
failed'</font></div>
<div><font face="monospace, monospace">e_msg_2:    ''</font></div>
<div><font face="monospace, monospace">e_msg_3:    ''</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      10</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db79fd0</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  z +⍤1 0
2 1 (⊢ 100 200 300)</font></div>
<div><font face="monospace, monospace">PC:         8 (10) ENDL</font></div>
<div><font face="monospace, monospace">Stat:       z +⍤1 0 2 1
(⊢ 100 200 300)</font></div>
<div><font face="monospace, monospace">err_code:   0x0</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      9</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db7fe80</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  z +⍤(1 0
⊢ 100 200 300)</font></div>
<div><font face="monospace, monospace">PC:         9 (10)
RETURN_STATS</font></div>
<div><font face="monospace, monospace">Stat:       z +⍤(1 0 ⊢
100 200 300)</font></div>
<div><font face="monospace, monospace">err_code:   0x20002</font></div>
<div><font face="monospace, monospace">thrown at: 
Prefix.cc:1780</font></div>
<div><font face="monospace, monospace">e_msg_1:    'SYNTAX
ERROR'</font></div>
<div><font face="monospace, monospace">e_msg_2:    '     
z+⍤(1 0⊢100 200 300)'</font></div>
<div><font face="monospace, monospace">e_msg_3:    '      ^^'</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      8</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db4c920</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ∇
μ-Z__A_LO_RANK_X7_B[3]</font></div>
<div><font face="monospace, monospace">PC:         63 (114) ⊂</font></div>
<div><font face="monospace, monospace">Stat:     
 LOOP:Z[N]←⊂(rho_A⍴A[N;]) LO rho_B⍴B[N;]</font></div>
<div><font face="monospace, monospace">err_code:   0x50003</font></div>
<div><font face="monospace, monospace">thrown at: 
ScalarFunction.cc:315</font></div>
<div><font face="monospace, monospace">e_msg_1:    'LENGTH
ERROR'</font></div>
<div><font face="monospace, monospace">e_msg_2:   
'μ-Z__A_LO_RANK_X7_B[3]  μ-Z[μ-N]←⊂(μ-rho_A⍴μ-A[μ-N;])μ-LO
μ-rho_B⍴μ-B[μ-N;]'</font></div>
<div><font face="monospace, monospace">e_msg_3:    '         
                        ^                       ^'</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      7</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db800f0</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  z +⍤1 (0
⊢ 100 200 300)</font></div>
<div><font face="monospace, monospace">PC:         9 (11) ENDL</font></div>
<div><font face="monospace, monospace">Stat:       z +⍤1 (0 ⊢
100 200 300)</font></div>
<div><font face="monospace, monospace">err_code:   0x0</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      6</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db4c920</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ∇
μ-Z__A_LO_RANK_X7_B[1]</font></div>
<div><font face="monospace, monospace">PC:         0 (114)
'μ-X7</font></div>
<div><font face="monospace, monospace">Stat:       (X7 LA
rho_A LB rho_B LZ rho_Z)←X7</font></div>
<div><font face="monospace, monospace">err_code:   0xA01</font></div>
<div><font face="monospace, monospace">thrown at: 
Symbol.cc:131</font></div>
<div><font face="monospace, monospace">e_msg_1:    'Assertion
failed'</font></div>
<div><font face="monospace, monospace">e_msg_2:    ''</font></div>
<div><font face="monospace, monospace">e_msg_3:    ''</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      5</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db6b720</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  z +⍤1 0
100 200 300</font></div>
<div><font face="monospace, monospace">PC:         4 (6) ENDL</font></div>
<div><font face="monospace, monospace">Stat:       z +⍤1 0 100
200 300</font></div>
<div><font face="monospace, monospace">err_code:   0x0</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      4</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db4c920</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ∇
μ-Z__A_LO_RANK_X7_B[3]</font></div>
<div><font face="monospace, monospace">PC:         63 (114) ⊂</font></div>
<div><font face="monospace, monospace">Stat:     
 LOOP:Z[N]←⊂(rho_A⍴A[N;]) LO rho_B⍴B[N;]</font></div>
<div><font face="monospace, monospace">err_code:   0x50003</font></div>
<div><font face="monospace, monospace">thrown at: 
ScalarFunction.cc:315</font></div>
<div><font face="monospace, monospace">e_msg_1:    'LENGTH
ERROR'</font></div>
<div><font face="monospace, monospace">e_msg_2:   
'μ-Z__A_LO_RANK_X7_B[3]  μ-Z[μ-N]←⊂(μ-rho_A⍴μ-A[μ-N;])μ-LO
μ-rho_B⍴μ-B[μ-N;]'</font></div>
<div><font face="monospace, monospace">e_msg_3:    '         
                        ^                       ^'</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      3</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db75720</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  z (+⍤1
1) 100 200 300</font></div>
<div><font face="monospace, monospace">PC:         7 (9) ENDL</font></div>
<div><font face="monospace, monospace">Stat:       z (+⍤1 1)
100 200 300</font></div>
<div><font face="monospace, monospace">err_code:   0x0</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      2</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db686a0</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  200 300
400 + z</font></div>
<div><font face="monospace, monospace">PC:         3 (5) ENDL</font></div>
<div><font face="monospace, monospace">Stat:       200 300 400
+ z</font></div>
<div><font face="monospace, monospace">err_code:   0x50002</font></div>
<div><font face="monospace, monospace">thrown at: 
ScalarFunction.cc:315</font></div>
<div><font face="monospace, monospace">e_msg_1:    'RANK
ERROR'</font></div>
<div><font face="monospace, monospace">e_msg_2:    '      200
300 400+z'</font></div>
<div><font face="monospace, monospace">e_msg_3:    '      ^   
       ^'</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      1</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db68f90</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊  100 200
300 400 +[1] z</font></div>
<div><font face="monospace, monospace">PC:         6 (8) ENDL</font></div>
<div><font face="monospace, monospace">Stat:       100 200 300
400 +[1] z</font></div>
<div><font face="monospace, monospace">err_code:   0x50003</font></div>
<div><font face="monospace, monospace">thrown at: 
ScalarFunction.cc:804</font></div>
<div><font face="monospace, monospace">e_msg_1:    'LENGTH
ERROR'</font></div>
<div><font face="monospace, monospace">e_msg_2:    '      100
200 300 400+[1]z'</font></div>
<div><font face="monospace, monospace">e_msg_3:    '      ^   
              ^'</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">Depth:      0</font></div>
<div><font face="monospace, monospace">Exec:     
 0x55891db62d70</font></div>
<div><font face="monospace, monospace">Safe exec:  0</font></div>
<div><font face="monospace, monospace">Pmode:      ◊ 
a+(⍴z)⍴100 200 300 400</font></div>
<div><font face="monospace, monospace">PC:         7 (10) 'a</font></div>
<div><font face="monospace, monospace">Stat:       a+(⍴z)⍴100
200 300 400</font></div>
<div><font face="monospace, monospace">err_code:   0x30001</font></div>
<div><font face="monospace, monospace">thrown at: 
Symbol.cc:683</font></div>
<div><font face="monospace, monospace">e_msg_1:    'VALUE
ERROR'</font></div>
<div><font face="monospace, monospace">e_msg_2:    '     
a+(⍴z)⍴100 200 300 400'</font></div>
<div><font face="monospace, monospace">e_msg_3:    '      ^'</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace"><br>
</font></div>
<div><font face="monospace, monospace">==============================================================================</font></div>
<div><br>
</div>
</div>
</div>
</blockquote>
<br>
</body>
</html>

Loading...