<div dir="ltr">Yes, I'm using math/flonum (for the first time) within untyped code (racket/base). Bad idea?</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Dec 30, 2014 at 2:47 PM, Vincent St-Amour <span dir="ltr"><<a href="mailto:stamourv@ccs.neu.edu" target="_blank">stamourv@ccs.neu.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Do you use Typed Racket, or libraries that use Typed Racket? (math,<br>
images, ...)<br>
<br>
TR's optimizer emits unsafe operations when it can prove that they're<br>
actually safe, but there may be bugs there.<br>
<br>
Vincent<br>
<br>
<br>
At Tue, 30 Dec 2014 12:19:38 -0800,<br>
<div class="HOEnZb"><div class="h5">Matthew Butterick wrote:<br>
><br>
> No, but the possibility of user error remains with us, always.<br>
><br>
> On Tue, Dec 30, 2014 at 12:06 PM, Pierpaolo Bernardi <<a href="mailto:olopierpa@gmail.com">olopierpa@gmail.com</a>><br>
> wrote:<br>
><br>
> > Just for excluding any possibility of user error: do you use any<br>
> > unsafe features?<br>
> ><br>
> > On Tue, Dec 30, 2014 at 8:43 PM, Matthew Butterick <<a href="mailto:mb@mbtype.com">mb@mbtype.com</a>> wrote:<br>
> > > No, it's all Racket libraries.<br>
> > ><br>
> > > OTOH I may be the one causing the memory-management problems. The issues<br>
> > are<br>
> > > arising in my typesetting program, which passes around some large data<br>
> > > structures as function inputs. By "large" I mean a list of 10e5 to 10e6<br>
> > > structs, each with its own hashtable. Perhaps this is imprudent. It<br>
> > > certainly makes the GC huff and puff (about 25-30% of my running time is<br>
> > GC)<br>
> > ><br>
> > > OTOOH, it does seem to be a command-line peculiarity, because I haven't<br>
> > > found a similar limit for DrRacket yet. For instance, I just typeset a<br>
> > file<br>
> > > with 1.5M characters, resulting in a ~600 page PDF, and it ran fine.<br>
> > ><br>
> > > When I tried running on the command line with this input, I got a<br>
> > different<br>
> > > error than before (and within a couple seconds of starting the program):<br>
> > ><br>
> > > Seg fault (internal error during gc) at 0x10aac0000<br>
> > > Bus error: 10 (core dumped)<br>
> > ><br>
> > ><br>
> > ><br>
> > ><br>
> > > On Tue, Dec 30, 2014 at 11:09 AM, Matthew Flatt <<a href="mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>><br>
> > wrote:<br>
> > >><br>
> > >> Does your program use any foreign libraries? That behavior sounds<br>
> > typical<br>
> > >> of memory-management problems.<br>
> > >><br>
> > >> > On Dec 30, 2014, at 11:47 AM, Matthew Butterick <<a href="mailto:mb@mbtype.com">mb@mbtype.com</a>><br>
> > wrote:<br>
> > >> ><br>
> > >> > I have a program that consistently works in DrRacket regardless of<br>
> > input<br>
> > >> > size.<br>
> > >> ><br>
> > >> > But on the command line, once input exceeds a certain threshold, the<br>
> > >> > program consistently dies with a "Segmentation fault: 11 (core<br>
> > dumped)"<br>
> > >> > error (though it works with smaller files). I'm invoking `racket`<br>
> > without<br>
> > >> > any special flags, like so:<br>
> > >> ><br>
> > >> > racket main.rkt<br>
> > >> ><br>
> > >> > I know which line of my program is triggering the segfault. But since<br>
> > >> > the error is related to the input size and the use of command-line<br>
> > Racket, I<br>
> > >> > think I ought to look elsewhere for the cause.<br>
> > >> ><br>
> > >> > Are there particular command-line flags that can be helpful in<br>
> > >> > diagnosing segfaults? Is a segfault like this typically due to<br>
> > running out<br>
> > >> > of memory?<br>
> > >> > ____________________<br>
> > >> >  Racket Users list:<br>
> > >> >  <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
> > >> ><br>
> > ><br>
> > ><br>
> > ><br>
> > > ____________________<br>
> > >   Racket Users list:<br>
> > >   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
> > ><br>
> ><br>
><br>
> ____________________<br>
>   Racket Users list:<br>
>   <a href="http://lists.racket-lang.org/users" target="_blank">http://lists.racket-lang.org/users</a><br>
</div></div></blockquote></div><br></div>