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

The console become frozen while debugging in Rails #1107

Open
jdonadob opened this issue Jun 27, 2024 · 2 comments
Open

The console become frozen while debugging in Rails #1107

jdonadob opened this issue Jun 27, 2024 · 2 comments

Comments

@jdonadob
Copy link

Your environment

  • ruby -v: ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [x64-mingw-ucrt]
  • rdbg -v: rdbg 1.9.2
  • rails -v: Rails 7.0.8.1

Describe the bug
The console become frozen while debugging in Rails.

imagen

To Reproduce
I set a Breakpoint in my code: 'binding.break' or 'debugger'. Next I run the Test: rails test test\system\requests_test.rb.

Expected behavior
A command prompt next to the breakpoint waiting for orders.

@reza-naq
Copy link

reza-naq commented Jul 1, 2024

I have the same problem.

Debug works when I use thor on my app, but when I want to use it on my app (rails server)
it freezes.
It works also when I create a new app with the same Ruby/Rails versions.

My app is built originally some years ago and I've constantly "upgraded" it to the new Ruby & Rails versions.
It seems that there's some conflict either one or more gems and
the 'debug' gem or something wrong in my configs (application.rb / development.rb).

Some details:

  • Ruby version: 3.3.3
  • Rails: 7.1.3.4
  • Rdbg version: 1.9.2
  • OS: Fedora 38

I attach here my Gemfile, application.rb & development.rb.

Gemfile:

source 'https://rubygems.org'
ruby "3.3.3"
gem 'rails', '~> 7.1'
gem 'puma'
group :development, :test, :staging do
  gem "debug", ">= 1.0.0", platforms: %i[ mri mingw x64_mingw ]
end
gem 'pg'
gem 'strong_password', platforms: :mri
gem 'cancancan', '~> 3.0'
gem 'devise'
gem 'simple_form'
gem 'devise-encryptable'
gem 'activemodel-serializers-xml'
gem 'globalize', '~> 6.0'
gem 'redcarpet'
gem 'country_select'
gem 'bootstrap-sass', '~> 3'
gem 'font-awesome-rails'
gem 'sass-rails', '~> 5.0'
gem 'sassc-rails', '~> 2.1'
gem 'coffee-rails', '~> 5'
gem 'jquery-rails'
gem 'turbolinks', '~> 5.2'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
gem 'jbuilder', '~> 2.5'
gem 'redis', '~> 4.0', require: false
gem 'haml-rails'
gem 'kaminari'
gem 'bcrypt', '~> 3.1.7'
gem 'friendly_id', '~> 5.1'
gem 'exception_notification'
gem 'geocoder'
gem 'pry-rails'
gem 'listen'
gem 'dalli'
gem 'net-smtp'
gem "sprockets-rails"
gem 'psych', '~> 5.0'
gem 'bootsnap', '>= 1.4.2', require: false
group :development, :test, :staging do
  gem 'letter_opener_web', '~> 2.0'
  gem 'launchy'
  gem 'i18n-tasks', '~> 0.9'
  gem 'rack-mini-profiler', require: false
end

group :development do
  gem 'web-console'
  gem 'spring'
  gem 'spring-watcher-listen' # , '~> 2.0.0'
end

group :production, :staging do
  gem "sd_notify"
end

group :test do
  gem 'sqlite3', '~> 1.7'
  gem "rspec-rails"
  gem 'cucumber-rails', :require => false
  gem 'database_cleaner'
  gem 'capybara', ">= 2.15"
  gem 'pickle'
  gem 'capybara-screenshot'
  gem 'aruba'
  gem 'selenium-webdriver'
  gem 'webdrivers'
  gem 'factory_bot_rails'
  gem 'chronic'
  gem 'timecop'
  gem 'rails-controller-testing'
  gem 'stripe-ruby-mock', '~> 3.0.1', :require => 'stripe_mock'
  gem 'simplecov', require: false
end

gem 'sitemap_generator'
gem 'mini_magick'
gem 'carrierwave'
gem 'sidekiq', '~> 6.0'
gem 'record_tag_helper', '~> 1.0'
gem 'browser'
gem 'mini_portile2'
gem 'stripe'
gem 'sinatra', require: false
gem 'slim'
gem 'json', '>= 2.3.0'
gem 'image_processing', '~> 1.2'
# gem 'net-smtp'

