[Varnish] #309: Varnish freezes if >1k of binary postdata is passed in

Varnish varnish-bugs at projects.linpro.no
Wed Sep 3 22:36:55 CEST 2008


#309: Varnish freezes if >1k of binary postdata is passed in
---------------------+------------------------------------------------------
 Reporter:  Fry-kun  |        Owner:  des
     Type:  defect   |       Status:  new
 Priority:  high     |    Milestone:     
Component:  build    |      Version:  2.0
 Severity:  normal   |   Resolution:     
 Keywords:           |  
---------------------+------------------------------------------------------
Comment (by Fry-kun):

 By "freezes" I mean it hangs there for several seconds instead of sending
 a reply. Curl reports empty reply after 7 seconds.
 See curl log & varnishlog below:

 {{{
 $ time curl -v 'http://localhost:2001/' --data-binary
 '0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0'
 * About to connect() to localhost port 2001 (#0)
 *   Trying 127.0.0.1... connected
 * Connected to localhost (127.0.0.1) port 2001 (#0)
 > POST / HTTP/1.1
 > User-Agent: curl/7.18.2-CVS (x86_64-unknown-linux-gnu)
 libcurl/7.18.2-CVS OpenSSL/0.9.8b zlib/1.2.3
 > Host: localhost:2001
 > Accept: */*
 > Content-Length: 1025
 > Content-Type: application/x-www-form-urlencoded
 > Expect: 100-continue
 >
 < HTTP/1.1 100 Continue
 < Date: Wed, 03 Sep 2008 20:33:37 GMT
 < X-Varnish: 1298835500
 < Age: 0
 < Via: 1.1 varnish
 < Connection: keep-alive
 * Empty reply from server
 * Connection #0 to host localhost left intact
 curl: (52) Empty reply from server
 * Closing connection #0
 curl -v 'http://localhost:2001/' --data-binary   0.01s user 0.01s system
 0% cpu 7.016 total
 }}}


 {{{
     0 CLI          - Rd ping
     0 CLI          - Wr 0 200 PONG 1220474013
     8 SessionOpen  c 127.0.0.1 37002 0.0.0.0:2001
     0 CLI          - Rd ping
     0 CLI          - Wr 0 200 PONG 1220474016
     8 ReqStart     c 127.0.0.1 37002 1298835500
     8 RxRequest    c POST
     8 RxURL        c /
     8 RxProtocol   c HTTP/1.1
     8 RxHeader     c User-Agent: curl/7.18.2-CVS (x86_64-unknown-linux-
 gnu) libcurl/7.18.2-CVS OpenSSL/0.9.8b zlib/1.2.3
     8 RxHeader     c Host: localhost:2001
     8 RxHeader     c Accept: */*
     8 RxHeader     c Content-Length: 1025
     8 RxHeader     c Content-Type: application/x-www-form-urlencoded
     8 RxHeader     c Expect: 100-continue
     8 VCL_call     c recv
     8 VCL_return   c pass
     8 VCL_call     c pass
     8 VCL_return   c pass
     9 BackendClose - default
     9 BackendOpen  b default 127.0.0.1 52239 127.0.0.1 1089
     9 TxRequest    b POST
     9 TxURL        b /
     9 TxProtocol   b HTTP/1.1
     9 TxHeader     b User-Agent: curl/7.18.2-CVS (x86_64-unknown-linux-
 gnu) libcurl/7.18.2-CVS OpenSSL/0.9.8b zlib/1.2.3
     9 TxHeader     b Host: localhost:2001
     9 TxHeader     b Accept: */*
     9 TxHeader     b Content-Length: 1025
     9 TxHeader     b Content-Type: application/x-www-form-urlencoded
     9 TxHeader     b Expect: 100-continue
     9 TxHeader     b X-Varnish: 1298835500
     9 TxHeader     b X-Forwarded-For: 127.0.0.1
     9 RxProtocol   b HTTP/1.1
     9 RxStatus     b 100
     9 RxResponse   b Continue
     8 ObjProtocol  c HTTP/1.1
     8 ObjStatus    c 100
     8 ObjResponse  c Continue
     9 BackendReuse b default
     8 TTL          c 1298835500 RFC 3600 1220474017 0 0 0 0
     8 VCL_call     c fetch
     8 VCL_return   c pass
     8 Length       c 0
     8 VCL_call     c deliver
     8 VCL_return   c deliver
     8 TxProtocol   c HTTP/1.1
     8 TxStatus     c 100
     8 TxResponse   c Continue
     8 TxHeader     c Date: Wed, 03 Sep 2008 20:33:37 GMT
     8 TxHeader     c X-Varnish: 1298835500
     8 TxHeader     c Age: 0
     8 TxHeader     c Via: 1.1 varnish
     8 TxHeader     c Connection: keep-alive
     8 ReqEnd       c 1298835500 1220474015.862066031 1220474017.862364769
 0.000212431 2.000207663 0.000091076
     0 StatAddr     - 127.0.0.1 0 60 3 3 0 0 3 405 0
     0 CLI          - Rd ping
     0 CLI          - Wr 0 200 PONG 1220474019
     0 CLI          - Rd ping
     0 CLI          - Wr 0 200 PONG 1220474022
     8 SessionClose c timeout
     8 StatSess     c 127.0.0.1 37002 2 1 1 0 0 1 135 0
     0 CLI          - Rd ping
     0 CLI          - Wr 0 200 PONG 1220474025
     0 CLI          - Rd ping
     0 CLI          - Wr 0 200 PONG 1220474028
 }}}

-- 
Ticket URL: <http://varnish.projects.linpro.no/ticket/309#comment:2>
Varnish <http://varnish.projects.linpro.no/>
The Varnish HTTP Accelerator


More information about the varnish-bugs mailing list