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.
