[racket-dev] sporadic failure when building PLaneT docs

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Fri Aug 19 10:21:36 EDT 2011

It looks like this is a problem with the sandbox or the use of the
sandbox somehow. Here's the stacktrace for the error:

---------
require: unknown module: 'program

 === context ===
/Applications/Racket v5.1.3/collects/racket/sandbox.rkt:572:17: ns
/Applications/Racket v5.1.3/collects/racket/sandbox.rkt:583:20
/Applications/Racket v5.1.3/collects/racket/sandbox.rkt:564:0: evaluate-program
/Applications/Racket
v5.1.3/collects/racket/private/more-scheme.rkt:151:2:
call-with-break-parameterization
/Applications/Racket v5.1.3/collects/racket/sandbox.rkt:703:2: user-process
---------


I'm not seeing anything when looking at your code that looks
suspicious, but I'm not sure of the ins and outs of the sandbox
protocols so I'm not sure who to blame here (well, probably the
sandbox needs to be blamed since the error is not illuminating, but
there may be other problems that that error is masking).

One difference that I notice is that scribble's make-base-eval doesn't
create the evaluator in the same way your code does; it uses a
different argument to make-evaluator that puts the evaluator into a
different mode somehow. That could be relevant.

Maybe Eli can say more?

Also, with the following program in tmp.rkt

  #lang racket/base
  (require (planet dyoo/closure-compile))
  closure-compile

