Assertion in symbol table due to Revision 8881

Daniel J Sebald daniel.sebald at ieee.org
Mon Jun 29 01:10:56 CDT 2009


John,

I've come across an assertion that I traced back to the first (second?) mod following version 3.1.53:

--- a/src/ChangeLog	Thu Feb 26 12:25:22 2009 -0500
       2 +++ b/src/ChangeLog	Thu Feb 26 13:58:47 2009 -0500
       3 @@ -1,5 +1,25 @@
       4  2009-02-26  John W. Eaton  <jwe at octave.org>
       5  
       6 +	* symtab.h (symbol_table::symbol_record::symbol_record_rep::forced):
       7 +	New static constant.
       8 +	(symbol_table::symbol_record::symbol_record_rep::force_variable,
...

labelled as [Thu, 26 Feb 2009 13:58:47 -0500] rev 8881.  (Wish Hg-viewer simply listed the date rather than a vague "4 months ago"... BTW, without the ChangeLog file I likely would have given up trying to locate where the bug appeared.)

I'm afraid I can't be much help with a short example that causes the assertion.  The code segment is embedded in a bigger convoluted program and the script file is a recursive one.  Small examples I've tried don't cause the problem on its own.  The best way for me to describe the occurence is "An assignment made inside of an eval(), inside of a nested/recursive script routine."

The octave-core dump ends up being only 11 bytes long.

The actual note is

octave: symtab.h:1066 : static void symbol_table::force_variable(cost std::string&, int, size_t): Assertion
`xcurrent_context == 0' failed.
panic: Aborted -- stopping myself...
attempting to save variables to 'octave-core'...
save to 'octave-core' complete
Aborted

Version 3.1.53 works fine.

Dan



More information about the Octave-maintainers mailing list