slack-ruby / slack-ruby/slack-ruby-client

JRuby support, Faraday::SSLError: No message available

Open
#43 7 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

confirmed bug
Dominant language
Ruby
Stars
1.3k
Forks
222
Avg merge
1d 14h
Merged PRs (30d)
3

Description

Integration tests are failing against an actual slack service.

1) integration test gets hello
     Got 0 failures and 2 other errors:
     1.1) Failure/Error:
            response = connection.send(method) do |request|
              case method
              when :get, :delete
                request.url(path, options)
              when :post, :put
                request.path = path
                request.body = options unless options.empty?
          Faraday::SSLError:
            No message available
          # ./vendor/bundle/jruby/1.9/gems/webmock-1.22.5/lib/webmock/http_lib_adapters/net_http.rb:109:in `request'
          # ./vendor/bundle/jruby/1.9/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:82:in `perform_request'
          # ./vendor/bundle/jruby/1.9/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:40:in `call'
          # ./vendor/bundle/jruby/1.9/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:87:in `with_net_http_connection'
          # ./vendor/bundle/jruby/1.9/gems/faraday-0.9.2/lib/faraday/adapter/net_http.rb:32:in `call'
          # ./vendor/bundle/jruby/1.9/gems/faraday-0.9.2/lib/faraday/response.rb:8:in `call'
          # ./vendor/bundle/jruby/1.9/gems/faraday_middleware-0.10.0/lib/faraday_middleware/response_middleware.rb:30:in `call'
          # ./vendor/bundle/jruby/1.9/gems/faraday-0.9.2/lib/faraday/response.rb:8:in `call'
          # ./vendor/bundle/jruby/1.9/gems/faraday-0.9.2/lib/faraday/request/url_encoded.rb:15:in `call'
          # ./vendor/bundle/jruby/1.9/gems/faraday-0.9.2/lib/faraday/request/multipart.rb:14:in `call'
          # ./vendor/bundle/jruby/1.9/gems/faraday-0.9.2/lib/faraday/rack_builder.rb:139:in `build_response'
          # ./vendor/bundle/jruby/1.9/gems/faraday-0.9.2/lib/faraday/connection.rb:377:in `run_request'
          # ./vendor/bundle/jruby/1.9/gems/faraday-0.9.2/lib/faraday/connection.rb:181:in `post'
          # ./lib/slack/web/faraday/request.rb:25:in `request'
          # ./lib/slack/web/faraday/request.rb:10:in `post'
          # ./lib/slack/web/api/endpoints/rtm.rb:21:in `rtm_start'
          # ./lib/slack/real_time/client.rb:74:in `build_socket'
          # ./lib/slack/real_time/client.rb:46:in `start_async'
          # ./spec/integration/integration_spec.rb:22:in `connection'
          # ./spec/integration/integration_spec.rb:44:in `start_server'
          # ./spec/integration/integration_spec.rb:91:in `(root)'
          # ./spec/integration/integration_spec.rb:6:in `(root)'
          # ./vendor/bundle/jruby/1.9/gems/vcr-3.0.1/lib/vcr.rb:244:in `turned_off'
          # ./spec/integration/integration_spec.rb:6:in `(root)'
     1.2) Failure/Error: fail ThreadError, 'queue empty' if @queue.empty?

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with spec/integration/integration_spec.rb and reproduce the JRuby failure, then trace the request through lib/slack/web/faraday/request.rb, lib/slack/web/api/endpoints/rtm.rb, and lib/slack/real_time/client.rb. Done means the JRuby integration test reaches the Slack service without Faraday::SSLError or the resulting queue-empty error.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
api
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
30/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.