Rspe c выдает слишком много открытых файлов @ rb_sysopen, несмотря на то, что ulimit -n показывает 98304 - PullRequest
1 голос
/ 25 января 2020

Когда я запускаю rspe c Я получаю: "Слишком много открытых файлов @ rb_sysopen"

Я пытался увеличить ulimits, это максимальное значение, которое Ma c даст мне для -u, и это достаточно большого числа для -n, которого должно быть достаточно?

Mac-Pro.local ➜  timeline git:(master) ✗ ulimit -u
5568
Mac-Pro.local ➜  timeline git:(master) ✗ ulimit -n
98304

Однако, когда я запускаю rspe c, я вижу это:

Mac-Pro.local ➜  timeline git:(master) ✗ bundle exec rspec
Run options: include {:focus=>true}

Randomized with seed 42688

Events
  GET /events
Capybara starting Puma...
* Version 4.3.1 , codename: Mysterious Traveller
* Min threads: 0, max threads: 4
* Listening on tcp://127.0.0.1:9887
2020-01-25 14:12:20 +0000: Rack app error handling request { GET /login }
#<ActionView::Template::Error: Too many open files @ rb_sysopen - /Users/hackeron/Development/Tether/timeline/tmp/cache/assets/sprockets/v4.0.0/8u/8uWBpzJCocO4CDXelfFLLPyiTEylUJcg-Cn9YTJQ52I.cache>
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cache/file_store.rb:178:in `initialize'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cache/file_store.rb:178:in `open'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cache/file_store.rb:178:in `safe_open'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cache/file_store.rb:59:in `get'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cache.rb:223:in `get'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cache.rb:122:in `get'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/loader.rb:324:in `fetch_asset_from_dependency_cache'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/loader.rb:43:in `load'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cached_environment.rb:44:in `load'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/bundle.rb:32:in `block in call'
/usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/set.rb:338:in `each_key'
/usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/set.rb:338:in `each'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/bundle.rb:31:in `call'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/processor_utils.rb:84:in `call_processor'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/processor_utils.rb:65:in `reverse_each'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/processor_utils.rb:65:in `call_processors'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/loader.rb:182:in `load_from_unloaded'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/loader.rb:59:in `block in load'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/loader.rb:335:in `fetch_asset_from_dependency_cache'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/loader.rb:43:in `load'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cached_environment.rb:44:in `load'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/base.rb:81:in `find_asset'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/base.rb:88:in `find_all_linked_assets'
/usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/manifest.rb:125:in `block (2 levels) in find'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/safe_task_executor.rb:24:in `block in execute'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:41:in `block in synchronize'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/safe_task_executor.rb:19:in `execute'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/promise.rb:563:in `block in realize'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:348:in `run_task'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:337:in `block (3 levels) in create_worker'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch'
/usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker'

Screenshot Taken: /Users/hackeron/Development/Tether/timeline/tmp/capybara/test-failure-events_spec.rb-112.png
    does not display for integrators with support_access disabled (FAILED - 1)

Failures:

  1) Events GET /events does not display for integrators with support_access disabled
    Failure/Error: File.open(path, 'rb', &block)

    ActionView::Template::Error:
      Too many open files @ rb_sysopen - /Users/hackeron/Development/Tether/timeline/tmp/cache/assets/sprockets/v4.0.0/8u/8uWBpzJCocO4CDXelfFLLPyiTEylUJcg-Cn9YTJQ52I.cache
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cache/file_store.rb:178:in `initialize'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cache/file_store.rb:178:in `open'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cache/file_store.rb:178:in `safe_open'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cache/file_store.rb:59:in `get'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cache.rb:223:in `get'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cache.rb:122:in `get'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/loader.rb:324:in `fetch_asset_from_dependency_cache'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/loader.rb:43:in `load'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cached_environment.rb:44:in `load'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/bundle.rb:32:in `block in call'
    # /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/set.rb:338:in `each_key'
    # /usr/local/Cellar/ruby/2.6.5/lib/ruby/2.6.0/set.rb:338:in `each'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/bundle.rb:31:in `call'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/processor_utils.rb:84:in `call_processor'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/processor_utils.rb:66:in `block in call_processors'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/processor_utils.rb:65:in `reverse_each'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/processor_utils.rb:65:in `call_processors'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/loader.rb:182:in `load_from_unloaded'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/loader.rb:59:in `block in load'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/loader.rb:335:in `fetch_asset_from_dependency_cache'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/loader.rb:43:in `load'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cached_environment.rb:44:in `load'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/base.rb:81:in `find_asset'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/base.rb:88:in `find_all_linked_assets'
    # /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/manifest.rb:125:in `block (2 levels) in find'
    # /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/safe_task_executor.rb:24:in `block in execute'
    # /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:41:in `block in synchronize'
    # /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize'
    # /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/synchronization/mutex_lockable_object.rb:41:in `synchronize'
    # /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/safe_task_executor.rb:19:in `execute'
    # /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/promise.rb:563:in `block in realize'
    # /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:348:in `run_task'
    # /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:337:in `block (3 levels) in create_worker'
    # /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `loop'
    # /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (2 levels) in create_worker'
    # /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `catch'
    # /usr/local/lib/ruby/gems/2.6.0/gems/concurrent-ruby-1.1.5/lib/concurrent/executor/ruby_thread_pool_executor.rb:319:in `block in create_worker'
    # ------------------
    # --- Caused by: ---
    # Errno::EMFILE:
    #   Too many open files @ rb_sysopen - /Users/hackeron/Development/Tether/timeline/tmp/cache/assets/sprockets/v4.0.0/8u/8uWBpzJCocO4CDXelfFLLPyiTEylUJcg-Cn9YTJQ52I.cache
    #   /usr/local/lib/ruby/gems/2.6.0/gems/sprockets-4.0.0/lib/sprockets/cache/file_store.rb:178:in `initialize'

Finished in 6.82 seconds (files took 11.39 seconds to load)
1 example, 1 failure

Failed examples:

rspec ./spec/integration/events_spec.rb:112 # Events GET /events does not display for integrators with support_access disabled

Randomized with seed 42688

Coverage report generated for RSpec to /Users/hackeron/Development/Tether/timeline/coverage. 3000 / 13882 LOC (21.61%) covered.
SimpleCov failed with exit 1%                                                                                                                                                                                                                                                                                                                                               Mac-Pro.local ➜  timeline git:(master) ✗

Есть идеи ??

Я запустил обновление пакета, поэтому запустил последнюю версию ruby (2.6.5p114), последнюю версию rails (6.0.2.1) и др. c. Это тоже кажется прерывистым, я запускаю один и тот же комментарий 5-10 раз, а иногда и завершаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...