nahi / httpclient

'httpclient' gives something like the functionality of libwww-perl (LWP) in Ruby.
https://github.com/nahi/httpclient
702 stars 290 forks source link

HTTPClient::KeepAliveDisconnected: HTTPClient::KeepAliveDisconnected httpclient-2.3.4.1/lib/httpclient/session.rb:882:in block in parse_header' #251

Open skaliber opened 9 years ago

skaliber commented 9 years ago

I'm trying to run calabash-android console ./apk/app-_debug-4.0.2-home_feed_recycler_view.apk and on the moment I type the query rg : query("button") I received this error from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.3.4.1/lib/httpclient/session.rb:882:in block in parse_header' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/timeout.rb:66:intimeout' from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/timeout.rb:97:in timeout' from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.3.4.1/lib/httpclient/session.rb:875:inparse_header' from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.3.4.1/lib/httpclient/session.rb:858:in read_header' from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.3.4.1/lib/httpclient/session.rb:667:inget_header' from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.3.4.1/lib/httpclient.rb:1137:in do_get_header' from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.3.4.1/lib/httpclient.rb:1086:indo_get_block' from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.3.4.1/lib/httpclient.rb:887:in block in do_request' from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.3.4.1/lib/httpclient.rb:986:inrescue in protect_keep_alive_disconnected' from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.3.4.1/lib/httpclient.rb:980:in protect_keep_alive_disconnected' from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.3.4.1/lib/httpclient.rb:886:indo_request' from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.3.4.1/lib/httpclient.rb:774:in request' from /Library/Ruby/Gems/2.0.0/gems/httpclient-2.3.4.1/lib/httpclient.rb:684:inpost' from /Library/Ruby/Gems/2.0.0/gems/calabash-android-0.5.8/lib/calabash-android/operations.rb:432:in make_http_request' from /Library/Ruby/Gems/2.0.0/gems/calabash-android-0.5.8/lib/calabash-android/operations.rb:388:inhttp' from /Library/Ruby/Gems/2.0.0/gems/calabash-android-0.5.8/lib/calabash-android/operations.rb:848:in http' from /Library/Ruby/Gems/2.0.0/gems/calabash-android-0.5.8/lib/calabash-android/operations.rb:1190:inmap' from /Library/Ruby/Gems/2.0.0/gems/calabash-android-0.5.8/lib/calabash-android/operations.rb:199:in `query'

Can someone help me ? this is my Gemfile.lock GEM specs: awesome_print (1.2.0) builder (3.2.2) calabash-android (0.5.8) awesome_print (~> 1.2) cucumber (~> 1.3.17) escape (~> 0.0.4) httpclient (>= 2.3.2, < 3.0) json (~> 1.8) retriable (>= 1.3.3.1, < 1.5) rubyzip (~> 1.1) slowhandcuke (~> 0.0.3) cucumber (1.3.18) builder (>= 2.1.2) diff-lcs (>= 1.1.3) gherkin (~> 2.12) multi_json (>= 1.7.5, < 2.0) multi_test (>= 0.1.1) diff-lcs (1.2.5) escape (0.0.4) gherkin (2.12.2) multi_json (~> 1.3) httpclient (2.3.4.1) json (1.8.2) multi_json (1.11.0) multi_test (0.1.2) retriable (1.3.3.1) rubyzip (1.1.7) slowhandcuke (0.0.3) cucumber

PLATFORMS ruby

DEPENDENCIES calabash-android (~> 0.5.8)

rnaud commented 8 years ago

We just updated to sidekiq 4 and I'm seeing the same issue.

File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/httpclient-2.6.0.1/lib/httpclient/session.rb" line 879 in block in parse_header
File "/var/app/20160301T042438Z/vendor/ruby-2.2.4/lib/ruby/2.2.0/timeout.rb" line 88 in block in timeout
File "/var/app/20160301T042438Z/vendor/ruby-2.2.4/lib/ruby/2.2.0/timeout.rb" line 98 in call
File "/var/app/20160301T042438Z/vendor/ruby-2.2.4/lib/ruby/2.2.0/timeout.rb" line 98 in timeout
File "/var/app/20160301T042438Z/vendor/ruby-2.2.4/lib/ruby/2.2.0/timeout.rb" line 124 in timeout
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/httpclient-2.6.0.1/lib/httpclient/session.rb" line 872 in parse_header
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/httpclient-2.6.0.1/lib/httpclient/session.rb" line 855 in read_header
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/httpclient-2.6.0.1/lib/httpclient/session.rb" line 662 in get_header
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/httpclient-2.6.0.1/lib/httpclient.rb" line 1247 in do_get_header
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/httpclient-2.6.0.1/lib/httpclient.rb" line 1194 in do_get_block
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/newrelic_rpm-3.12.1.298/lib/new_relic/agent/instrumentation/httpclient.rb" line 34 in block in do_get_block_with_newrelic
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/newrelic_rpm-3.12.1.298/lib/new_relic/agent/cross_app_tracing.rb" line 48 in tl_trace_http_request
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/newrelic_rpm-3.12.1.298/lib/new_relic/agent/instrumentation/httpclient.rb" line 33 in do_get_block_with_newrelic
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/httpclient-2.6.0.1/lib/httpclient.rb" line 974 in block in do_request
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/httpclient-2.6.0.1/lib/httpclient.rb" line 1087 in rescue in protect_keep_alive_disconnected
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/httpclient-2.6.0.1/lib/httpclient.rb" line 1081 in protect_keep_alive_disconnected
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/httpclient-2.6.0.1/lib/httpclient.rb" line 969 in do_request
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/httpclient-2.6.0.1/lib/httpclient.rb" line 1053 in follow_redirect
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/httpclient-2.6.0.1/lib/httpclient.rb" line 820 in request
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/firebase-0.2.6/lib/firebase.rb" line 56 in process
File "/var/app/20160301T042438Z/vendor/bundle/ruby/2.2.0/gems/firebase-0.2.6/lib/firebase.rb" line 28 in set

We are running httpclient-2.6.0.1 so the fix for KeepAliveDisconnected should already be in there. I tried to reproduce locally but no such luck.

We had to reboot our servers for the problem to go away, which seems to tell me that this is a race condition and a thread issue?