LINUX.ORG.RU
ФорумTalks

The letter Q in Firefox stands for Quality

 


0

1

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

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

АААААА!

★★★

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

Окей. А что делают другие браузеры и почему?

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

Как уже было сказано, подсистема виртуальной памяти в линуксе говно. Используй earlyoom или oomd

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

У меня сказал что «закладка много памяти сьела, прервать?» Firefox Browser 93.0 (64-біт)

Можешь ESR проверить? 78

У меня стойкое ощущение, что TC что-то навозил…

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

Чтд. Ты – типичный Миша с неправильными дверями и, судя по тому, что у других не воспроизводится, с неправильным домом.

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

2 минуты.

Охренеть.

«Нужно было!» (c)

Т.к. заказчика это не волнует, то так и останется. Моя задача оптимизировать другие скрипты.

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

Лол. «Все говнокодеры, а я – д`Артаньян.» Навертел не пойми что с фаерфоксом и системой, а валит на других.

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

Связка пхп + питон + джава(это, я так понял, всё то же) как бы намекала.

Т.к. заказчика это не волнует, то так и останется

Ещё бы, он же не понимает это.

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

а что у тебя с Content-Length на этом запросе?

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

Связка пхп + питон + джава(это, я так понял, всё то же) как бы намекала.

пхп в админке.

На питоне часть фоновых скиптов. На джаве один сторонний сервис.

И со всем этим мы попытаемся взлететь.

Кстати, код на пхп неплох, по сравнению с кодом на питоне. Тут явно поработали разные люди.

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

Тут нужна цитата про «У нас было два пакетика травы» переделанная на манер, что у нас был PHP7, две версии питона, БД, обвешанная триггерами и т.п., но мне лень придумывать весь сюжет )

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

cocucka

у милторга кукуха съехала давно

Зачем же ты от него съехала? =)

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

А как на Flask какать бесконечно? 🤨

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

Везде говнокодеры.

Увидел говнокодера — пофикси говнокодера. Не можешь пофиксить, хотя бы сформулируй суть говнокодероства. =) А не оправдывай. А то говна только больше станет в коде.

Сам щас 20 минут искал ошибку в коде, а оказалось, что ошибка в тесте, а код правильный. Тест писал я.

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

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

Как раз отсюда такие вот косяки и берутся. Это вообще классическая ошибка в таких долгоживущих проектах. Могу даже пофантазировать как это произошло: 20 лет назад при разработке архитектуры движка сделали допущение, что проверки на размер документа можно не делать. Дескать, интернет медленный, памяти много… Пользователь быстрее закроет браузер чем дождётся загрузки страницы на несколько гигабайт. А потом в разработку сайтов пришли веб-макаки а инернет подключение у некоторых уже стало гигабитным…

Сам лично видел древний проект, в котором для сущностей в базе данных сделали 32 битный индекс. Посчитали что такой размерности должно хватить лет на 100. А потом бизнес кратно вырос, а нагрузки выросли стократно. И уникальные значения закончились не через 100 лет, а всего через 15.

Если вы думаете, что это всё можно было продумать и было очевидно уже тогда, то спросите себя когда вы последний раз задумывались о проверке уникальности GUID, например. Сейчас такие размерности тоже кажутся невероятными…

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

Ну ок, если это своя приложуха, то хрен с ним. Хотел проверить у себя на разных дистрах. Интересно же. Никогда такого не было просто (с)

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

задумывались о проверке уникальности GUID

А каким раком я буду проверять GUID на уникальность? Вся фишка GUID в том, что они статистически уникальные и им не нужен никакой центральный реестр (и, соответственно, никакого центрального реестра не существует).

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

они статистически уникальные

Ну вот вы уже сейчас и совершили ту самую ошибку о которой я и говорю. Кто вам дал гарантии уникальности ? В каких ситуациях ? Алгоритм генерации проверили ? А ГСЧ используемый для генерации ? А его seed, из какого источника энтропии он берётся ?

Именно эти вопросы и надо себе каждый раз задавать при создании архитектуры системы. То есть правильное утверждение будет: «они статистически уникальные при таких-то и таких-то условиях», которые вам уже требуется обеспечить (и проверить их в юнит-тестах, например).

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

Дык. В том-то и суть. Это сейчас разница кажется какой-то астрономической. А через 100 лет, с квантовыми комплюкторами и колонизацией космоса… Вот и тогда в те староглинянные времена думали что 32 битного, или, на-крайняк, 64 битного счётчика - хватит всем. Не хватило.

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

У тебя нету ощущения больших чисел. Разница между сотнями/тысячами/миллионами(числа, которые мы активно используем в быту) и 32-х битным числом(целое беззнаковое) — всего 6-3 порядка. А разница между 32-х битным числом и 128-битным числом — ~23 десятичных порядка. Колличество звезд в видимой части вселенной оценивают в 3*10^22. А колличество уникальных разложений 32-х картной колоды — 2,6*10^35. Т.е. больше чем звезд в ~10 триллионов раз.

А через 100 лет, с квантовыми комплюкторами и колонизацией космоса

Бла-бла-бла. Колонизация космоса — это проекты длинной в сотни, если не тысячи лет. С текущим социально-экономическим устройством общества это не возможно.

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

С текущим социально-экономическим устройством общества это не возможно.

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

Вопрос-то серьезный. Нельзя в разработке на веру принимать абсолютные допущения типа вашего: что GUID такой большой что он никогда не закончится. Правильным будет допущение что он никогда не закончится при каких-то определённых условиях.

DawnCaster ★★
()

Яйца, двери, щемить.

Не чокаясь за лорквотес.

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

Я просто предлагаю не делать в разработке таких вот абсолютных допущений вроде тех что сделали чуваки из мозиллы по поводу ограничения на размер загружаемого HTML документа. Установи они хоть какое-то разумное ограничение (вероятно что сейчас оно казалось-бы малым) данной ошибки не возникло-бы в принципе.

GUID чисто ради примера здесь. Судя по откликам, может аналогия была не достаточно удачная. Но общую суть передаёт.

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

У тебя шиза? Ты же в прошлом комментарии напирал, что «Нельзя в разработке на веру принимать абсолютные допущения типа вашего», а теперь вот даметрально противоположное заявил. А вдруг через тысячу лет кто-то бы не смог загрузить страницу в миллион гигабайт? Ты вообще подумал про будущие поколения, засранец!?

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

ограничены жесткими рамками, это не XUL.

Вообще-то HTML или XUL не влияют в мозилле на рамки ограничений - можно сделать ограничения для XUL, а можно снять для HTML UI.

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

А вдруг через тысячу лет кто-то бы не смог загрузить страницу в миллион гигабайт?

Ненужон ваш ынтернет в космосе. Но если серьезно, ограничение просто надо делать конфигурабельным, очевидно-же. Всё разжовывать надо ?

Ты вообще подумал про будущие поколения, засранец!?

Я вообще за роботов и технологическую сингулярность. Человечество как вид погубит само себя. Возможно даже уже на нашем веку. Возможно даже из-за ошибок софтвар-дезигна о которых мы говорим )

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

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

Тащемто многие уважаемые сервисы сейчас делают бесконечную прокрутку)

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

Если вы думаете, что это всё можно было продумать и было очевидно уже тогда, то спросите себя когда вы последний раз задумывались о проверке уникальности GUID, например. Сейчас такие размерности тоже кажутся невероятными…

речь про UUID чтоле? который 128 бит?

есть вот такой прикол

в таблицке есть данные для N=128. Думаю 10^-9 более чем хорошая вероятность чтобы задумываться о проблемах. т.е. если у тебя кол-ва этих uuid существенно меньше чем 10^14, то вероятность одной коллизии микроскопически крайне мала. а 10^14 - по прежнему очень боьлшое число. насколько большое? у современных цпу количество физически адресуемой оперативной памяти всяко меньше в байтах.

n_play
()
Последнее исправление: n_play (всего исправлений: 2)
Ответ на: комментарий от bhfq

Где он зависает? Я сегодня Хроме открыл, а в нем Яндекс музыку. Так вот при переключении трека весь хром висит секунд 10, а потом яростно обрабатывает все тычки мыши в него. И при этом никакого чиха со стороны I/O не раздавалось. Вкорячил на тот же комп лиса — он и музыку играл, и нормально работал. Справедливости ради на той машинке при высокой нагрузке на I/O лагает всё

Karrham
()
Ответ на: комментарий от n_play

Это всё так, но только при выполнении определённых условий, таких как использование идеального генератора случайных чисел, и полностью случайной генерации.

В реальности всё может быть хуже. Посмотрите, хотя-бы, описание UUID в википедии: https://ru.wikipedia.org/wiki/UUID. Там в зависимости от алгоритма генерации - реально случайных бит может быть меньше половины.

Но вот некоторые программисты думают шаблонными мантрами вида: у меня везде используется UUID/GUID а значит частота коллизий будет дольше текущего времени существования вселенной и какими либо проверками можно пренебречь. А потом в совершенно неожиданных местах всплывают баги с коллизией. Просто потому что не проверили как работает и инициализируется ГСЧ, часы (на встраиваемых системах, например).

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

А вообще изначально речь была про GUID. Который типа полностью случайный UUID. И в его реализации даже M$ в своё время накосячила в офисе, кодируя в структуру GUID то-ли серийник венды, то-ли мак адрес сетевого адаптера (или нули, если в системе такого не было). Так что в жизни дела с уникальностью даже GUID обстоят куда хуже чем в идеальной математической модели. Про более короткие идентификаторы я даже не говорю )

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

Это убогий overcommit в Линуксе, а Firefox всё правильно делает. В Windows всё без проблем работает.

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

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

В Линуксе это невозможно определить, потому что там не память, а билеты MMM. Вам их выпишут сколько захотите, а как захотите обналичить, всё сколапсирует.

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

RAM + SWAP.

А если другие программы запущены? Использование swap вполне может всё повесить почти намертво.

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

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

Ждём реализацию на ЛОРе.

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

Т.к. заказчика это не волнует, то так и останется. Моя задача оптимизировать другие скрипты.

И этот человек ещё что-то говорит про качество Firefox…

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

Я вообще за роботов и технологическую сингулярность. Человечество как вид погубит само себя.

Солидарен.

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