LINUX.ORG.RU
ФорумTalks

The letter Q in Firefox stands for Quality

 


0

1

Просто скормите ему бесконечный html файл с сервера, и он сожрёт сначала всю память, затем весь своп, и потом повиснет, почему-то не убившись об OOM Killer.

/me пристально смотрит на год в календаре

АААААА!

★★★

Последнее исправление: wandrien (всего исправлений: 1)

Троллейбус_из_хлеба.жпг

бесконечный html файл с сервера

Ну ты ж Content-length ему не сказал, вот он и читает до усрачки.

cocucka ★★★★☆
()
Ответ на: Троллейбус_из_хлеба.жпг от cocucka

Цуко как можно доверять мусорным данным с рандомного IP и даже не задумываться ни о каких проверках их возможности разумной обработки на локалхосте.

20+ лет кодовой базе, вашу ж мать поперёк лавки!

wandrien ★★★
() автор топика

Если JS виснет в бесконечном цикле, гуй так и виснет до сих пор.

Безопасно!

wandrien ★★★
() автор топика
Ответ на: комментарий от xmikex

при достижении вкладки 1 гб озу можно показывать окно с предложением закрыть ее, ах да GUI firefox же чуть ли не полностью написан на однопоточном JavaScript который зависает на каждый чих IO.

bhfq ★★★★★
()
Ответ на: комментарий от wandrien

Знаешь @wandrien, а можно еще хер себе дверью специально прищемить и потом всем рассказывать про неправильные двери. ©@Sun-ch

cocucka ★★★★☆
()
Ответ на: комментарий от bhfq

Даже не то что 1 гб, а просто брать наличный размер RAM и от него какой-то фиксированный процент.

wandrien ★★★
() автор топика
Ответ на: комментарий от xmikex

Распарсить что влезет в адекватный для распарсенной странички объём в несколько мегабайт, а потом забить. Так глядишь и вебмакак поменьше станет. Но нет, надо же непременно всё делать через жопу. Если бы хром с фуррифоксом изначально плевались бы страшными неотключаемыми баннерами на весь экран «эта страница слишком жирная, она хочет сожрать весь процессор и память!!!!1111», как они это без проблем делают нынче для HTTP и HTTPS с самоподписанными сертификатами, то нынешний веб был бы на порядок лучше.

Stanson ★★★★★
()

Вообще, а откуда ему знать, когда останавливать?

Вообще, хорошо бы иметь какой-то регулируемый максимальный размер страницы, но современные браузеры слишком монолитны для тонкой настройки.

fernandos ★★★
()
Ответ на: комментарий от wandrien

еще есть другой баг, которому тоже очень много лет, если в браузере с огромной историей открыть окно history - сделать поиск по фразе «search» получить примерно 4 тысячи результатов google.ru/search, затем выделить все - удалить, ждать придется примерно 10 минут. Любой другой редактор sqlite очистит эти записи за секунду.

bhfq ★★★★★
()
Ответ на: комментарий от fernandos

Перепись говнокодеролв, которых на выстрел нельзя подпускать к сетевым приложениям, объявляется открытой!

wandrien ★★★
() автор топика
Ответ на: комментарий от xmikex

плагин на webextensions? чтобы JavaScript код следил за состоянием другого JavaScript кода? не смешите мои пятки, плагины в firefox как и в хроме давно уже ограничены жесткими рамками, это не XUL.

bhfq ★★★★★
()
Ответ на: комментарий от wandrien

Этими мусорными данными с рандомного IP может быть DVD с дебианом, порно с понями, запись обращения перзидента. Откуда браузеру вообще знать, что приходит в ответ на GET запрос? Максимум он может что-то узнать от самого сервера, если тот соблаговолит указать соответствующие заголовки.

cocucka ★★★★☆
()
Ответ на: комментарий от wandrien

Оно будет жрать емнип под 1 ядро процессора под 100% и около 2гб озу.

bhfq ★★★★★
()
Ответ на: комментарий от cocucka

Этими мусорными данными с рандомного IP может быть DVD с дебианом, порно с понями, запись обращения перзидента. Откуда браузеру вообще знать, что приходит в ответ на GET запрос? Максимум он может что-то узнать от самого сервера, если тот соблаговолит указать соответствующие заголовки.

