Maybe it's a problem with the use of Cairo or Pango in `racket/draw`, assuming that you're using `racket/draw` to produce PDF output. If you can send me an example program that crashes, then I should be able to sort it out.
At Tue, 30 Dec 2014 11:43:51 -0800, Matthew Butterick wrote: > No, it's all Racket libraries. > > OTOH I may be the one causing the memory-management problems. The issues > are arising in my typesetting program, which passes around some large data > structures as function inputs. By "large" I mean a list of 10e5 to 10e6 > structs, each with its own hashtable. Perhaps this is imprudent. It > certainly makes the GC huff and puff (about 25-30% of my running time is > GC) > > OTOOH, it does seem to be a command-line peculiarity, because I haven't > found a similar limit for DrRacket yet. For instance, I just typeset a file > with 1.5M characters, resulting in a ~600 page PDF, and it ran fine. > > When I tried running on the command line with this input, I got a different > error than before (and within a couple seconds of starting the program): > > Seg fault (internal error during gc) at 0x10aac0000 > Bus error: 10 (core dumped) > > > > > On Tue, Dec 30, 2014 at 11:09 AM, Matthew Flatt <mfl...@cs.utah.edu> wrote: > > > Does your program use any foreign libraries? That behavior sounds typical > > of memory-management problems. > > > > > On Dec 30, 2014, at 11:47 AM, Matthew Butterick <m...@mbtype.com> wrote: > > > > > > I have a program that consistently works in DrRacket regardless of input > > size. > > > > > > But on the command line, once input exceeds a certain threshold, the > > program consistently dies with a "Segmentation fault: 11 (core dumped)" > > error (though it works with smaller files). I'm invoking `racket` without > > any special flags, like so: > > > > > > racket main.rkt > > > > > > I know which line of my program is triggering the segfault. But since > > the error is related to the input size and the use of command-line Racket, > > I think I ought to look elsewhere for the cause. > > > > > > Are there particular command-line flags that can be helpful in > > diagnosing segfaults? Is a segfault like this typically due to running out > > of memory? > > > ____________________ > > > Racket Users list: > > > http://lists.racket-lang.org/users > > > > > > ____________________ > Racket Users list: > http://lists.racket-lang.org/users ____________________ Racket Users list: http://lists.racket-lang.org/users