Hi Bill,

Are

max =: 100
tss =: 0 1 0 0 0 , (3 5$5$0 1), (0 0 0 1 0 )

small enough?
In this case "try ts" still crashes. In case it's useful, I reducing the
"try" verb as well, with the following results:

max=: 100
padrifshort=: ]`(max (,,[) ])@.(>&#)
ts =: 0 1 0 0 0 1 0 0 0, (7 9$9$0 1), (0 0 0 1 0 0 0 1 0)

NB. all of the below crash with bus error
NB. try=: [: ( [+2 <./\ padrifshort)&.>/\@|. [: </. 0 (<0 0)} ]
NB. try=: [: ( [+2 <./\ padrifshort)&.>/\@|. [: </. ]
NB. try=: [: (2 <./\ padrifshort)&.>/\@|. [: </. ]
NB. try=: [: (2 <./\ padrifshort)&.>/\ [: </. ]
NB. try=: [: (2 <./\ ])&.>/\ [: </. ]
NB. try=: [: (2 >./\ ])&.>/\ [: </. ]
NB. try=: [: (2 <./\ ])&.>/\ </.
try=: [: (2 <./\ ])&.>/\ </.

NB. the following do not crash
NB. try=: [: (>&#)&.>/\ [: </. ]
NB. try=: [: (padrifshort)&.>/\ [: </. ]
NB. try=: [: (2 <./\ ])&.>/ [: </. ]
NB. try=: [: (2 #\ ])&.>/\ [: </. ]
try ts

I hope this helps.

Jan-Pieter

On Thu, Jan 6, 2022, 23:18 bill lam <[email protected]> wrote:

> It's likely a 32-bit arm unaligned memory access issue. Can you check if it
> will also crash for a small max and ts ?
>
> On Fri, 7 Jan 2022 at 3:39 AM Jan-Pieter Jacobs <
> [email protected]>
> wrote:
>
> > I was trying to debug my implementation of Dijkstra's algorithm and ran
> > into this J crash:
> >
> > (AoC Day 15 spoiler ahead -- well sort off, the solution is not entirely
> > correct, hence the debugging :p)
> >
> > ts is a snaking path of 0's from 0 0 to 9 9, and try1 (should) implement
> > Dijkstra's algorithm for finding a path with a minimal sum of the nodes
> > crossed. Something in my implementation is wrong (hints welcome), but
> the J
> > bug turned up when I wanted to debug this approach by adding a \ to keep
> > intermediate results, which causes a bus error:
> >
> >    try=: [: ([ + 2 <./\ padrifshort)&.>/\@|. [: </. 0 (<0 0)} ]
> >    ts =: 0 1 0 0 0 1 0 0 0, (7 9$9$0 1), (0 0 0 1 0 0 0 1 0)
> >    try1=: [: ([ + 2 <./\ padrifshort)&.>/@|. [: </. 0 (<0 0)} ]
> >    max=: 2e9
> >    padrifshort=: ]`(max (,,[) ])@.(>&#)
> >    try1 ts NB. "works" no crash, but result is wrong.
> > ┌─┐
> > │2│
> > └─┘
> >    try ts
> > Bus error
> > NB. J crashed.
> >
> > For an explanation of the code, see (
> > http://www.jsoftware.com/pipermail/programming/2022-January/059538.html
> ).
> >
> > My J version:
> >    JVERSION
> > Engine: j903/j32/android
> > Release-a: commercial/2021-12-17T11:10:19
> > Library: 9.03.08
> > Platform: Android 32 (armeabi-v7a)
> > Installer: unknown
> > InstallPath: /mnt/sdcard/Android/data/com.jsoftware.j.android/files
> > Contact: www.jsoftware.com
> >
> > Jan-Pieter
> > ----------------------------------------------------------------------
> > 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