DVD с дебианом не пишется браузером в RAM для парсинга, а пишется на диск!

Вы совсем тут белены обожрались что ли?

wandrien ★★★
() автор топика
Ответ на: комментарий от wandrien

Вы вообще понимаете, что эта махина слишком сложна, чтобы её кто-то нормально разрабатывал?

Ну и вдруг какой-то говнокодер завяжет приложение на бесконечную страницу.

fernandos ★★★
()
Ответ на: комментарий от wandrien

Поведение браузера зависит от mime-type в заголовке ответа. Ты, наверное, наколол браузер с Content-type text/html, а теперь вопишь про неправильные двери.

cocucka ★★★★☆
()
Ответ на: комментарий от cocucka

О какие мы доверчивые, дали нам Content-type text/html, значит надо послушаться и зависнуть нахрен.

Ессесна там Content-type text/html, чему ж там еще быть.

Может еще к криптографии такой же подход будет, заменим сертификаты на «мамой клянус, я Гугл, просто болели мы!»

wandrien ★★★
() автор топика
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от wandrien

И васм не парсится?

А если исо попадает на виртуальную машину на ЖС?

А если просматривается большой текстовый документ, который только грузится несколько десятков секунд?

fernandos ★★★
()

А что ты хотел? Там же СЖВ и "эффективные менеджеры" всем заправляют.

Korchevatel ★★★★★
()
Ответ на: комментарий от fernandos

А если просматривается большой текстовый документ, который только грузится несколько десятков секунд?

Ты извини, но у меня ощущение, что я с даунами разговариваю.

ЕСЛИ ДОКУМЕНТ НЕ ЛЕЗЕТ В RAM, ТО ОСТАНОВИ ЗАГРУЗКУ И ПОКАЖИ ПОЛЬЗОВАТЕЛЮ СООБЩЕНИЕ ОБ ОШИБКЕ.

ТЫ ВСЁ РАВНО ЗАВИСНЕШЬ В СЛЕДУЮЩИЕ 5 СЕКУНД, И НИКАКОЙ ДОКУМЕНТ ВСЁ РАВНО НЕ ПОКАЖЕШЬ.

Я что, квантовую физику излагаю?

Всё, я пошел дальше отлаживать скрипты на PHP. Развлекайтесь без меня.

wandrien ★★★
() автор топика
Ответ на: комментарий от wandrien

Нет, давайте вставим в браузер нейросеть, которая сама будет определять Content-type.

Браузер уже не позиционируется как «простой интерфейс к WWW», это огромная виртуальная машина для запуска программ. Мягкий опциональный контроль за размером страницы.

fernandos ★★★
()
Ответ на: комментарий от wandrien

ЕСЛИ ДОКУМЕНТ НЕ ЛЕЗЕТ В RAM

У меня есть своп, показ документа важнее.

ПОКАЖИ ПОЛЬЗОВАТЕЛЮ СООБЩЕНИЕ ОБ ОШИБКЕ

Ок, там должна быть кнопка «всё равно продолжить». В своём первом сообщении я сказал, что регулирование максимального размера страницы нужно.

ТЫ ВСЁ РАВНО ЗАВИСНЕШЬ В СЛЕДУЮЩИЕ 5 СЕКУНД

А потом отвиснет, у меня zram, а остальной своп на ССД.

И вы так удивляетесь этому, будто всё остальное на высшем уровне, у меня лиса ломается каждый раз после сна. КАЖДЫЙ.

fernandos ★★★
()

Скажи, а ты уже создал багрепорт, предложил патч и тест-кейз в багтрекере фуррифокса?

ncrmnt ★★★★★
()
Ответ на: комментарий от wandrien

S also stand for Safe and Secure and T stands for fasT!

safe, secure, speedy

zgen ★★★★★
()
Ответ на: комментарий от wandrien

20+ лет кодовой базе, вашу ж мать поперёк лавки!

Напиши свой браузер, хороший. Или поправь их, если ты лучше знаешь, как надо

zgen ★★★★★
()
Ответ на: комментарий от wandrien

ЕСЛИ ДОКУМЕНТ НЕ ЛЕЗЕТ В RAM

