OK, I have come up with a way to reproduce this. This is a simplified version of a program started to fail, and when I try to
after the error, I get the error.
==============================================================================
Assertion failed: value_stack.size()
in Function: pop
in file: Symbol.cc:312
Call stack:
----------------------------------------
-- Stack trace at Symbol.cc:312
----------------------------------------
0x7f9212d3aec5 __libc_start_main
0x4db91d main
0x5816e8 Workspace::immediate_execution(bool)
0x4b3747 Command::process_line()
0x4b37f6 Command::process_line(UCS_string&)
0x4b3ee0 Command::do_APL_command(std::ostream&, UCS_string&)
0x583c1d Workspace::clear_SI(std::ostream&)
0x581597 Workspace::pop_SI(char const*)
0x53c37b StateIndicator::~StateIndicator()
0x53e87c UserFunction::pop_local_vars() const
0x56bfdd UserFunction_header::pop_local_vars() const
0x54cb3c Symbol::pop()
0x49181e do_Assert(char const*, char const*, char const*, int)
========================================
SI stack:
Depth: 0
Exec: 0x27f5080
Safe ex: no
Pmode: ◊ {disp ← '.#'[⎕IO+V←next V ⊣ ⎕DL ÷20]} rep 10
PC: 3 ENDL
Stat: {disp ← '.#'[⎕IO+V←next V ⊣ ⎕DL ÷20]} rep 10
err_code: 0x0
thrown: at StateIndicator.cc:41
e_msg_1: 'No Error'
e_msg_2: ''
e_msg_3: ''
==============================================================================
*** immediate_execution() caught other exception ***