Thanks! I've pushed a repair.
At Thu, 4 Sep 2014 01:56:07 -0400, Marc Burns wrote:
> Yes. I forgot that, in the case I was debugging, `unzip` was wrapping
> its input pipe with `make-limited-input-port`. The user port created by
> `make-limited-input-port` is causing the loop. Here's an example:
>
Confirm, I'm having a very similar issue. I haven't run gdb yet but I would bet
several horses on my code running through scheme_block_until near the busy wait.
I will try to get a minimal example together after I get out of meetings for
the day.
Cheers
> On Sep 3, 2014, at 16:52, Jan Dvořák
Yes. I forgot that, in the case I was debugging, `unzip` was wrapping
its input pipe with `make-limited-input-port`. The user port created by
`make-limited-input-port` is causing the loop. Here's an example:
#lang racket/base
(require racket/port)
(define-values (in out) (make-pipe))
(define p (m
Can you provide an example?
Here's what I tried, but it blocks without busy-waiting:
#lang racket
(require file/gunzip file/gzip)
(define dest (open-output-bytes))
(deflate (open-input-bytes #"hello") dest)
(define bstr (get-output-bytes dest))
(define-
The offending function in my case seems to be peek-bytes-avail!
The busy wait is entered on line 284 of collects/file/gunzip.rkt. Here's
what happens when I add some tracing to gunzip.rkt and then try to
inflate a Racket pipe:
...
+ (displayln "before read-bytes!")
(read-byt
Hello,
I am hitting a rather uncomfortable bug that causes runtime to start
internal busy-waiting at around:
#0 scheme_block_until(_f=,
fdf=)
at ../src/thread.c:5199
#1 do_sync (name="sync", with_break=0, with_timeout=0)
at ../src/thread.c:7109
It goes through ../src/thread.c:5190,
6 matches
Mail list logo