[racket] make-base-eval in Scribble file causing segmentation fault when building docs
I'm able to replicate the crash in v5.3.6, too. I need a little more
than the lines below, but
#lang scribble/manual
@(require scribble/eval)
@(void (make-base-eval))
@((make-base-eval) `(require describe))
is enough.
Also, I can get a crash when installing just "describe".
The problem goes away if I strip `math/bigfloat` our of `describe`. The
crash is custodian-related according to a low-level stack trace, the
`bigfloat` library uses `register-custodian-shutdown`, etc... see
Racket commit 7e42ee2003. That timing is consistent with a bug in
v5.3.x fixed in v6.x.
I can't think of a simple workaround to avoid the crash, but running
`raco setup -j 1` might clean up after the crash. Using `-j 1` avoids
building in parallel, since places seem to aggravate the bug.
At Fri, 30 May 2014 19:31:32 -0700, Matthew Butterick wrote:
> Looking for clues that would help debug the following error —
>
> I'm converting a package [1] to be multi-collection & thus compatible with
> Racket 5.3.5.
>
> The revised package works with 6.0. But under 5.3.5, I get a fatal
> 'segmentation fault: 11' error while building the docs. I by trial & error I
> have traced the offending code to the call to `make-base-eval` shown below:
>
> #lang scribble/manual
> @(require scribble/eval)
> @(define my-eval (make-base-eval))
>
> The segfault occurs when I install the package from the local directory, or
> when I use the Github URL for the source. [2]
>
> Comparing the docs between 5.3.5 and 6.0, I don't see any changes to
> make-base-eval, so at this point, I'm stuck for ideas.
>
>
>
>
> [1] http://github.com/mbutterick/sugar/tree/dev-53
>
> [2] github://github.com/mbutterick/sugar/dev-53____________________
> Racket Users list:
> http://lists.racket-lang.org/users