then running "racket -W info tmp.rkt" is enough to reproduce the
problem (assuming dyoo/closure-compile isn't installed). You don't
need to actually install other packages.

Hope that helps a little bit.

Robby

On Wed, Aug 17, 2011 at 3:44 PM, Danny Yoo <dyoo at cs.wpi.edu> wrote:
> I'm seeing the following error message when I'm compiling Whalesong:
>
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
> require: unknown module: 'program
> raco setup: error: during Building docs for
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/manual.scrbl
> ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
>
>
> Wait, that's odd!  I thought that my closure-compile package compiled
> cleanly.  I tested this!
>
>
>
> I removed the closure-compile.plt package, and then tried reinstalling
> that package directly.  To my dismay: I couldn't reproduce the error:
> the transcript below shows that I don't get a error about "unknown
> module":
>
> ########################################################################################
> dyoo at kfisler-ra1:~$ planet install dyoo closure-compile.plt 1 2
> downloading dyoo/closure-compile:1 from planet.racket-lang.org via HTTP
>
> ============= Installing closure-compile.plt on Wed, 17 Aug 2011
> 16:27:15 =============
> raco setup: Unpacking archive from
> /home/dyoo/.racket/planet/300/packages/dyoo/closure-compile.plt/1/2/closure-compile.plt
> raco setup:   unpacking COPYING in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./
> raco setup:   unpacking compiler.jar in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./
> raco setup:   unpacking info.rkt in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./
> raco setup:   unpacking main.rkt in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./
> raco setup:   unpacking manual.html in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./
> raco setup:   unpacking manual.scrbl in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./
> raco setup:   making directory planet-docs in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./
> raco setup:   making directory manual in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./planet-docs/
> raco setup:   unpacking index.html in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./planet-docs/manual/
> raco setup:   unpacking racket.css in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./planet-docs/manual/
> raco setup:   unpacking scribble-common.js in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./planet-docs/manual/
> raco setup:   unpacking scribble-style.css in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./planet-docs/manual/
> raco setup:   unpacking scribble.css in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./planet-docs/manual/
> raco setup:   unpacking racket.css in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./
> raco setup:   unpacking scribble-common.js in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./
> raco setup:   unpacking scribble-style.css in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./
> raco setup:   unpacking scribble.css in
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/./
> raco setup: version: 5.1.3 [3m]
> raco setup: variants: 3m
> raco setup: main collects: /home/dyoo/local/racket-5.1.3/collects
> raco setup: collects paths:
> raco setup:   /home/dyoo/.racket/5.1.3/collects
> raco setup:   /home/dyoo/local/racket-5.1.3/collects
> raco setup: --- pre-installing collections ---
> raco setup: --- compiling collections ---
> raco setup: making: <planet>/dyoo/closure-compile.plt/1/2 (closure-compile)
> raco setup:  in <planet>/dyoo/closure-compile.plt/1/2
> raco setup: making: <planet>/dyoo/closure-compile.plt/1/2/planet-docs
> raco setup: making: <planet>/dyoo/closure-compile.plt/1/2/planet-docs/manual
> raco setup: --- updating info-domain tables ---
> raco setup: updating: /home/dyoo/.racket/planet/300/5.1.3/cache.rktd
> raco setup: --- creating launchers ---
> raco setup: --- building documentation ---
> raco setup: running: <planet>/dyoo/closure-compile.plt/1/2/manual.scrbl
> raco setup: rendering: <planet>/dyoo/closure-compile.plt/1/2/manual.scrbl
> raco setup: --- installing collections ---
> raco setup: --- post-installing collections ---
> ------------- Rebuilding documentation index -------------
> raco setup: version: 5.1.3 [3m]
> raco setup: variants: 3m
> raco setup: main collects: /home/dyoo/local/racket-5.1.3/collects
> raco setup: collects paths:
> raco setup:   /home/dyoo/.racket/5.1.3/collects
> raco setup:   /home/dyoo/local/racket-5.1.3/collects
> raco setup: --- pre-installing collections ---
> raco setup: --- compiling collections ---
> raco setup: making: scribblings/main/user
> raco setup: --- updating info-domain tables ---
> raco setup: --- creating launchers ---
> raco setup: --- building documentation ---
> raco setup: rendering: scribblings/main/user/start.scrbl
> raco setup: rendering: scribblings/main/user/search.scrbl
> raco setup: re-rendering: scribblings/main/user/start.scrbl
> raco setup: --- installing collections ---
> raco setup: --- post-installing collections ---
> ########################################################################################
>
>
>
> Odd.  I removed all the packages from my system, and tried setting up
> Whalesong again.  I created a development link to Whalesong, and then
> started the installation procedure:
>
> #################################################################
> dyoo at kfisler-ra1:~/work/whalesong$ raco setup -P dyoo whalesong.plt 1 2
> raco setup: version: 5.1.3 [3m]
> raco setup: variants: 3m
> raco setup: main collects: /home/dyoo/local/racket-5.1.3/collects
> raco setup: collects paths:
> raco setup:   /home/dyoo/.racket/5.1.3/collects
> raco setup:   /home/dyoo/local/racket-5.1.3/collects
> raco setup: --- pre-installing collections ---
> raco setup: --- compiling collections ---
> raco setup: making: /home/dyoo/work/whalesong/ (Whalesong)
> raco setup:  in /home/dyoo/work/whalesong/
> raco setup:  in /home/dyoo/work/whalesong/lang/
> raco setup:  in /home/dyoo/work/whalesong/world/
> raco setup:  in /home/dyoo/work/whalesong/lang/js/
> raco setup:  in /home/dyoo/work/whalesong/image/
> raco setup:  in /home/dyoo/work/whalesong/image/private/
> raco setup:  in /home/dyoo/work/whalesong/make/
> raco setup:  in /home/dyoo/work/whalesong/compiler/
> raco setup:  in /home/dyoo/work/whalesong/parser/
> raco setup:  in /home/dyoo/work/whalesong/version-case/
> raco setup:  in /home/dyoo/work/whalesong/js-assembler/
> raco setup:  in /home/dyoo/work/whalesong/resource/
> require: unknown module: 'program
> raco setup: error: during Building docs for
> /home/dyoo/.racket/planet/300/5.1.3/cache/dyoo/closure-compile.plt/1/2/manual.scrbl
> #################################################################
>
>
> I'm confused now, because it does appear that the compilation error is
> context-sensitive.  It appears to show up if I'm building a collection
> that requires my closure-compile.plt PLaneT package.
>
> I've been staring at the source to closure-compile.plt's manual.scrbl
> file, but I don't see anything there that should care about the
> compilation context.
> _________________________________________________
>  For list-related administrative tasks:
>  http://lists.racket-lang.org/listinfo/dev
>



Posted on the dev mailing list.