Skip to content

Test failures with webrick 1.7 #448

@dleidert

Description

@dleidert

We see the tests in httpclient run into timeouts with webrick 1.7.0. I was able to track it down to this line in lib/httpclient/session.rb:

    799     StatusParseRegexp = %r(\AHTTP/(\d+\.\d+)\s+(\d\d\d)\s*([^\r\n]+)?\r?\n\z)
    800     def parse_header(socket)
    801       ::Timeout.timeout(@receive_timeout, ReceiveTimeoutError) do
    802         initial_line = nil
    803         begin
    804           begin
=>  805             initial_line = socket.gets("\n")
    806             if initial_line.nil?
    807               close
    808               raise KeepAliveDisconnected.new(self)
    809             end
    810           rescue Errno::ECONNABORTED, Errno::ECONNRESET, Errno::EPIPE, IOError

Here it "stalls". The problem is caused by this small change in webrick:

ruby/webrick@069e9b1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions