[racket] make-base-eval in Scribble file causing segmentation fault when building docs

From: Matthew Butterick (mb at mbtype.com)
Date: Sat May 31 10:09:01 EDT 2014

Thanks, that helps. For whatever reason, I didn't get the crash when just using `describe`, so I eliminated it as the culprit. I'll either fix `describe` or not use it at all. 



On May 31, 2014, at 1:40 AM, Matthew Flatt <mflatt at cs.utah.edu> wrote:

> 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



Posted on the users mailing list.