Ошибка времени выполнения REE 187 (переполнение таблицы символов (symbol _one_time_conditions.)):

#ruby #ruby-on-rails-3 #overflow

#ruby #ruby-on-rails-3 #переполнение

Вопрос:

Мое веб-приложение теперь завершает работу из-за этой ошибки:

 RuntimeError (symbol table overflow (symbol _one_time_conditions...)):
  app/controllers/application_controller.rb:3
  

Кто-нибудь может помочь предоставить решение?

Версия, приведенная ниже:

ruby 1.8.7 (2011-02-18, исправленный уровень 334) [i686-linux], MBARI 0x8770, Ruby Enterprise Edition 2011.03, Rails 3.0.7

Большое спасибо

Комментарии:

1. Вот дополнительная информация об этом: ошибка появится примерно через 1 день с момента запуска . И возобновит работу в обычном режиме после перезапуска веб-приложения.

2. вы выяснили, в чем причина? здесь такая же проблема 🙂

Ответ №1:

Это может произойти, если вы по ошибке оставите кэширование классов отключенным в рабочей среде.

Ваш rails config / environments / production.rb должен иметь:


config.cache_classes = true

(Я потратил много времени на отладку этого … ключевым является символ регистрации.all_symbols.size.)