[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Bug-apl] SVN 480 - assertion failure
From: |
David B. Lamkins |
Subject: |
Re: [Bug-apl] SVN 480 - assertion failure |
Date: |
Tue, 30 Sep 2014 09:22:45 -0700 |
Thank you. Confirmed fixed.
I'll keep an eye open for stale values.
On Tue, 2014-09-30 at 18:03 +0200, Juergen Sauermann wrote:
> Hi David,
>
> thanks, fixed in SVN 482.
>
> The fix is part of a new release scheme that avoids scanning the ravel
> of non-nested APL values
> and should speed up the destruction of such values considerably. There
> is a small chance that
> previously nested stale values occur, please report them if so
> (command )CHECK).
>
> /// Jürgen
>
>
> On 09/24/2014 10:06 PM, David B. Lamkins wrote:
>
> > I haven't been able to reduce this to a simple test case. There's a
> > lot of context, some of which apparently contributes to this bug.
> >
> > If I comment out the Assert() on Value.cc:58, my program proceeds
> > without error with no apparent ill effects; I get a clean report
> > from )CHECK.
> >
> > With the Assert() in place, I see this stack trace:
> >
> > ==============================================================================
> > Assertion failed: containing_value == 0
> > in Function: set_containing_value
> > in file: Value.cc:58
> >
> > Call stack:
> >
> > ----------------------------------------
> > -- Stack trace at Value.cc:58
> > ----------------------------------------
> > 0x7fd7bc397d65 __libc_start_main
> > 0x43ec25 main
> > 0x55506d Workspace::immediate_execution(bool)
> > 0x484182 Command::process_line()
> > 0x479c55 Command::do_APL_expression(UCS_string&)
> > 0x48dc95 Executable::execute_body() const
> > 0x50aff0 StateIndicator::run()
> > 0x4b9db3 Prefix::reduce_statements()
> > 0x4b4f96 Prefix::reduce_A_B__()
> > 0x54fbd4 Value::glue(Token&, Token&, Token&, char const*)
> > 0x54f882 Value::glue_closed_closed(Token&, Value_P, Value_P, char
> > const*)
> > 0x4bb34e PointerCell::PointerCell(Value_P, Value&)
> > 0x54cd0c
> > 0x44cdc1 do_Assert(char const*, char const*, char const*, int)
> > ========================================
> >
> > SI stack:
> >
> > Depth: 8
> > Exec: 0x277b4e8
> > Safe ex: no
> > Pmode: ∇ pkg⍙⍙apl_check[34]
> > PC: 129 (
> > Stat: z←(pkg⍙loading_prefix '') pkg⍙invalid_assign ↑tokens
> > err_code: 0x0
> > thrown: at StateIndicator.cc:40
> > e_msg_1: 'No Error'
> > e_msg_2: ''
> > e_msg_3: ''
> >
> > Depth: 7
> > Exec: 0x21f7218
> > Safe ex: no
> > Pmode: ∇ pkg⍙import_apl[50]
> > PC: 403 (
> > Stat: →(2 check_fn l)/assign_error
> > err_code: 0x0
> > thrown: at StateIndicator.cc:40
> > e_msg_1: 'No Error'
> > e_msg_2: ''
> > e_msg_3: ''
> >
> > Depth: 6
> > Exec: 0x2427f58
> > Safe ex: no
> > Pmode: ∇ pkg⍙load_one_package[10]
> > PC: 39 'z←
> > Stat: z←pkg⍙⍙apl_check pkg⍙import_apl fp
> > err_code: 0x0
> > thrown: at StateIndicator.cc:40
> > e_msg_1: 'No Error'
> > e_msg_2: ''
> > e_msg_3: ''
> >
> > Depth: 5
> > Exec: 0x25bb548
> > Safe ex: no
> > Pmode: ∇ pkg⍙load[14]
> > PC: 70 'forms←
> > Stat: forms←pkg⍙load_one_package¨⊃ppl
> > err_code: 0x0
> > thrown: at StateIndicator.cc:40
> > e_msg_1: 'No Error'
> > e_msg_2: ''
> > e_msg_3: ''
> >
> > Depth: 4
> > Exec: 0x2368488
> > Safe ex: no
> > Pmode: ∇ pkg⍙load_from_manifest[3]
> > PC: 19 RETURN_VOID
> > Stat: pkg⍙load¨pkg⍙read_manifest name
> > err_code: 0x0
> > thrown: at StateIndicator.cc:40
> > e_msg_1: 'No Error'
> > e_msg_2: ''
> > e_msg_3: ''
> >
> > Depth: 3
> > Exec: 0x25b4af0
> > Safe ex: yes
> > Pmode: ⍎ pkg⍙load_from_manifest'system-1'
> > PC: 3
> > ==============================================================================
> > Assertion failed: idx < items_valid
> > in Function: operator[]
> > in file: Simple_string.hh:136
> >
> > Call stack:
> > *** do_Assert() called recursively ***
> > ==============================================================================
> >
>