[racket-dev] attacks on the plt web server?

From: Danny Yoo (dyoo at hashcollision.org)
Date: Tue Jan 22 19:17:41 EST 2013

I've noticed that one of my plt servers is being hit hard
occassionally, with the following output coming out of the Racket web
server before it crashes.  I'm including a portion of the output.
This is on Racket 5.3.  Can it be that somehow something is escaping
the custodian cleanup?


dyoo at web4 ~]$ tail -100 debug-crash.txt
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
read-byte: input port is closed
  context...:
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
make-request: contract violation
  expected: (or/c #f bytes?), given: #<eof>
  in: the 5th argument of
      (->
       bytes?
       url?
       (listof header?)
       (promise/c (listof binding?))
       (or/c #f bytes?)
       string?
       number?
       string?
       request?)
  contract from:
      <collects>/web-server/http/request-structs.rkt
  blaming:
      <collects>/web-server/http/request.rkt
  context...:
   /home/ubuntu/racket/collects/racket/contract/private/blame.rkt:89:0:
raise-blame-error
   /home/ubuntu/racket/collects/web-server/http/request.rkt:32:0
   /home/ubuntu/racket/collects/web-server/private/dispatch-server-unit.rkt:74:2:
connection-loop
Racket virtual machine has run out of memory; aborting

Posted on the dev mailing list.