My config file w/o comments.
application.rb:

require_relative "boot"
require "rails/all"
require_relative '../lib/middleware/ping'

Bundler.require(*Rails.groups)

module MyApp
  class Application < Rails::Application
    # Initialize configuration defaults for originally generated Rails version.
    config.load_defaults 6.1
    config.active_support.cache_format_version = 7.0
    config.autoload_lib(ignore: %w(assets tasks))
    config.eager_load_paths << Rails.root.join("lib/**")

    config.autoload_paths += Dir["#{config.root}/lib/**/"]
    config.add_autoload_paths_to_load_path = true

    config.time_zone = 'Europe/Paris'

    config.i18n.available_locales = [:fr, :en, :it, :fa]
    config.i18n.enforce_available_locales = true
    config.i18n.load_path += Dir[Rails.root.join('config', 'locales', '*.{rb,yml}').to_s]
    config.i18n.default_locale = :fr

    config.encoding = "utf-8"
    config.active_support.escape_html_entities_in_json = true
    config.active_record.timestamped_migrations = false
    config.active_record.schema_format = :ruby
    config.assets.enabled = true

    config.generators do |g|
      g.assets false
      g.test_framework :rpec
      g.fixture_replacement :factory_bot
    end

    config.assets.precompile += ['application.js', 'standard.css', ... ]
    config.assets.version = '1.0'
    config.assets.initialize_on_precompile = false
    config.exceptions_app = self.routes
    config.active_job.queue_name_delimiter = "_"
    config.action_mailer.deliver_later_queue_name = :mailers
    config.action_mailer.default charset: "utf-8"
    config.action_controller.per_form_csrf_tokens = true
    config.action_controller.forgery_protection_origin_check = true
    config.ssl_options = { hsts: { subdomains: true } }
    config.action_mailer.delivery_job = "ActionMailer::MailDeliveryJob"
  end
end

And my development.rb:

Rails.application.configure do
  config.annotations.register_directories('features')
  config.annotations.register_extensions('feature') { |tag| /#\s*(#{tag}):?\s*(.*)$/ }

  config.hosts += %w(example.com www.example.com)
  config.enable_reloading = true
  config.eager_load = false
  config.consider_all_requests_local = true
  config.server_timing = true

  if Rails.root.join("tmp/caching-dev.txt").exist?
    config.action_controller.perform_caching = true
    config.action_controller.enable_fragment_cache_logging = true
    config.cache_store = :file_store, 'tmp/cache'
    config.public_file_server.headers = {
      "Cache-Control" => "public, max-age=#{2.days.to_i}"
    }
  else
    config.action_controller.perform_caching = false
    config.cache_store = :null_store
  end

  config.active_storage.service = :local
  config.action_mailer.raise_delivery_errors = true
  config.action_mailer.perform_caching = false
  config.active_support.deprecation = :log
  config.active_support.disallowed_deprecation = :raise
  config.active_support.disallowed_deprecation_warnings = []
  config.active_record.migration_error = :page_load
  config.active_record.verbose_query_logs = true
  config.active_job.queue_adapter = :sidekiq
  config.action_mailer.delivery_method = :letter_opener
  config.action_mailer.perform_deliveries = true
  config.action_mailer.default_url_options = { host: "https://tripa.com" }
  config.action_dispatch.best_standards_support = :builtin
  config.assets.compress = false
  config.assets.digest = false
  config.assets.debug = false
  config.assets.quiet = true
  config.middleware.use ExceptionNotification::Rack,
                        email: {
                          sender_address: '[email protected]',
                          exception_recipients: '[email protected]'
                        }

  config.file_watcher = ActiveSupport::EventedFileUpdateChecker
  config.log_level = :debug
  config.sass.inline_source_maps = true
  config.sass.line_comments = false
end

@ko1
Copy link
Collaborator

ko1 commented Dec 17, 2024

Sorry I don't enough knowledge to make repro code.

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

No branches or pull requests

3 participants