Осталось только научиться надёжно определять состояние «не лезет в RAM» в мире победившего оверкоммита.

Я что, квантовую физику излагаю?

Да.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от zgen

поправь

Нет, ты =)

Я в данный момент правлю кусок скриптовой обвязки с сервисом на Java, потому что сам сраный сервис я исправить не могу. :-(

wandrien ★★★
() автор топика
Последнее исправление: wandrien (всего исправлений: 1)
Ответ на: комментарий от intelfx

Осталось только научиться надёжно определять состояние «не лезет в RAM» в мире победившего оверкоммита.

RAM + SWAP.

Другой памяти по волшебству взяться негде.

На пользователей zram можно забить, там всё равно принципиально ничего не изменится. Не в разы.

wandrien ★★★
() автор топика
Ответ на: комментарий от wandrien

Нет, это так не работает. Эвристики будут ошибаться в одну или другую сторону, и половина пользователей будут жаловаться на то, что целенаправленно открытые большие файлы не грузятся, хотя рамы заведомо достаточно, а вторая половина ничего не заметит, потому что система всё равно зависнет.

OOM-киллер — это задача ОС. В линуксе он говно, мы знаем, но это не повод переизобретать его на уровне приложения.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)

бесконечный html файл с сервера

Можно на файлик глянуть? Интересно у себя затестить.

Gonzo ★★★★★
()
Ответ на: комментарий от intelfx

Крутить эвристику вниз, без всякого оптимизма. Для упоротых можно сделать отключение в about:config, пусть вешают браузер сколько влезет.

На самом деле этих эвристик там и так уже натолкано как у дурака фантиков, так что не вижу проблемы. =)

wandrien ★★★
() автор топика

У меня сказал что «закладка много памяти сьела, прервать?»

Firefox Browser 93.0 (64-біт)

Jetty ★★★★★
()

у меня фаерфокс в последнее время иногда зависает при каком-нибудь рандомном действии типа перехода по ссылке или загрузке страницы на новой вкладке.

xfilx ★★
()

в 94 версии добавят unloading вкладку специальную - там наверное можно будет настроить

xmikex ★★★★
()
Ответ на: комментарий от Gonzo

Да какой файл, программный сбой в коде веб-приложения, вот и весь файл.

Пришлось убить браузер.

А так очень удобный вектор DoS на клиентскую машину получается. Можно выборочно вешать браузер нежелательным посетителям страницы, а они даже не поймут, что это такая форма бана.

Задумался о том, чтобы перепроверить лимиты потребления памяти и CPU для разной автоматики, включающей в себя браузер и не только его.

Сразу еще пара вещей на ум пришла, где можно эксплуатировать такую же тему.

wandrien ★★★
() автор топика

wandrien, ты сам это проверил или как узнал? настраивал веб-сервер, чтобы отдать ему такую страницу?

p.s.

от FF отказался очень, очень давно как раз по причинам качества.

crypt ★★★★★
()
Ответ на: комментарий от Jetty

89-й.

Значит что-то делается в этом направлении. Молодцы!

wandrien ★★★
() автор топика
Ответ на: комментарий от cocucka

это типичная разница в подходе между админом и программером. программер: не те двери! админ: вот, когда Алиса клиентам DoS устроит, тогда расскажешь!

crypt ★★★★★
()
Ответ на: комментарий от wandrien

а все-таки с пруфлинком было бы лучше

crypt ★★★★★
()

А не было бы у тебя свопа - убился бы как только закончилась оператива.

slowpony ★★★★★
()
Ответ на: комментарий от Jetty

Это сколько она должна сожрать?

105 мб хтмл его не остановило.

fernandos ★★★
()
Ответ на: комментарий от cocucka

мусорными данными ... DVD с дебианом, порно с понями, запись обращения перзидента.

в общем да, ценность у этих данных одинаковая.

crypt ★★★★★
()
Ответ на: комментарий от wandrien

Да какой файл, программный сбой в коде веб-приложения, вот и весь файл.

Это сколько у вас бек отдавал страницу? И почему это время не было ограниченным?

Можно выборочно вешать браузер нежелательным посетителям страницы, а они даже не поймут, что это такая форма бана

А потом в суд подадут, очень крутая форма бана.

fernandos ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.