Raul, adding to this, if I set N=:2 and repeat steps under DEBUG, then z now 
has shape 2 2...

===============
     z
((
)
     $z
2 2
     a. i. z
40 40
41 32
===============

… perhaps cutting the stack back is not correctly restoring z in the stack 
frame above ?


> On 15 Jun 2022, at 5:01 pm, Rob Hodgkinson <[email protected]> wrote:
> 
> I get the same result as you Martin to just run <safeshow 0>.
> 
> However I think Raul’s query is what he describes if he first activates Debug 
> mode (Ctrl-K) BEFORE running safeshow 0, then the Assert triggers debug (the 
> debug input has focus),
> Then you can cutback the stack and inspect ‘z’ in the J session.
> 
> Raul, here is what I see also, perhaps same as you ?
> 
> =================
>      z
> 48:R
> (
>     $z
> 3 4
>     <"1 z
> ┌────┬────┬────┐
> │48:R│ ( │ │
> └────┴────┴────┘
>     a. I. z
> 52 56 58 82
> 32 40 32 32
> 32 32 32 32
> =================
> 
>      JVERSION
> Engine: j902/j64avx2/darwin
> Beta-l: commercial/2020-11-05T14:07:25
> Library: 9.02.08
> Qt IDE: 1.8.7/5.12.7(5.12.7)
> Platform: Darwin 64
> Installer: J902 install
> InstallPath: /users/rob/j902
> Contact: www.jsoftware.com
> 
>> On 15 Jun 2022, at 4:54 pm, Martin Kreuzer <[email protected]> wrote:
>> 
>> ... and this from v8.07 (all three tests were run in JConsole):
>> 
>> ------------------------------------------------------------
>>  Kid=: 1 2,_ 1,:_ _
>>  Key=: 94 48 92
>>  Red=: 0 1 1
>>  N=: 3
>>  safeshow 0
>> 1
>> 1
>> 1
>> |assertion failure: safeshow
>> |   0    <N=:N-1
>> 
>>  JVERSION
>> Engine: j807/j64nonavx/windows
>> Release-d: commercial/2019-03-18T13:16:44
>> Library: 8.07.26
>> Platform: Win 64
>> Installer: J807 install
>> InstallPath: d:/program files (non-sys)/j64-807-nonavx
>> Contact: www.jsoftware.com
>> ------------------------------------------------------------
>> 
>> - M
>> 
>> 
>> At 2022-06-15 06:02, you wrote:
>> 
>>> I am running into a problem, in J903 and J904 -- I haven't yet
>>> installed earlier versions of J on this machine.
>>> 
>>> safeshow=: 3 :0
>>> assert. 0 < N=:N-1
>>> z=. ''
>>> assert. 1=#$z
>>> echo #$z
>>> 'l r'=. y{Kid
>>> if. l<#Kid do.
>>>   z=. '(',(safeshow l),') '
>>>   assert. 1=#$z
>>>   echo #$z
>>> end.
>>> z=. z,(":y{Key),':','BR'{~y{Red
>>> assert. 1=#$z
>>> echo #$z
>>> if. r<#Kid do.
>>>   z=. z,' (',(safeshow r),')'
>>>   assert. 1=#$z
>>>   echo #$z
>>> end.
>>> 
>>> 
>>>  Kid=: 1 2,_ 1,:_ _
>>>  Key=: 94 48 92
>>>  Red=: 0 1 1
>>>  N=: 3
>>>  safeshow 0
>>> 
>>> 
>>> 
>>> |assertion failure: safeshow
>>> 
>>> Now, there's a problem here with my data which triggers the assertion
>>> -- Kid should not contain any duplicate values other than _. But
>>> that's not what I am concerned with here.
>>> 
>>> In Jqt, I enable debugging (control-K) and when the debugger pops up
>>> on the assert, I go back to the previous stack frame, and I find that
>>> z has rank 2, instead of rank 1.
>>> 
>>> Specifically, it has the value '48:R',' (',:' '
>>> 
>>> So, now I am trying to figure out what's gone wrong.
>>> 
>>> Conceptually, I could accept that z was being modified by virtual
>>> block handling -- except there's no update to z which would have given
>>> it a rank 2 value.
>>> 
>>> Another possibility here is that there's something specifically wrong
>>> with my machine. So: can anyone else reproduce this issue?
>>> 
>>> And, ... the next most likely possibility is that there's something
>>> wrong with the J engine itself.
>>> 
>>> Anyways, I'd like to get someone else's perspective here.
>>> 
>>> Thanks,
>>> 
>>> --
>>> Raul
>>> ----------------------------------------------------------------------
>>> For information about J forums see http://www.jsoftware.com/forums.htm
>> 
>> ----------------------------------------------------------------------
>> For information about J forums see http://www.jsoftware.com/forums.htm
> 

----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to