У меня возникла проблема с моим приложением Rails 5 (работающим на AWS, сервере Apache), когда один из наших коллег начал испытывать зависание браузера (Google Chrome в Windows 10) при нажатии кнопки отправки в форме.Когда он нажимает кнопку отправки, браузер останавливается на 3 минуты, а затем перезагружается с новыми (обновленными) значениями в форме.
Это началось несколько недель назад и происходит только в Google Chrome (попытался обновить его).до последней версии переустановите его, но это не помогло);в Mozilla или Internet Explorer он работает на своем ноутбуке без проблемТакое поведение появилось на ноутбуках двух человек в компании, остальные 15 человек в порядке (сочетание компьютеров Macbook и Windows) - включая меня.
Я подключился к ноутбуку этого человека через TeamViewer и проверил его поведение.При нажатии кнопки отправки формы Google Chrome зависает (Not responding
), загрузка ЦП увеличивается с 10% до 70%.Затем, через 3 минуты, когда Google Chrome «разблокирует» себя, загрузка ЦП снова падает до 10%, и Google Chrome можно использовать снова.
Я думал, что наНа ноутбуке могут выполняться разные процессы, но это не так:
Обновленная модель имеет 30 ассоциаций (belongs_to
или has_many
)- не все они обновляются при отправке формы.Есть 2 вложенных атрибута.Кроме того, в этой модели используется камень paper_tail .
Я пытаюсь отладить эту проблему, поскольку я никогда не сталкивался с ней, а также у нас есть 15 ноутбуков с Win 10 и Google Chromeи только на 2 из них эта проблема.
Я был бы очень признателен за любой совет.
РЕДАКТИРОВАТЬ: Я забыл упомянуть, что после отправки формы,приложение Rails запускает некоторые задания Sidekiq.
РЕДАКТИРОВАТЬ 2:
Ubuntu 14.04.5 LTS
Rails 5.1.3
ruby 2.3.3p222 (2016-11-21 revision 56859) [x86_64-linux]
Sidekiq v5.0.4
РЕДАКТИРОВАТЬ 3: На компьютере только Google DocsРасширения и AdBlock.Однако для отладки я удалил их все, чтобы увидеть, если это проблема - все та же.Проблемное поведение все еще там.
РЕДАКТИРОВАТЬ 4: Количество вкладок не имеет значения.Даже с одной открытой вкладкой проблема здесь.Также пытался очистить кэш и файлы cookie, а также восстановить настройки Google Chrome по умолчанию.
РЕДАКТИРОВАТЬ 5: После очередного запуска отладки - журналы сервера выглядят нормально (в этом нет ничего особенного), фронтальное время загрузки, а также.Затем я попытался использовать приложение на вкладке инкогнито в Chrome - и оно работало без сбоев!Затем я попытался использовать Chrome на вкладке гостя - и опять-таки, он также работал гладко!Но если приложение работает на вкладке, где пользователь вошел в систему (или даже вышел из системы, но НЕ в режиме инкогнито / гостя), то приложение зависает при отправке формы.Мне интересно, что можно установить / добавить под профилем пользователя, кроме расширений.Я пытался удалить / отключить все это, но приложение все еще зависало: Я пытался сбросить Chrome до настроек по умолчанию - не помогло.Коллега, столкнувшийся с этой проблемой, сказал, что он пытался переустановить Google Chrome, в течение нескольких недель все работало нормально, но затем замораживание началось снова.
РЕДАКТИРОВАТЬ 6: Похоже, что я наконец-то нашел причину, по которой Chrome зависает на некоторых ноутбуках - кажется, емкость функции автозаполнения , которую имеет Chrome,Ограничение здесь составляет 1000 сохраненных пользовательских данных на профиль .Когда я проверил данные пользователей на проблемных ноутбуках (через DB Browser для SQLite ), я обнаружил, что на обоих из них достигнут этот предел.Когда я пытался создать новый профиль Chrome или использовать Chrome в режиме инкогнито / гость, зависание (и состояние Не отвечает ) прошло, и все работает гладко.
Теперь, поскольку нам нужна функция автозаполнения, и она облегчает нашу жизнь - мы рассматриваем расширения Chrome (которые в идеале могли бы использовать существующие данные автозаполнения и позволить нам сохранять новые - более 1 КБ). Или, возможно, присматривать за Firefox и его лимитом для автозаполнения пользовательских данных. Любые идеи о том, как расширить лимит пользовательских данных автозаполнения в Chrome?