Re: [racket-dev] [racket] Profiling mostly macro-generated definitions?
I believe I'm using the 32 bit build in all those cases, tho. Are you using the 64 bit one? Yes. Thanks. I see this too. Here's a shorter program illustrating the difference. #lang racket (require profile) (define (f x) (if (zero? x) (continuation-mark-set-context (current-continuation-marks)) (values (f (- x 1) (unless (zero? (random 1)) (set! f void)) (f 10) Running this with a 64bit racket under windows returns the empty list, but with a 32bit racket under windows returns a list of a bunch of stuff: C:\Users\robby\git\pltRacket.exe C:\Users\robby\tmp.rkt (list (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 3 3 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rk t 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons '|[running body]| (srcloc #path:C:\U sers\robby\tmp.rkt #f #f #f #f))) _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] [racket] Profiling mostly macro-generated definitions?
Sorry that I've been slow to catch on in this thread... Yes, stack traces in JIT mode don't really work in Win64, and that's why `profile' gives no information. I'll try to improve Win64 context support sometime soon. At Fri, 31 Aug 2012 07:05:14 -0500, Robby Findler wrote: I believe I'm using the 32 bit build in all those cases, tho. Are you using the 64 bit one? Yes. Thanks. I see this too. Here's a shorter program illustrating the difference. #lang racket (require profile) (define (f x) (if (zero? x) (continuation-mark-set-context (current-continuation-marks)) (values (f (- x 1) (unless (zero? (random 1)) (set! f void)) (f 10) Running this with a 64bit racket under windows returns the empty list, but with a 32bit racket under windows returns a list of a bunch of stuff: C:\Users\robby\git\pltRacket.exe C:\Users\robby\tmp.rkt (list (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 3 3 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rk t 4 0 33 133)) (cons 'f (srcloc #path:C:\Users\robby\tmp.rkt 4 0 33 133)) (cons '|[running body]| (srcloc #path:C:\U sers\robby\tmp.rkt #f #f #f #f))) _ Racket Developers list: http://lists.racket-lang.org/dev _ Racket Developers list: http://lists.racket-lang.org/dev
[racket-dev] desired behavior of (in-directory …) when lacking permissions?
Currently, using the (in-directory …) sequence in a directory where there are unreadable directories causes a funny internal contract failure. Suppose I have directory /tmp/f, containing directory sekrit which I cannot read. Then this program: #lang racket (sequence-list (in-directory /tmp/f)) … produces this pair of errors: . . plt/collects/racket/private/for.rkt:1857:28: directory-list: could not open directory path: /tmp/f/sekrit system error: Permission denied; errno=13 . . car: contract violation expected: pair? given: #void The first one looks reasonable, but why wouldn't that error just abort the whole computation? It looks like there's a handler somewhere that eats this error but then tries to continue by passing #void rather than a list. The docs don't seem to have anything to say about this. Is this a bug? John smime.p7s Description: S/MIME cryptographic signature _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] desired behavior of (in-directory …) when lacking permissions?
At Fri, 31 Aug 2012 09:55:04 -0700, John Clements wrote: #lang racket (sequence-list (in-directory /tmp/f)) … produces this pair of errors: . . plt/collects/racket/private/for.rkt:1857:28: directory-list: could not open directory path: /tmp/f/sekrit system error: Permission denied; errno=13 . . car: contract violation expected: pair? given: #void The first one looks reasonable, but why wouldn't that error just abort the whole computation? It looks like there's a handler somewhere that eats this error but then tries to continue by passing #void rather than a list. The docs don't seem to have anything to say about this. Is this a bug? Yes. The implementation of `in-directory' uses a prompt with the default continuation prompt tag. It should use its own tag, instead, to avoid interfering with error escapes. I'll push a repair. _ Racket Developers list: http://lists.racket-lang.org/dev
Re: [racket-dev] [plt] Push #25302: master branch updated
On Aug 31, 2012, at 3:07 PM, mfl...@racket-lang.org wrote: mflatt has updated `master' from eed93825ab to 7b2e18afc5. http://git.racket-lang.org/plt/eed93825ab..7b2e18afc5 =[ 2 Commits ]== Directory summary: 11.6% collects/racket/private/ 49.7% collects/scribble/ 24.5% collects/scribblings/scribble/ 14.0% collects/tests/racket/ ~~ 9cfcf89 Matthew Flatt mfl...@racket-lang.org 2012-08-31 11:12 : | fix `in-directory' to properly propagate filesystem errors : M collects/racket/private/for.rkt | 10 +++--- M collects/tests/racket/file.rktl | 15 +++ Thanks! John smime.p7s Description: S/MIME cryptographic signature _ Racket Developers list: http://lists.racket-lang.org/dev