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 <i...@airkreuzer.com> 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