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

Reply via email to