Re: [racket-users] Typed Racket segmentation fault

2019-06-05 Thread Philip McGrath
On Wed, Jun 5, 2019 at 12:26 PM James Geddes wrote: > Annoyingly, my colleague had got the same speedup by using Numpy, but that > does require a change to the way one arranges the calculation (and the > change is unnatural, to my eye). > Also, that's cheating! Numpy is mostly written in C,

Re: [racket-users] Typed Racket segmentation fault

2019-06-05 Thread James Geddes
This is very helpful, thank you. In fact, my "naive" version (in untyped Racket) was about the same speed as my colleague's naive Python version. Switching to fl+, fl-, etc bought me a 10x improvement (I presume from the JIT compiler avoiding boxing and unboxing?). Annoyingly, my colleague had

Re: [racket-users] Typed Racket segmentation fault

2019-06-05 Thread Matthew Flatt
Repair pushed. At Wed, 5 Jun 2019 09:45:58 -0600, Matthew Flatt wrote: > I had just reached the same conclusion. Specifically, it looks like a > missing runstack sync in the JIT-inlined `unsafe-make-flrectangular`. > > Thanks! > > At Wed, 5 Jun 2019 11:40:41 -0400, Sam Tobin-Hochstadt wrote: >

Re: [racket-users] Typed Racket segmentation fault

2019-06-05 Thread Philip McGrath
In case it's helpful as a workaround, changing the #lang line to: #lang typed/racket #:no-optimize will disable the type-based optimizations, so the problematic `unsafe-make-flrectangular` isn't introduced and the segfault is avoided. You presumably loose some performance, though, and "use this

Re: [racket-users] Typed Racket segmentation fault

2019-06-05 Thread Matthew Flatt
I had just reached the same conclusion. Specifically, it looks like a missing runstack sync in the JIT-inlined `unsafe-make-flrectangular`. Thanks! At Wed, 5 Jun 2019 11:40:41 -0400, Sam Tobin-Hochstadt wrote: > I think this is a miscompilation of `unsafe-make-flrectangular` by the > underlying

Re: [racket-users] Typed Racket segmentation fault

2019-06-05 Thread Sam Tobin-Hochstadt
I think this is a miscompilation of `unsafe-make-flrectangular` by the underlying Racket compiler. The below program is a plain racket version of the code, with just one use of unsafe, a call to `unsafe-make-flrectangular`. If that's replaced with `make-flrectangular`, then the program works

Re: [racket-users] Typed Racket segmentation fault

2019-06-05 Thread 'Paulo Matos' via Racket Users
On 05/06/2019 16:47, Philip McGrath wrote: > What version of Racket are you using? I get a segfault in 7.2, but 7.3 > works for me. I see the segfault in 7.1 but not in 7.2 or 7.3. Then I run it under valgrind and I see it in all the versions. :) It's there, but sometimes hiding. Will take a

Re: [racket-users] Typed Racket segmentation fault

2019-06-05 Thread James Geddes
I'm using version 7.3, amusingly. James > On 5 Jun 2019, at 15:47, Philip McGrath wrote: > > What version of Racket are you using? I get a segfault in 7.2, but 7.3 works > for me. > -Philip > > > On Wed, Jun 5, 2019 at 10:42 AM James Geddes wrote: > Dear All, > > The following Typed

Re: [racket-users] Typed Racket segmentation fault

2019-06-05 Thread Philip McGrath
What version of Racket are you using? I get a segfault in 7.2, but 7.3 works for me. -Philip On Wed, Jun 5, 2019 at 10:42 AM James Geddes wrote: > Dear All, > > The following Typed Racket program is intended to produce an image of the > Mandelbrot set (but it doesn't bother actually displaying

[racket-users] Typed Racket segmentation fault

2019-06-05 Thread James Geddes
Dear All, The following Typed Racket program is intended to produce an image of the Mandelbrot set (but it doesn't bother actually displaying the image). Running the program using command-line Racket causes a crash. Specifically, Racket terminates with the error message: Segmentation