Yes, I think a "port is closed" error is likely. Although the crashes both 
happened immediately after running the program w/in DrScheme, I later added 
the sleep to avoid getting blocked, and then I got an error regarding the 
port being closed, so I read up on http-conn-sendrecv! and realized that, 
according to the docs, the server could request the port to be closed.

Since I was going to be sleeping anywhere between 10 and 50 seconds, I 
thought it likely the port could be closed, so I switched to the version in 
the gist to get a fresh connection each time and close it automatically.

I should be able to go back to the http-conn-sendrecv! version and get a 
small reproducible test case. It crashed three out of three times before I 
gave up and switched to running on the command line, so I think it 
shouldn't be difficult to reproduce. I'll try and do that on Wed.

Thanks for looking into it.

On Tuesday, October 6, 2015 at 10:49:22 PM UTC-4, mflatt wrote:
>
> From the stack trace, it looks like this is an 
>
>  about to suspend in atomic mode 
>
> error that was hit in the process of trying to report another error by 
> writing that error to DrRacket's window. 
>
> I don't see what has put the VM in atomic mode, but it looks like the 
> original error was a "port is closed" error via `read-line`. Maybe the 
> `read-line` call was reached through `http-conn-sendrecv!`, since I see 
> one in the `net/http-client` library. 
>
> Does a "port is closed" error sound familiar, especially during the 
> time that you used `http-conn-sendrecv!`? Can you reconstruct the 
> version that used `http-conn-sendrecv!`? 
>
> Thanks for the report, 
> Matthew 
>
> At Tue, 6 Oct 2015 10:30:59 -0700 (PDT), Brian Adkins wrote: 
> > I wrote a simple web crawler in Racket. It ran fine via "racket 
> > crawler.rkt" from the command line, but I had a number of crashes in 
> > DrScheme 6.2.1. I haven't been able to narrow it down to a nice, small, 
> > reproducible test case, but I thought I'd provide some of the info I 
> have 
> > in case it may be of use. Here is a gist that has two crash logs and the 
> > source code: 
> > 
> > https://gist.github.com/lojic/685a71594bb3f0cf1faa 
> > 
> > I've modified the code since the crashes, and I'm not sure if it's still 
> > crashing in the version in the gist - I ran the latest briefly w/o a 
> crash. 
> > The crash may have happened when I was getting an http connection and 
> using 
> > http-conn-sendrecv! instead of getting a fresh connection each time, but 
> > that's a guess. 
> > 
> > If the crash reports aren't sufficient in themselves, I can try and 
> produce 
> > a more suitable test case. 
> > 
> > As an aside, the web crawler was used to gather programming language 
> > popularity stats for this blog post: 
> > 
> http://blog.lojic.com/2015/10/06/programming-language-popularity-part-nine/ 
> > 
> > I'm hoping to help increase Racket's rank in that list as I gain some 
> > competency :) 
> > 
> > Thanks, 
> > Brian 
> > 
> > 
> > -- 
> > You received this message because you are subscribed to the Google 
> Groups 
> > "Racket Developers" group. 
> > To unsubscribe from this group and stop receiving emails from it, send 
> an 
> > email to [email protected] <javascript:>. 
> > To post to this group, send email to [email protected] 
> <javascript:>. 
> > To view this discussion on the web visit 
> > 
> https://groups.google.com/d/msgid/racket-dev/2e35260e-7916-4e3d-9c3a-464a9bd26a
>  
> > 3a%40googlegroups.com. 
> > For more options, visit https://groups.google.com/d/optout. 
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/racket-dev/e02fc7d5-d712-4bce-91db-e49f53657b51%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to