I don't think this kind of problem is that reliable. Anyways, running under gdb and triggering the bug, gets me:
{{a.=.'oops'}} Program received signal SIGSEGV, Segmentation fault. 0x00007ffff28bd93a in jtcrelocalsyms (jt=0x7ffff13f8200, l=0x5555555c7700, c=0x5555555c7680, type=3, dyad=0, flags=262144) at ../../../../jsrc/cx.c:946 946 if(AN(neww)){ // ignore blank string (gdb) where #0 0x00007ffff28bd93a in jtcrelocalsyms (jt=0x7ffff13f8200, l=0x5555555c7700, c=0x5555555c7680, type=3, dyad=0, flags=262144) at ../../../../jsrc/cx.c:946 #1 0x00007ffff28c0e13 in jtcolon (jt=0x7ffff13f8200, a=0x7ffff3a26740 <Bnum+1344>, w=0x5555555c7380) at ../../../../jsrc/cx.c:1211 #2 0x00007ffff2921039 in jtparsea (jt=0x7ffff13f8200, queue=0x5555555c75b8, nwds=5) at ../../../../jsrc/p.c:869 #3 0x00007ffff291ec70 in jtparse (jt=0x7ffff13f8200, w=0x5555555c7580) at ../../../../jsrc/p.c:290 #4 0x00007ffff292d645 in jtimmex (jt=0x7ffff13f8200, w=0x5555555c7580) at ../../../../jsrc/px.c:54 #5 0x00007ffff28f71d9 in jtimmexexecct (jt=0x7ffff13f8200, x=0x5555555c7580) at ../../../../jsrc/io.c:382 #6 0x00007ffff28f4f42 in jdo (jt=0x7ffff13f8000, lp=0x55555592de60 "{{a.=.'oops'}}") at ../../../../jsrc/io.c:418 #7 0x00007ffff28f4d25 in JDo (jt=0x7ffff13f8000, lp=0x55555592de60 "{{a.=.'oops'}}") at ../../../../jsrc/io.c:523 #8 0x0000555555557710 in jedo (sentence=0x55555592de60 "{{a.=.'oops'}}") at ../../../../jsrc/jeload.c:92 #9 0x000055555555724f in main (argc=1, argv=0x7fffffffe288) at ../../../../jsrc/jconsole.c:393 And jtcrelocalsyms also gets called when parsing {{(a.)=.'oops'}} but I guess things have been initialized differently or something, because that doesn't crash. FYI, -- Raul On Thu, Nov 2, 2023 at 6:23 PM Ian Clark <earthspo...@gmail.com> wrote: > > If so then shouldn't putting parentheses round (a.) still crash? > But it doesn't… > > {{(a.)=.'oops' y}} > > 3 : '(a.)=.''oops'' y' > > > This doesn't crash either: > > > {{a.,''=.'oops' y}} > > 3 : 'a.,''''=.''oops'' y' > > > > > On Thu, 2 Nov 2023 at 22:15, Raul Miller <rauldmil...@gmail.com> wrote: > > > I think what's happening in {{ a.=.'oops' }} is that the left hand > > side of =. is being inspected during parsing (because literal > > expressions are valid assignment targets), but J isn't prepared to > > deal with some of the characters which are present in this context. > > > > -- > > Raul > > > > On Thu, Nov 2, 2023 at 6:07 PM Ian Clark <earthspo...@gmail.com> wrote: > > > > > > It does for me too on my Mac mini. > > > > > > JVERSION > > > > > > Engine: j903/j64/darwin > > > > > > Release-b: commercial/2022-01-28T04:07:40 > > > > > > Library: 9.03.08 > > > > > > Qt IDE: 1.9.5/5.15.2(5.15.2) > > > > > > Platform: Darwin 64 > > > > > > Installer: J903 install > > > > > > InstallPath: /applications/j903 > > > > > > Contact: www.jsoftware.com > > > > > > > > > After the 3rd or 4th crash I actually got an Apple crash report. The > > whole > > > thing is too long to insert here, but I have kept a copy. > > > The key part IMHO is this: > > > > > > +++++++++++++++++++++++++++++++++++ > > > Notes: > > > PC register does not match crashing frame (0x0 vs 0x115314C97) > > > > > > Crashed Thread: 0 Dispatch queue: com.apple.main-thread > > > > > > Exception Type: EXC_BAD_ACCESS (SIGSEGV) > > > Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000028 > > > Exception Codes: 0x0000000000000001, 0x0000000000000028 > > > > > > Termination Reason: Namespace SIGNAL, Code 11 Segmentation fault: 11 > > > Terminating Process: exc handler [1282] > > > > > > VM Region Info: 0x28 is not in any region. Bytes before following > > region: > > > 140723209813976 > > > REGION TYPE START - END [ VSIZE] PRT/MAX > > > SHRMOD REGION DETAIL > > > UNUSED SPACE AT START > > > ---> > > > mapped file 7ffcaceec000-7ffcd260c000 [599.1M] r-x/r-x > > > SM=COW ...t_id=e024f55b > > > > > > Error Formulating Crash Report: > > > PC register does not match crashing frame (0x0 vs 0x115314C97) > > > +++++++++++++++++++++++++++++++++++ > > > > > > AFAICT you can replace 'oops' with a string, name or numeral to get the > > > crash. (Not tested extensively.) > > > > > > > > > On Thu, 2 Nov 2023 at 21:33, Raul Miller <rauldmil...@gmail.com> wrote: > > > > > > > This reliably crashes J for me (all versions since j902, but j901 > > > > didn't support the {{ }} notation). > > > > > > > > {{ a.=.'oops' y }} > > > > > > > > FYI, > > > > > > > > -- > > > > 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 > > > ---------------------------------------------------------------------- > For information about J forums see http://www.jsoftware.com/forums.htm ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm