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

Console crashes "premature end of char-class" #497

Closed
matiasgarcia opened this issue Jan 21, 2022 · 1 comment · Fixed by #498
Closed

Console crashes "premature end of char-class" #497

matiasgarcia opened this issue Jan 21, 2022 · 1 comment · Fixed by #498

Comments

@matiasgarcia
Copy link

Your environment

  • ruby -v: ruby 2.7.5p203 (2021-11-24 revision f69aeb8314) [x86_64-linux]
  • rdbg -v: rdbg 1.4.0

Describe the bug
Console crashes when debugging.

To Reproduce

I have the following code:

module Cynopsis
  module Client
    class Base
      include HTTParty
      attr_reader :credentials
      delegate :access_token, :token_type, :refresh_token, :id_token, to: :credentials
      headers "Content-Type" => "application/json"

      def initialize(username, password, config: ::Cynopsis::Config)
        @aws_srp = Aws::CognitoSrp.new(
          username: username,
          password: password,
          pool_id: config.aws_cognito_pool_id,
          client_id: config.aws_cognito_app_client_id,
          aws_client: Aws::CognitoIdentityProvider::Client.new(region: config.aws_region)
        )
        @credentials = @aws_srp.authenticate
      end

      def refresh_tokens
        @credentials = @aws_srp.refresh_tokens(refresh_token)
      end

      def do_request(method, *args)
        debugger
        options = args[1] ||= {}
        options[:headers] || {}
        options[:headers]["Authorization"] = "Bearer #{access_token}"
        self.class.public_send(method, *args)
      end
    end
  end
end

module Cynopsis
  module Client
    class Artemis < Base
      base_uri ::Cynopsis::Config.artemis_base_uri.to_s
      headers "X-ARTEMIS-DOMAIN" => ::Cynopsis::Config.artemis_domain.to_s

      ENGINE_TYPES = %w[DJ DJ2 TR ArtemiScan]

      # Step 1 Create Customer
      #
      #   # 1a. We create a customer
      #   Artemis.create_customer(payload)
      # Cynopsis::Client::Artemis.new('mgarcia@bitex.la', 'xxx!').create_customer({payment_modes: ['UNKNOWN'], onboarding_mode: 'UNKNOWN', product_service_complexity: 'UNKNOWN', domains: [27], individual_records: [{ name: 'Walter White', gender: 'MALE', nationality: 'ARGENTINA', country_of_residence: 'ARGENTINA', occupation: 'ARCHITECT', industry: 'AGRICULTURE', primary: true}]})
      def create_customer(payload)
        self.class.post("/client/customers/", { :body => payload.to_json })
      end
    end
  end
end

The important part is that I placed a debugger in this method:

def do_request(method, *args)
        debugger
        options = args[1] ||= {}
        options[:headers] || {}
        options[:headers]["Authorization"] = "Bearer #{access_token}"
        self.class.public_send(method, *args)
      end

When running in console, as soon as I type in the command line args[ it crashes:

irb(main):001:0> client = Cynopsis::Client::Artemis.new('asdsad@asdsad.la', 'asdsad!').do_request(:get, '/client/customers')
[20, 29] in ~/projects/compliance-backend-api/lib/cynopsis/client/base.rb
    20|       def refresh_tokens
    21|         @credentials = @aws_srp.refresh_tokens(refresh_token)
    22|       end
    23| 
    24|       def do_request(method, *args)
=>  25|         debugger
    26|         options = args[1] ||= {}
    27|         options[:headers] || {}
    28|         options[:headers]["Authorization"] = "Bearer #{access_token}"
    29|         self.class.public_send(method, *args)
=>#0	Cynopsis::Client::Base#do_request(method=:get, args=["/client/customers"]) at ~/projects/compliance-backend-api/lib/cynopsis/client/base.rb:25
  #1	<top (required)> at (irb):1
  # and 27 frames (use `bt' command for all frames)
(rdbg) args
["/client/customers"]
(rdbg) args[

Traceback (most recent call last):
/home/mgarcia/projects/compliance-backend-api/lib/cynopsis/client/base.rb:28:in `do_request': undefined method `[]=' for nil:NilClass (NoMethodError)
#<Thread:0x000055f126d0bd68@DEBUGGER__::SESSION@server /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:148 run> terminated with exception (report_on_exception is true):
   Traceback (most recent call last):
                                     	37: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:168:in `block in activate'
                                                                                                                                                                         	36: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:198:in `session_server_main'
                                                                                                	35: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:289:in `process_event'
                  	34: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:332:in `wait_command_loop'
                                                                                                                                                         	33: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:332:in `loop'
                                                                 	32: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:333:in `block in wait_command_loop'
                                                                                                                                                                                                                  31: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:373:in `wait_command'
                                                                                                                           	30: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/local.rb:71:in `readline'
                                  	29: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/local.rb:77:in `setup_interrupt'
                                                                                                                                                                    	28: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:1689:in `intercept_trap_sigint'
                                                                                           	27: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/local.rb:84:in `block in setup_interrupt'
                  	26: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/local.rb:72:in `block in readline'
                                                                                                                                                      	25: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/console.rb:100:in `readline'
                                                             	24: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/console.rb:82:in `readline_setup'
                                                                                                                                                                                             	23: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/console.rb:101:in `block in readline'
                                                                                                              	22: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline'
                                                                                                                                                                                                                 	21: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:254:in `readmultiline'
                                                                                                                      	20: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:324:in `inner_readline'
                             	19: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:324:in `loop'
                                                                                                                                              	18: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:326:in `block in inner_readline'
                                                              	17: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:373:in `read_io'
                                                                                                                                                                                 	16: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:373:in `loop'
                                                                                   	15: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:403:in `block in read_io'
                                                                                                                                                                                                                  14: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:328:in `block (2 levels) in inner_readline'
                                                                                                                                           	13: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:328:in `each'
                                           	12: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:330:in `block (3 levels) in inner_readline'
                                                                                                                                                                                            	11: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:510:in `rerender'
                                                                                                           	10: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:650:in `render_dialog'
                                	 9: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:650:in `each'
                                                                                                                                                                  	 8: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:651:in `block in render_dialog'
                                                                                                 	 7: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:667:in `render_each_dialog'
                             	 6: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:623:in `call'
                                                                                                                                                          	 5: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:588:in `call'
                                                                       	 4: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:588:in `instance_exec'
                                                                                                                                                                                                           	 3: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:226:in `block in <class:Core>'
                                                                                                                            	 2: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:543:in `call_completion_proc_with_checking_args'
                                                                          	 1: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:1677:in `call_completion_proc_with_checking_args'
                           /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/console.rb:55:in `block in readline_setup': premature end of char-class: /\\Aargs[/ (RegexpError)
                                                                                                                                                                                                               Traceback (most recent call last):
	37: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:168:in `block in activate'
	36: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:198:in `session_server_main'
	35: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:289:in `process_event'
	34: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:332:in `wait_command_loop'
	33: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:332:in `loop'
	32: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:333:in `block in wait_command_loop'
	31: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:373:in `wait_command'
	30: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/local.rb:71:in `readline'
	29: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/local.rb:77:in `setup_interrupt'
	28: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/session.rb:1689:in `intercept_trap_sigint'
	27: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/local.rb:84:in `block in setup_interrupt'
	26: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/local.rb:72:in `block in readline'
	25: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/console.rb:100:in `readline'
	24: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/console.rb:82:in `readline_setup'
	23: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/console.rb:101:in `block in readline'
	22: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/2.7.0/forwardable.rb:235:in `readmultiline'
	21: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:254:in `readmultiline'
	20: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:324:in `inner_readline'
	19: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:324:in `loop'
	18: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:326:in `block in inner_readline'
	17: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:373:in `read_io'
	16: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:373:in `loop'
	15: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:403:in `block in read_io'
	14: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:328:in `block (2 levels) in inner_readline'
	13: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:328:in `each'
	12: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:330:in `block (3 levels) in inner_readline'
	11: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:510:in `rerender'
	10: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:650:in `render_dialog'
	 9: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:650:in `each'
	 8: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:651:in `block in render_dialog'
	 7: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:667:in `render_each_dialog'
	 6: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:623:in `call'
	 5: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:588:in `call'
	 4: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:588:in `instance_exec'
	 3: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline.rb:226:in `block in <class:Core>'
	 2: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:543:in `call_completion_proc_with_checking_args'
	 1: from /home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/reline-0.3.1/lib/reline/line_editor.rb:1677:in `call_completion_proc_with_checking_args'
/home/mgarcia/.rbenv/versions/2.7.5/lib/ruby/gems/2.7.0/gems/debug-1.4.0/lib/debug/console.rb:55:in `block in readline_setup': premature end of char-class: /\\Aargs[/ (RegexpError)

Expected behavior
It shouldn't crash.

Additional context

Gemfile.lock

GEM
  remote: https://rubygems.org/
  specs:
    actioncable (7.0.1)
      actionpack (= 7.0.1)
      activesupport (= 7.0.1)
      nio4r (~> 2.0)
      websocket-driver (>= 0.6.1)
    actionmailbox (7.0.1)
      actionpack (= 7.0.1)
      activejob (= 7.0.1)
      activerecord (= 7.0.1)
      activestorage (= 7.0.1)
      activesupport (= 7.0.1)
      mail (>= 2.7.1)
      net-imap
      net-pop
      net-smtp
    actionmailer (7.0.1)
      actionpack (= 7.0.1)
      actionview (= 7.0.1)
      activejob (= 7.0.1)
      activesupport (= 7.0.1)
      mail (~> 2.5, >= 2.5.4)
      net-imap
      net-pop
      net-smtp
      rails-dom-testing (~> 2.0)
    actionpack (7.0.1)
      actionview (= 7.0.1)
      activesupport (= 7.0.1)
      rack (~> 2.0, >= 2.2.0)
      rack-test (>= 0.6.3)
      rails-dom-testing (~> 2.0)
      rails-html-sanitizer (~> 1.0, >= 1.2.0)
    actiontext (7.0.1)
      actionpack (= 7.0.1)
      activerecord (= 7.0.1)
      activestorage (= 7.0.1)
      activesupport (= 7.0.1)
      globalid (>= 0.6.0)
      nokogiri (>= 1.8.5)
    actionview (7.0.1)
      activesupport (= 7.0.1)
      builder (~> 3.1)
      erubi (~> 1.4)
      rails-dom-testing (~> 2.0)
      rails-html-sanitizer (~> 1.1, >= 1.2.0)
    activejob (7.0.1)
      activesupport (= 7.0.1)
      globalid (>= 0.3.6)
    activemodel (7.0.1)
      activesupport (= 7.0.1)
    activerecord (7.0.1)
      activemodel (= 7.0.1)
      activesupport (= 7.0.1)
    activestorage (7.0.1)
      actionpack (= 7.0.1)
      activejob (= 7.0.1)
      activerecord (= 7.0.1)
      activesupport (= 7.0.1)
      marcel (~> 1.0)
      mini_mime (>= 1.1.0)
    activesupport (7.0.1)
      concurrent-ruby (~> 1.0, >= 1.0.2)
      i18n (>= 1.6, < 2)
      minitest (>= 5.1)
      tzinfo (~> 2.0)
    anyway_config (2.2.2)
      ruby-next-core (>= 0.11.0)
    aws-cognito-srp (0.4.0)
      aws-sdk-cognitoidentityprovider
    aws-eventstream (1.2.0)
    aws-partitions (1.549.0)
    aws-sdk-cognitoidentity (1.38.0)
      aws-sdk-core (~> 3, >= 3.125.0)
      aws-sigv4 (~> 1.1)
    aws-sdk-cognitoidentityprovider (1.61.0)
      aws-sdk-core (~> 3, >= 3.125.0)
      aws-sigv4 (~> 1.1)
    aws-sdk-core (3.125.4)
      aws-eventstream (~> 1, >= 1.0.2)
      aws-partitions (~> 1, >= 1.525.0)
      aws-sigv4 (~> 1.1)
      jmespath (~> 1.0)
    aws-sigv4 (1.4.0)
      aws-eventstream (~> 1, >= 1.0.2)
    builder (3.2.4)
    concurrent-ruby (1.1.9)
    crass (1.0.6)
    debug (1.4.0)
      irb (>= 1.3.6)
      reline (>= 0.2.7)
    diff-lcs (1.5.0)
    digest (3.1.0)
    erubi (1.10.0)
    globalid (1.0.0)
      activesupport (>= 5.0)
    httparty (0.20.0)
      mime-types (~> 3.0)
      multi_xml (>= 0.5.2)
    i18n (1.8.11)
      concurrent-ruby (~> 1.0)
    io-console (0.5.11)
    io-wait (0.2.1)
    irb (1.4.1)
      reline (>= 0.3.0)
    jmespath (1.5.0)
    loofah (2.13.0)
      crass (~> 1.0.2)
      nokogiri (>= 1.5.9)
    mail (2.7.1)
      mini_mime (>= 0.1.1)
    marcel (1.0.2)
    method_source (1.0.0)
    mime-types (3.4.1)
      mime-types-data (~> 3.2015)
    mime-types-data (3.2022.0105)
    mini_mime (1.1.2)
    mini_portile2 (2.7.1)
    minitest (5.15.0)
    multi_xml (0.6.0)
    net-imap (0.2.3)
      digest
      net-protocol
      strscan
    net-pop (0.1.1)
      digest
      net-protocol
      timeout
    net-protocol (0.1.2)
      io-wait
      timeout
    net-smtp (0.3.1)
      digest
      net-protocol
      timeout
    nio4r (2.5.8)
    nokogiri (1.13.1)
      mini_portile2 (~> 2.7.0)
      racc (~> 1.4)
    pg (1.2.3)
    puma (5.5.2)
      nio4r (~> 2.0)
    racc (1.6.0)
    rack (2.2.3)
    rack-test (1.1.0)
      rack (>= 1.0, < 3)
    rails (7.0.1)
      actioncable (= 7.0.1)
      actionmailbox (= 7.0.1)
      actionmailer (= 7.0.1)
      actionpack (= 7.0.1)
      actiontext (= 7.0.1)
      actionview (= 7.0.1)
      activejob (= 7.0.1)
      activemodel (= 7.0.1)
      activerecord (= 7.0.1)
      activestorage (= 7.0.1)
      activesupport (= 7.0.1)
      bundler (>= 1.15.0)
      railties (= 7.0.1)
    rails-dom-testing (2.0.3)
      activesupport (>= 4.2.0)
      nokogiri (>= 1.6)
    rails-html-sanitizer (1.4.2)
      loofah (~> 2.3)
    railties (7.0.1)
      actionpack (= 7.0.1)
      activesupport (= 7.0.1)
      method_source
      rake (>= 12.2)
      thor (~> 1.0)
      zeitwerk (~> 2.5)
    rake (13.0.6)
    reline (0.3.1)
      io-console (~> 0.5)
    rspec-core (3.10.1)
      rspec-support (~> 3.10.0)
    rspec-expectations (3.10.2)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.10.0)
    rspec-mocks (3.10.2)
      diff-lcs (>= 1.2.0, < 2.0)
      rspec-support (~> 3.10.0)
    rspec-rails (5.0.2)
      actionpack (>= 5.2)
      activesupport (>= 5.2)
      railties (>= 5.2)
      rspec-core (~> 3.10)
      rspec-expectations (~> 3.10)
      rspec-mocks (~> 3.10)
      rspec-support (~> 3.10)
    rspec-support (3.10.3)
    ruby-next-core (0.14.0)
    sprockets (4.0.2)
      concurrent-ruby (~> 1.0)
      rack (> 1, < 3)
    sprockets-rails (3.4.2)
      actionpack (>= 5.2)
      activesupport (>= 5.2)
      sprockets (>= 3.0.0)
    strscan (3.0.1)
    thor (1.2.1)
    timeout (0.2.0)
    tzinfo (2.0.4)
      concurrent-ruby (~> 1.0)
    websocket-driver (0.7.5)
      websocket-extensions (>= 0.1.0)
    websocket-extensions (0.1.5)
    zeitwerk (2.5.3)

PLATFORMS
  ruby

DEPENDENCIES
  anyway_config (~> 2.2)
  aws-cognito-srp
  aws-sdk-cognitoidentity
  aws-sdk-cognitoidentityprovider
  debug
  httparty
  pg (~> 1.1)
  puma (~> 5.0)
  rails (~> 7.0.1)
  rspec-rails
  sprockets-rails
  tzinfo-data

RUBY VERSION
   ruby 2.7.5p203

BUNDLED WITH
   2.1.4
@st0012
Copy link
Member

st0012 commented Jan 21, 2022

@matiasgarcia Thanks for reporting the issue. I've added #498 for it.
In addition to the cause I described in the PR, another reason it crashes your app more easily is that with irb session loaded first, it sets Reline.autocompletion to true (default is false). So in that scenario, you didn't need to hit the tab key to trigger the debugger's autocompletion and then the bug.

@ko1 I think the above situation is something we should be aware of. Perhaps we should set Reline.autocompletion to a controlled value during the debugging session (probably false atm), and reset it back to its original value when exit?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging a pull request may close this issue.

2 participants