[plt-scheme] scheme/sandbox and gui stuff?

From: Matthew Flatt (mflatt at cs.utah.edu)
Date: Wed May 28 13:03:49 EDT 2008

I think that the main bug that you're seeing has been fixed in the last
couple of days. (The `gui-available?' funrction from
`scheme/gui/dynamic', which the sandbox uses, wasn't working right.)

If I run this now, I get a slightly different error:

 ACK! didn't find drscheme's stackframe when filtering
 . file-or-directory-modify-seconds: file access denied
 (/Users/mflatt/Library/Preferences/org.plt-scheme.prefs.ss read)

This error reflects that the sandbox doesn't let Slideshow access the
preferences file. (The "ACK!" prefix looks like a DrScheme problem
taht's still there.)

Running

 #lang scheme/gui
 (require scheme/sandbox)
 (define e 
   (parameterize ([sandbox-security-guard (current-security-guard)])
     (make-evaluator 'slideshow)))

with the latest in SVN works for me.


Matthew

At Wed, 28 May 2008 12:42:26 -0400 (EDT), Danny Yoo wrote:
> I'm seeing the following error when I try running this program under 
> DrScheme's module language:
> 
> #####################################
> #lang scheme/gui
> (require scheme/sandbox)
> (define e (make-evaluator 'slideshow))
> #####################################
> 
> 
> 
> The error is:
> 
> ###################################################################
> Welcome to DrScheme, version 3.99.0.25-svn16may2008 [3m].
> Language: Module; memory limit: 512 megabytes.
> ACK! didn't find drscheme's stackframe when filtering
> . . exception raised by error display handler: directory-exists?: file 
> access denied (/ exists); original exception raised: dynamic-require: 
> unknown module: '#%mred-kernel
> ###################################################################
> 
> 
> I haven't been able to use the gui module in an sandbox evaluator yet. 
> Any help would be appreciated.  Thanks!
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme


Posted on the users mailing list.