Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Any operation from rubygems with webauthn hangs and timeout #7553

Closed
dorianmariecom opened this issue Apr 4, 2024 · 0 comments · Fixed by #7623
Closed

Any operation from rubygems with webauthn hangs and timeout #7553

dorianmariecom opened this issue Apr 4, 2024 · 0 comments · Fixed by #7623
Labels

Comments

@dorianmariecom
Copy link

Describe the problem as clearly as you can

gem push and gem login both hangs and timeout

Did you try upgrading RubyGems?

gem -v
3.5.7

After the upgrade I get:

ERROR:  Security device verification failed: Unauthorized

Post steps to reproduce the problem

~/s/d/code-ruby> gem login
Enter your RubyGems.org credentials.
Don't have an account yet? Create one at https://rubygems.org/sign_up
   Email:   dorian@dorianmarie.com
Password:   

API Key name [Dorians-MacBook-Air.local-dorianmariefr-20240404102123]:   
Please select scopes you want to enable for the API key (y/n)
index_rubygems [yN]  n
push_rubygem [yN]  y
yank_rubygem [yN]  n
add_owner [yN]  n
remove_owner [yN]  
access_webhooks [yN]  
show_dashboard [yN]  

You have enabled multi-factor authentication. Please visit https://rubygems.org/webauthn_verification/fj2kFNnXoZWMxwsf?port=64387 to authenticate via security device. If you can't verify using WebAuthn but have OTP enabled, you can re-run the gem signin command with the `--otp [your_code]` option.
You are verified with a security device. You may close the browser window.
ERROR:  While executing gem ... (Gem::Net::OpenTimeout)
    Failed to open TCP connection to rubygems.org:443 (Gem::Net::OpenTimeout)
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/net-http/lib/net/http.rb:1603:in `initialize'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/net-http/lib/net/http.rb:1603:in `open'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/net-http/lib/net/http.rb:1603:in `block in connect'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/timeout/lib/timeout.rb:186:in `block in timeout'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/timeout/lib/timeout.rb:193:in `timeout'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/net-http/lib/net/http.rb:1601:in `connect'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/net-http/lib/net/http.rb:1580:in `do_start'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/net-http/lib/net/http.rb:1575:in `start'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/request.rb:273:in `reset'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/request.rb:255:in `rescue in perform_request'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/request.rb:198:in `perform_request'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/request.rb:160:in `fetch'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/remote_fetcher.rb:318:in `request'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/gemcutter_utilities.rb:249:in `request_with_otp'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/gemcutter_utilities.rb:110:in `rubygems_api_request'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/gemcutter_utilities.rb:175:in `sign_in'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/commands/signin_command.rb:32:in `execute'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/command.rb:326:in `invoke_with_build_args'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/command_manager.rb:254:in `invoke_command'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/command_manager.rb:193:in `process_args'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/command_manager.rb:151:in `run'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/3.3.0/rubygems/gem_runner.rb:56:in `run'
	/Users/dorianmariefr/.asdf/installs/ruby/3.3.0/bin/gem:12:in `<main>'

Which command did you run?

gem login

What were you expecting to happen?

Be able to push gems with gem push

What actually happened?

It first hanged, then timeout and after upgrade I get an error message

Run gem env and paste the output below

RubyGems Environment:
  - RUBYGEMS VERSION: 3.5.7
  - RUBY VERSION: 3.3.0 (2023-12-25 patchlevel 0) [arm64-darwin23]
  - INSTALLATION DIRECTORY: /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0
  - USER INSTALLATION DIRECTORY: /Users/dorianmariefr/.gem/ruby/3.3.0
  - RUBY EXECUTABLE: /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/bin/ruby
  - GIT EXECUTABLE: /opt/homebrew/bin/git
  - EXECUTABLE DIRECTORY: /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/bin
  - SPEC CACHE DIRECTORY: /Users/dorianmariefr/.gem/specs
  - SYSTEM CONFIGURATION DIRECTORY: /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/etc
  - RUBYGEMS PLATFORMS:
     - ruby
     - arm64-darwin-23
  - GEM PATHS:
     - /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/lib/ruby/gems/3.3.0
     - /Users/dorianmariefr/.gem/ruby/3.3.0
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => true
     - :bulk_threshold => 1000
     - "gem" => "--no-document"
  - REMOTE SOURCES:
     - https://rubygems.org/
  - SHELL PATH:
     - /Users/dorianmariefr/.asdf/installs/ruby/3.3.0/bin
     - /opt/homebrew/sbin
     - /opt/homebrew/opt/libpq/bin
     - /Users/dorianmariefr/Library/Android/sdk/platform-tools
     - /Users/dorianmariefr/Library/Android/sdk/emulator
     - /opt/homebrew/bin
     - /usr/local/sbin
     - /Users/dorianmariefr/.bin
     - /Users/dorianmariefr/.asdf/shims
     - /Users/dorianmariefr/.asdf/bin
     - /usr/local/bin
     - /System/Cryptexes/App/usr/bin
     - /usr/bin
     - /bin
     - /usr/sbin
     - /sbin
     - /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/local/bin
     - /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/bin
     - /var/run/com.apple.security.cryptexd/codex.system/bootstrap/usr/appleinternal/bin
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant