Доступен корректирующий выпуск Firefox 86.0.1, в котором предложено несколько исправлений:...Подробнее: https://www.opennet.me/opennews/art.shtml?num=54741
Раст
https://bugzilla.mozilla.org/show_bug.cgi?id=1425650
Тут сразу вопросы:
- почему в расте надо руками проверять вхождение индекса в массив и руками вызывать крах программы?
- если растаман забудет это сделать, что произойдёт?!
> Тут сразу вопросы:
> - почему в расте надо руками проверять вхождение индекса в массив и
> руками вызывать крах программы?
> - если растаман забудет это сделать, что произойдёт?!Мне вот интересно - местные "знатоки" не только код не смотрели, но новость-то дальше заголовка прочесть не осилили? Или это перепись никогда не писавших ничего кроме хелловрота?
Намекну: размер данных, указанный в хидере файла и размер реальный - могут сильно отличаться.
Ясный и понятный ответ от растамана... Растаманы сами не знают, что случилось бы, выйди оффсет за пределы блока, ведь тогда бы их "if" не сработал...
Это кстати подтверждает и багзилла. Из серии "а если мы поменяет знак, ниче не сломается"? )))
> - почему в расте надо руками проверять вхождение индекса в массив и руками вызывать крах программы?Потому же, почему и в C: программист должен следить за тем, что и как он индексирует.
> - если растаман забудет это сделать, что произойдёт?!
Паника, aka крах. То есть, если программист делает проверку, с тем чтобы упасть в случае кривого индекса, то он может не делать этой проверки, её за него подставит стандартная библиотека.
>> - почему в расте надо руками проверять вхождение индекса в массив и руками вызывать крах программы?
> Потому же, почему и в C: программист должен следить за тем, что
> и как он индексирует.Погодите-ка, а разве не растаманы там пыжились о том, что божественный раст позволяет не иметь знаний о устройстве железа и лабать как индосокодир жо$ой, и ничего не будет страшного, т.к. Rust дофига сикурен от человеческого фактора, в чём и его мегафича?!
>> - если растаман забудет это сделать, что произойдёт?!
> Паника, aka крах. То есть, если программист делает проверку, с тем чтобы
> упасть в случае кривого индекса, то он может не делать этой
> проверки, её за него подставит стандартная библиотека.Хм, на что-то это похоже... ну да ладно.
>>> - почему в расте надо руками проверять вхождение индекса в массив и руками вызывать крах программы?
>> Потому же, почему и в C: программист должен следить за тем, что
>> и как он индексирует.
> Погодите-ка, а разве не растаманы там пыжились о том, что божественный раст
> позволяет не иметь знаний о устройстве железа и лабать как индосокодир
> жо$ой, и ничего не будет страшного, т.к. Rust дофига сикурен от
> человеческого фактора, в чём и его мегафича?!Да, именно так. А в чём собственно вопрос?
> Погодите-ка, а разве не растаманы там пыжились о том, что божественный раст
> позволяет не иметь знаний о устройстве железа и лабать как индосокодирВообще-то, исключительно местные подгорельцы пыжились о том, как якобы "растаманы" что-то там и "Rust дофига что-то там".
Видимо, потому что пукан пылает и вбросить хочется ... но без знания матчасти - только глупенькие вбросики детсадовского уровня "А лазве ластаманы не пизились о том ..."А так - все как обычно на опеннете: анонимы сами что-то придумали и сами гордо что-то опровергли.
- Руками проверять вхождение индекса в массив нет необходимости. Можно использовать .get() и получить Option. Ну то есть Some(значение) если индекс внутри массива или None если вне массива. Но если программисту хочется, то можно и так, как делают в С. Можно даже unsafe сделать. Просто это будет уже выбор программиста, и он должен явно использовать такой метод.- растаман не может "забыть" проверить результат. Потому что получает Option/Result (в зависимости от чего вызывали). Для массива/слайса/вектора это совсем другой тип, чем тип элемента, дальше просто система вывода типов не пустит во время компиляции;
- panic!() это _не_ sigsegv. Это накрученный аналог fprintf(stderr,"нам капец"); exit(1)
- что произойдет если грязными ручками по сишному (то есть array[index] ) залезть в массив за его пределами? Если размер массива и индекс известны на стадии компиляции то компилятор не пропустит. Если динамически, то тот же panic. Явно painc!() обычно пишется для того, чтобы указать вменяемое сообщение об ошибке.
https://static-media-prod-cdn.itsre-sumo.mozilla.net/static/...
> Проблема была вызвана неверной проверкой размера памяти в коде загрузки цветовых профилей ICC, написанном на языке Rust.Это пять, я считаю
Растаманы: "Так падение это нормально"...
Ты не понимаешь! Это - ДРУГОЕ!
А что, дырка в безопасности и падение - это одно и то же?
> А что, дырка в безопасности и падение - это одно и то же?Технически, там даже не "падение", а вызов panic!("OOM") после проверки.
Почему в расте надо самому проверять индекс массива? А если растаман забудет это сделать?
> Почему в расте надо самому проверять индекс массива?Потому что ты не умеешь в чтение кода или не писал ничего сложнее хелловрота?
Иначе бы знал, что читаемые сторонние данные желательно проверять, особенно указанные в заголовке размеры.
Потому что там используется raw pointer и unsafe. То есть это простая калька с кода на Си переписанная в синтакисе Раста. Б - Безопасность.
> Потому что там используется raw pointer и unsafe. То есть это простая
> калька с кода на Си переписанная в синтакисе Раста. Б -
> Безопасность.Потому что код - _для_ вызовов из си/плюсов, с передачей адресов-буферов и прочего.
https://github.com/mozilla/gecko-dev/blob/master/gfx/qcms/sr...
https://github.com/mozilla/gecko-dev/blob/master/gfx/thebes/...
З-знатоки.
Тоесть до исправления, все случаи когда вызов panic не срабатывал это что было? Так надо было? А почему исправили?) Так не надо было?)
Это безопасное падение
> Растаманы: "Так падение это нормально"...Смотрите дети - ламерье опеннетное, обыкновенное ...
panic!("OOB");
https://doc.rust-lang.org/std/macro.panic.html
> ... allows a program to terminate immediately and provide feedback to the caller of the program. panic! should be used when a program reaches an unrecoverable state.
И сколько таких ошибок в коде растаманов... Проги будут падать, а ёжики - грызть кактус.
вот именно, доколе!Надо же что б прога тихо предоставляла рут через дырени.
А она и предоставляла... Обрати внимание, что было бы в старом коде, если офсет выйдет за мем... if просто не срабатывал!
> Растаманы: "Так падение это нормально"...Это другое ;)
>> Проблема была вызвана неверной проверкой размера памяти в коде загрузки цветовых профилей ICC, написанном на языке Rust.
> Это пять, я считаюСмотрим оригинал:
> It doesn't seem like this should be a security bug as it is just a rust panic on startup.Исправление в коде
pub fn write_u32(mem: &mut [u8], offset: usize, value: u32) {
- if offset <= mem.len() - std::mem::size_of_val(&value) {
+ if offset > mem.len() - std::mem::size_of_val(&value) {
panic!("OOB");
}
В общем, обычный опеннетный ламеризм - когда даже не ходят по ссылкам, а придумывают "как оно там" читая кривой перевод.
Такой треш только растаманы могли написать.
Ну знак кто-то перепутал. Экая невидаль и безотносительно Раста.
Ну забыли освободить память, экая невидаль... ;-РПохоже пора делать список, как с илоном маском, и надписью "вв находитесь тут".
> Ну забыли освободить памятьВ смысле?
Не сказать, что я прям знаю rust, но panic! же ЕМНИП раскручивает стэк и терминирует программу. Он и используется когда , упрощённо говоря, "случилась какая-то фигня, я ХЗ как это полчилось и как это править - чистимся и завершаем процесс".
Это я уже на редокс ссылался, с их фейлом и армией растофанатиков, оправдывающих свои комплексы.))
> Ну забыли освободить память
> Это я уже на редокс ссылался, с их фейлом и армией растофанатиков,
> оправдывающих свои комплексы.))Ну посмотрим, что там:
> The Redox kernel does not have the structures in place to allow freeing memory. The userspace allocator can free, and then reuse, but anything allocated with sbrk from the kernel will be lost.Пока что фейл у отчаянно юлящих горе-набрасывателей.
Так а что текло тогда?) Или не текло?
> Ну забыли освободить память
> Так а что текло тогда?) Или не текло?Какое неуклюжее переобувание в прыжке.
Так что там за фиксед мемори лик был, а?)) Небыло? :-D
> Так что там за фиксед мемори лик был, а?)) Небыло? :-DЗагугли уже, что такое memory safety, о котором говорят в каждом таком треде.
> Так что там за фиксед мемори лик был, а?)) Небыло? :-DВообще-то нет, не было. Менеджер ядерной памяти был переписан с новыми структурами данных, позволяющих ядру освобождать куски памяти после завершения форка - это было.
Та что там с "Ну забыли освободить память", с которого ты так старательно спрыгиваешь? Покажешь? Или как обычно - сбалаболил и в кусты?
А почему они пишут "This has eliminated kernel memory leaks"? Что за leaks такой? И зачем его исправлять если это не leaks?))
> А почему они пишут "This has eliminated kernel memory leaks"? Что за
> leaks такой? И зачем его исправлять если это не leaks?))Ты эта, меньше отвлекайся от "Ну забыли освободить память" на скобочки - они за аргумент никак не тянут. Или таки обыкновенный опеннетный балабол?
Так незнаешь, да? А священную корову защитить охота?))
Прекрасный обезьяний подход, индусы в майкрософт также делают, поэтому простая операция печати на принтер вызывает синий экран смерти всей системы, все данные пропали, но зато можно рассмотреть стек программы печати
> Прекрасный обезьяний подход, индусы в майкрософт также делаютТам проблема, если я правильно понял, в синхронизации (точнее её нарушении) на уровне потоков в драйвере ядра. Каким местом это соотносится к данной проблеме?
А дальше че не цитируешь про unsafe?)
> А дальше че не цитируешь про unsafe?)А че там дальше исправляли, шkолота?
Так и этот кусок не исправляли, пока петух не клюнул. А как клюнул, руками сделали, и давай друг друга спрашивать: норм? Чо? Так надо было?)) Хз, отвечают, вроде задействуется unsafe функция, но хз, не падает зато уже.Раст as is. :-D
>> panic!("OOB");
> но хз, не падает зато уже.Пытаешься соответствовать своему нику?
https://doc.rust-lang.org/std/macro.panic.html
> ... allows a program to terminate immediately and provide feedback to the caller of the program. panic! should be used when a program reaches an unrecoverable state....
Таки продолжает падать несмотря на рандомный фикс?))
> Таки продолжает падать несмотря на рандомный фикс?))Так и продолжаешь пустозвонить и уходить от ответа?
Всегда так делал, но и ты с unsafe недалеко ушел. :-Р
> про unsafeБоится показать, какой падающий текущий буллшит пишут растаманы.
>> про unsafe
> Боится показать, какой падающий текущий буллшит пишут растаманы.Так покажи, не стесняйся ... или балабол?
важнее тут то, как ты поскипал процитировать дальше про unsafe, боясь заляпать свою священную корову :-Р
FF падает, ресдох течёт... Или ты не в курсе?
>>>> про unsafe
>>> Боится показать, какой падающий текущий буллшит пишут растаманы.
>> Так покажи, не стесняйся ... или балабол?
> FF падает, ресдох течёт... Или ты не в курсе?А анонимные балаболы, как обычно, балаболят и переводят стрелки ...
> negative = false; // bogus
Жду оправданий шизиков с растом
Так падение это нормально. В этом то и была идея,
что программа при выходе за пределы массива будет падать,
а не давать перезаписать стек и выполнить код на вашем устройстве.В чем оправдываться?
> Так падение это нормально.Пипеец отмазы пошли... А что, растаманы не умеют в обработку исключений?!
pub fn write_u32(mem: &mut [u8], offset: usize, value: u32) {
- if offset <= mem.len() - std::mem::size_of_val(&value) {
+ if offset > mem.len() - std::mem::size_of_val(&value) {
panic!("OOB");
}> Пипеец отмазы пошли... А что, растаманы не умеют в обработку исключений?!
>> Out of Bounds
> обработку исключений?!Знатоки-питонисты в треде - все в сад!
Так в расте исключения и не приветствуются. Как в С. Для "обрабатываемых" ошибок есть трейт Result. Но для особых случаев (типа жутко медленного кода и профессиональных анонимусов опеннета) есть std::panic::catch_unwind.
> исключения и не приветствуются... Для "обрабатываемых" ошибок есть трейт Result.Как видно из приведённого кода, растаманы не любят использовать ни то, ни другое. Они ручками проверяют индекс и ручками дёргают паник.
А это уже человеческий фактор и язык тут ни при чём. Я сам люто угораю с кода на Расте, в котором сплошные unwrap() без проверок.
> А что, растаманы не умеют в обработку исключений?!А C++ программисты умеют? Как C++ программисты обрабатывают исключение типа выход за границу массива? Это же ошибка типа "у программиста кривые руки", а такого рода ошибки должны приводить к краху, не?
>> А что, растаманы не умеют в обработку исключений?!
> А C++ программисты умеют? Как C++ программисты обрабатывают исключение типа выход заТут амый смак тут в том, что вызовы write_XX используются исключительно из
#[no_mangle]
pub unsafe extern "C" fn
которые специально для дерганья из плюсов. И трейc сразу по ссылке:
6 libxul.so std::panicking::begin_panic /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/std/src/panicking.rs:519
7 libxul.so qcms_data_create_rgb_with_gamma gfx/qcms/src/c_bindings.rs:287
8 libxul.so gfxPlatformGtk::GetPlatformCMSOutputProfileData gfx/thebes/gfxPlatformGtk.cpp:483
9 libxul.so gfxPlatform::Init gfx/thebes/gfxPlatform.cpp:1005но кто ж на опеннете будет ходить по ссылкам - тут уже достижение, если прочитают дальше заголовка.
Падения ненормальны вообще
сейчас набегут растаманы с объяснениями, что то был безопасный крах.
> сейчас набегут растаманы с объяснениями, что то был безопасный крах.Питонисты не поверят, но
pub fn write_u32(mem: &mut [u8], offset: usize, value: u32) {
- if offset <= mem.len() - std::mem::size_of_val(&value) {
+ if offset > mem.len() - std::mem::size_of_val(&value) {
panic!("OOB");
}
Сишники не поверят. Условие было неверное, а значит при большом offset ожидаемой паники не было бы, а была бы запись в память по левому смещению. Обычная дырень. А паника - дело десятое.
> а была бы запись в память по левому смещениюРаст - "безопасность" :) Всё, что надо знать про раст. Если руками индекс не проверил - можно всё обрушить.
> Сишники не поверят.Сишники может и не поверят, но анонимы то тут причем?
> Условие было неверное, а значит при большом offset ожидаемой
> паники не было бы, а была бы запись в память поТолько аноним скромно умолчал, что с таким условием, паника вылезала на валидных данных. Валидные данные встречаются (внезапно) намного чаще невалидных, позволяя заметить ошибки такого рода.
> левому смещению. Обычная дырень. А паника - дело десятое.
Вообще-то, паника при чтении валидных данных позволила практически сразу выявить ошибку в логике, а не получить "сюрпрайза" вида "goto fail" или просто перезаписывание данных в буфере.
Ну и да, приведенный код вообще-то намекал, что паника не "крах",
> allows a program to terminate immediately and provide feedback to the caller of the program. panic! should be used when a program reaches an unrecoverable state.хотя конечно питонистам и прочим ЖСникам может быть без разницы.
Это показало, что растаманы сначала кодят, не проверяя, потом вываливают релиз, и лишь потом юзвери натыкаются на ошибку. Удачи растаманам, и побольше пишите кода:if кривое условие { user = root; }
Погоди, это еще оказывается лучше чем было:>Further, the out of bounds checks were only added recently, previously there was no check at all.
:-Р
Никакой язык програмирования не излечит непотребно произрастающих кривых ручёнок .
Тогда на%ер нужен раст, если можно выпрямить руки и писать на C.
>можно выпрямить рукиРукожопу ровнять руки бесполезно.
Шизикам с C и UB в каждом строчке что делать?
> в каждом строчке что делать?Выучи русский.
Правильно, когда нечем крыть - время тронуть то, что отредактировать анониму нельзя
Ты спросил: "Что делать?", тебе ответили. Никто не должен разбирать перед этим безграмотную речь и пытаться понять, что ты имел ввиду.
Ты на расте сразу комменты пиши, там ошибок не бывает.
Он раст выучил, ему хватит. Всё остальное - гуано.
Ничего специального им делать не надо. В отличии от растоманов они лучше умеют работать с памятью и лучше понимаю что это такое.И в отличии от идицких растоманов они не бегают и не кричат о совершенно безопасной работе с памятью а просто делают хороший код.
> отличии
> и лучше понимаю что это такое.
> И в отличии от
> идицких
> а просто делают хороший код.Выучи русский. И лучше не пиши больше в жанре фентези - получается не очень.
Это они думают, что у них хороший код, пока в нем не найдется кучка уявизмостей и провтыков :)
Впрочем, от этого абсолютно любой язык не застрахован, просто некоторые в _меньшей_ степени.
Firefox безнадежно потерян. Новости даже не интересны.
> Firefox безнадежно потерян.А какие у него альтернативы то собственно?
Chrome уже с нейросетью поставляется (или скоро будет поставляться)
которая анализирует содержимое каждого посещаемого сайта,
а потом все желающим сообщает о том что она о вас думает.А больше альтернатив то и нет. Так что по сути firefox это единственный браузер.
Абсолютно точно. Есть, конечно, сильный PaleMoon, но он не умеет в многопоточность, а веб-макаки выдают продукты, требующие суперкомпьютеры для парсинга страницы и отрисовки картинки. Есть ещё Chromium CBP, но скот Гугл движется в сторону грязной диктатуры. Только Firefox.
https://t.me/opera_presto
При чём тут телега? Там не почитаешь. Хочет регистрацию. А подобным срамом не пользуюсь.
Вебкит есть( его в основном яблоко пилит и открывает исходники ) и энные браузеры основанные на нем
В случае тотального гуглопесца - это очень даже неплохой вариант. В отличии от современного KHTML, Webkit хотя бы живой, и хотя бы для личного браузения сойдёт. Как по мне - сильно живее мацыллы.
1. Ungoogled Chromium. Наверное лучшее что сейчас есть. Даже несмотря на вырезание телеметрии, работает настолько хорошо и неотличимо от апстримного хромиума, что я на нём не только сам сижу, но и работу свою делаю.
2. Palemoon(Надо выключить автообновления и OCSP). Легковесный, для личных целей работает вполне, даже на фрибзд собирается(для одного из моих компов), но мою работу уже не тянет.И всё, больше браузырей не осталось. В сухом остатке у нас есть полтора браузыря.
А остальные - кто-то телеметрию ввёл, где-то утечки в некрософт, некоторые - не вывозят "современный вэб".
Унгуглед - полнейший кастрат. Юзабилити и настройки нулевые. Для полноценного юзания не подходит. Только при рецидиве паранойи.
> Унгуглед - полнейший кастрат.Ну, если тебя телеметрия интересует - то здесь с этим туго.
> Юзабилити и настройки нулевые.Самые удобные для меня настройки и такое же юзабилити. Качалка плагинов ставится отдельно.
> Для полноценного юзания не подходит.А что тогда такое полноценное юзание? Я например - хожу в инет с плагинами, совершаю видеозвонки.
> Только при рецидиве паранойи.Телеметрии я не боюсь, но мерзко и противно. Например - ты ведь не боишься что тебя пошлют нафиг, но тебе это вряд-ли понравится.
Палемун тоже весь вэб не откроет. Как собственно и унгуглед. И иже с ним. Кстати, из-за того что кастрат. По самые помидоры. Но тут помогает лозунг: - Что не работает - то и не нужно!
> - if offset <= mem.len() - std::mem::size_of_val(&value) {
> + if offset > mem.len() - std::mem::size_of_val(&value) {Супер
Отличный пример, что в головах растаманов - одна каша.
Типа у сишников нет опечаток и кучи ub в коде?
Сишники понимают что они делают. А вы очевидно нет. Ну правильно зачем растоману думать? У него есть слепая вера в раст, зачем там думать?
Думать надо всегда и везде. Новость тому живое доказательство.
Но это приятнее делать в морально более современном языке, который даёт себе труд развиваться, а не стагнировать десятилетиями.Ну и нет в принципе ничего безопасного, но Раст чуть облегчает некоторые моменты. Однако, на мой взгляд, это не является основной фишкой, другие нравятся больше. Изначально вообще Serde (де/сериализация) вызвал вау-эффект.
> морально более современном языкеИ к расту это никакого отношениея не имеет.
Куда более приятно и даёт развиваться современный стандарт C++
Но неосиляторам не понять, что пользуясь современным C++ проблем с безопасной памятью нет уже очень и очень давно. При этом сохраняется совметимость стройность и логичность языка. А не высер какого-то укурка.
Раст как раз современный
А плюсы похожи на деда, который пытается танцевать на равных с молодежью
От повторения любой мантры мир не меняется. И раст безопаснее не становится.
Have you considered Rewriting It In Rust?
После переписывания кода на раст появились дичайшие ошибки.
Что сломали-откусили на этот раз?
В общем после весии 84 крашится firefox очень много. На многих вэб сайтах что я использую годами, определенные страницы вызывают крах ... У меня есть подозрение в более строгой работы с пирожками и в общем ... Я даже выучил что есть about:crashes :) - нигокда не знал этого. Так что если есть какаято критическая работа - перехожу на EDGE. он мне стал больше нравится чем Firefox, в особенности работы с памятью при фактичестий таких же наборов add-ons.
> после весии 84 крашится firefox очень многоПоследствия допуска растаманов в код FF.
Браво, Йозеф! Я чуть было не поверил.
Да как то всеравно насчет веры то ... Самое прикольное это Restart with add-on disabled .... страница загружается ... ОК .... выключаем ВСЕ add-ons ...пергружаем - краш ... что и как я не понимаю, особенно любит бахатся на логин страницах, и главное что крашится все ... Вот у меня 2 4К монитора это гдета 5-6 окон баах и все краш , есть кнопка восстановить все окна ...
Может в about:config чтего намудрили? С дефолтными настройками и без аддонов тоже падает?
about:config они тоже постепенно подрезают ироды.
Вообще то, что у вас больше похоже на исключение чем на правило. Лисой долго пользуюсь и падала она у меня редко. Попробуйте на чистом профиле проэксперементировать.
> Вообще то, что у вас больше похоже на исключение чем на правило.Еще больше похоже на обычный вброс очередного хромобоя - я уже и не помню, когда падающую лису последний раз видел (хромом и его обертками не пользуюсь совсем).
Так сложи 2 и 2,моюет получишь внезапно 4: если без аддонов не крашится, а со всеми аддорами кралится, то может дело о в одном конкретном аддоне? Почему ты столько раз обмуслолив эту тему до сих пор сам не догадался? Типичный лисохейтер.
Новой телеметрии добавили?
> неверной проверкой размера памяти в коде загрузки цветовых профилей ICC, написанном на языке Rust.Это ФИАСКО брата.
Барата
...который придумал всё на раст переписывать
Раст поработал с памятью, на последней букве крах. Увы. Зато безопасно.
раст течёт
раст падает
<<< вы находитесь здесь >>>
раст дырявый
Жестоко, но правда она такая. Хоть и хороша была идея положенная в основу, но нет. Современные нормальные языки справляются лучше.
Всё, мир рухнул> Проблема была вызвана неверной проверкой размера памяти в коде ... написанном на языке Rust.
Это провал. У кого-то остались сомнения? Люди размер памяти не могут определить, как они правильно и безопастно с ней рабоать будут?
Боже, пожалуйста, не пускай растаманов в код ФС-ов... Подумаешь, что-то не по тому смещению запишут... Зато безопасно весь диск угробят!
Это и проблемма, они в это верят и забывают быть осторожными.
Главное не дать прочитать твои данные злодеям. Это же дыра.Днищеразработчики
Переписать на хрусте предлагали они. Говорили, будет безопасно.
Да, и продолжаем говорить. С++ код продолжил бы писать в память, как будто не было никакого выход за границы, и чем бы это кончилось, никто не знает. Крах безопасен, в отличие от.
Нет не продолжил бы. Ты хоть книги и документы открой. Ничего бы C++ с твоими данными не сделал бы. Был бы такой-же крах, а сервис слидящий за жинью процесса просто перезапустил бы процесс. Никак бы твои данные не пострадали.Начинайте люди уже хоть документацию читать. Примеры я уже приводил.
> а сервис слидящий за жинью процесса просто перезапустил бы процессВ смысле, в C++ встроили рантайм, который гоняет код C++ чуть ли не в виртуалке, чтобы бороться с сегфолтами??
> Начинайте люди уже хоть документацию читать. Примеры я уже приводил.
Ой, я читал документацию на C++. 20 лет уже как я эпизодически открываю документацию к C++ и начинаю читать. Сложна и нипонятна. Грабли заботливо разложены на каждом шагу. Каждый раз это заканчивается тем, что я вышвыриваю документацию и возвращаюсь к своим делам. Раньше я возвращался к C, сегодня к rust'у.
На xkcd есть комикс, отлично отражающий суть C++: ему надо посвящать жизнь, чтобы что-либо из себя представлять как программист на C++. Фу таким быть.
> В смысле, в C++ встроили рантайм, который гоняет код C++ чуть ли
> не в виртуалке, чтобы бороться с сегфолтами??С новым годом :) Встроенный рантайм не единственное решение. И да, читаем что написано. "сервис"
> Ой, я читал документацию на C++. 20 лет уже как
20 лет смотреть в книгу и видеть фигу. Да ты терпило то ещё смотрю.
>> В смысле, в C++ встроили рантайм, который гоняет код C++ чуть ли
>> не в виртуалке, чтобы бороться с сегфолтами??
> С новым годом :) Встроенный рантайм не единственное решение. И да, читаем
> что написано. "сервис"Нет, давай мы определимся: это свойство языка, или внешняя по отношению к языку сущность?
>> Ой, я читал документацию на C++. 20 лет уже как
> 20 лет смотреть в книгу и видеть фигу. Да ты терпило то
> ещё смотрю.Я ж не каждый день читаю. Может раз лет в пять загляну и посмотрю, что там нового появилось промежь документации по C++.
> Нет, давай мы определимся: это свойство языка, или внешняя по отношению к языку сущность?Нет, давай ты школу окончишь и читать научишься.
>> Нет, давай мы определимся: это свойство языка, или внешняя по отношению к языку сущность?
> Нет, давай ты школу окончишь и читать научишься.Нет, спасибо.
Нет-нет, он правильный вопрос задал: ты предлагаешь накрутить оверхеда в виде отдельного процесса, который вмешивается в полезный процесс, просто потому что рантайм языка не умеет в безопасность? При этом ты утверждаешь
> Дыр в C++ от этого как небыло так и не будетУ тебя в последовательностью всё в порядке? Противоречия не видишь, нет?
А повторять вы можете сколько угодно свою мантру. Ничего это не изменит. Дыр в C++ от этого как небыло так и не будет. Проблем с rust это так-же не решит. А проблем у него больше чем вы пока видите.Я его искренне попробовал в большой проекте. Безхейтерский рассказ в подготовке. Никакого хейтерства, голые факты.
> Я его искренне попробовал в большой проекте. Безхейтерский рассказ в подготовке. Никакого
> хейтерства, голые факты.Вот когда будет рассказ, тогда и можно будет говорить о чём-то. Пока же, я вижу много хейтерства и ноль фактов. То есть ровно наоборот тому, что ты декларируешь.
> Вот когда будет рассказ, тогда и можно будет говорить о чём-то.А первая часть и кусок второй тут уже на форуме есть. Или в гугле забанили?
Просто культурные из пишущих на rust попросили оформить это в отдельном, цельном виде на каком-то ресурсе.
А в комментарии я вижу просто фанатика. Но мантра извини, не работает. Нужно включать голову.
>> Вот когда будет рассказ, тогда и можно будет говорить о чём-то.
> А первая часть и кусок второй тут уже на форуме есть. Или
> в гугле забанили?О, я не ищу специально. Всё, что заслуживает внимания само до меня доберётся. В смысле, может я и читал, раз оно тут есть. Хотя форум я не читаю специально, только если меня туда ссылкой отправляют, так что может и не читал.
> Просто культурные из пишущих на rust попросили оформить это в отдельном, цельном
> виде на каком-то ресурсе.Хаха. Я не из их числа. Культурные -- это не ко мне.
Есть малюсенькая проблема - гугление твоего ника с сочетанием Rust выдаёт только сервер для многопользовательской игры с названием Rust.Так что предоставь хоть один настоящи
й пруф, а то только хейтерское пустословие, что противоречит твоему заявлению о голых фактах без хейтерства.
Ага, нашёл-таки:
https://www.opennet.me/openforum/vsluhforumID3/121677.html#183Вкратце:
1) Из-за того, что языку всего 5 лет и ни одна крупная компания, разрабатывающая IDE так и не сделала её для Rust, Вы ругаете тулинг языка, когда как для 25-летнего C++ ВНЕЗАПНО есть тулинг. Да, хороший инструмент должен же забесплатно достаться, тем более, когда он почти никем до конца 2020 года не поддерживался. Mozilla не в счёт, там как минимум с 2014 года не всё в порядке.2) Вы сами не смогли через макросы реализовать то, что сделали через шаблоны C++, при этом сами признаёте, что скорее всего Вы макросы до сих пор не осилили, когда как на шаблоны потребовалось несколько лет.
В текущем же треде Вы пока хейтерство и противоречивые высказывания выдаёте. Не надо так, лучше уже вторую часть "критики с фактами" опубликуйте.
И в школах, и в книгах, и в университетах, и на митапах/конференциях, и в общем в Интернете все единогласно утверждают
1) Писать параллельно на двух языках с совершенно разными парадигмами - чревато постоянными ошибками в обоих
2) Смешивать теплое с мягким нельзя.
3) Писать что-то новое и при этом использовать новую для себя технологих так же чревато постоянными ошибками и замедлением всего процесса разработки.Крайне странно вот что:
1) Работадатель Вам это позволил.
2) Вы пеняете на ЯП и тулинг вместо нормальной разработки на нём. И нет, если Вы всё-таки читаете документацию, но при этом всё ещё параллельно пишете на C++, это не нормальная разработка, Вы априори совершаете и не замечаете уйму ошибок, которых могли избежать, выбрав что-то одно.
3) Вы всё ещё трудоустроены в той организации при описанных Вами результатах.
> Есть малюсенькая проблема - гугление твоего ника с сочетанием Rust выдаёт только
> сервер для многопользовательской игры с названием Rust.Есть большусенькая проблема. Кто-то не умеет пользоваться гуглом. Ну тут уж без шансов. Дальнейшее не имеет смысла если вы даже гугл не осилили.
О, ты не осилил раст и даже опеннет, при этом говоришь про осиляторство гугла? Здравствуйте, двойные стандарты.Или тебя лично оскорбили конструктивные замечания в твою сторону? Токсишь больше фрактала, при том, что он обычный тролль, а ты позиционируель себя как не хейтер. Здравствуйте, двойные стандарты.
Сам вроде как признаешься, и о скорее всего не осилил раст, потом сам же говоришь, что он плохой (зато с хорошей идеей, ведь ты якобы не токсичный). Здравствуйте, противоречия.
Стоп, может ты всё таки австрийский музыкант? Или геймер с ютуба, развернувший сервер для игры Rust? Или можешь снизить ЧСВ и вместо утвержденич "вот я молодец, но не покажу, сами ищите пруфы" предоставить хотя бы одну ссылку, поктторой наконец-то пересианель быть пустословом?
Ну и что вы скажете на это, растоманы?
они уже сказали: "это безопасное падение, так и задумывалось".
Стань волонтёром тудытьтвоючерезкосяк! https://support.mozilla.org/ru/get-involved
Секундочку, падение при выходе за границы - это нормально в расте. Такс, у меня гцц умеет падение и даже трейс и отчет.. еще раз - зачем нужен раст ?
> Секундочку, падение при выходе за границы
> ... зачем нужен раст ?Очевидно, что бы анонимы читали заголовок и писали всякую чушь?
Секундочку, любой C++ програмер знает как с этим быть. Есть исключения, их можно обработать.Rust - программист об этом забывает из за мантры.
Зачем нужен rust? а не знаю. Мне и automotive не нужен и нужен не будет. Нет смысла. Да и инфраструктура для него тухляк.
Почему всегда такой хейт раста? Я в этом мало что понимаю, но со стороны это выглядит, как если бы начали хейтить английский язык или французский. Смешно
А ты почитай книжки умные. Напиши с 10 законченных именно ПОЛЕЗНЫХ проектов и тогда всё станет понятно.
А не много 10?
> А не много 10?Ну хоть один.
Это какие же книжки надо почитать, чтобы еачать ненавидеть ЯП?И скиньте, пожалуйста, список (не менее 10) Ваших законченных полезных проектов, а то на гитхабе по Вашему нику нулевая активность, на гитлабе вообще петы на PHP и JS, что вообще мимо распрей по поводу Rust.
А то балабольством попахивает.
> Это какие же книжки надо почитать, чтобы еачать ненавидеть ЯП?А я не ненавижу ЯП. Идеи положенные мне нравятся. Мне не нравится сообщество вокруг этого ЯП. Из за всяких неосиляторов в виде фрактала и кобылы iPony приобретаешь отвращение к языку. Из за таксичности сообщества. Это они поносят всё на свете кроме своего культа. А когда облажались так у них память короткая.
Я знаю нормальных людей из этого сообщества, сам язык я использовал в крупном проекте (полная история в подготовке). Но в целом это токсичные люди.
> И скиньте, пожалуйста, список (не менее 10) Ваших законченных полезных проектов, а
> то на гитхабе по Вашему нику нулевая активность, на гитлабе вообще
> петы на PHP и JS, что вообще мимо распрей по поводу
> Rust.Хаха, смех. Нужно уметь пользоваться гуглом и учитываеть понятие контекст. Если уж на то пошло, то этот ник это не ник, это абривеатура. И чтобы найти реальные проекты нужно выйти из абривеатуры на реальное имя. Все мои проекты я публикую под реальным именем.
И да, ни на гитхабе, ни на гитлабе и прочей фигне вы их не найдёте. У меня нормальный селфхостинг. Мне не жалко 25 денег за домен
Ага,заявил одно, а ни на один вопрос по заданной тобой же теме прямо не ответил - да, явно не хейтер.Давно тролли стали характеристикой токсичности сообщества? Они могли писать всё то же самое, только со стороны любого другого ЯП. Тебя это не смущает? Давай всех под одну гребёнку.
Если так судить, ты похуже их будешь, ведь в твоих слова нельзя так легко подменить одно другим, значит ты не тролль, следовательно ты не троллишь, а на самом деле балаболишь, не отвечая на поставленные тебе вопросы, по заданным тобой же темам.
Скинь уже ссылку на свой сайт, а то "я молодец, но пруфов не скину, сами поищите" самый явный признак балабольства.
"Проблема была вызвана неверной проверкой размера памяти в коде загрузки цветовых профилей ICC, написанном на языке Rust. ":-D :-D :-D :-D :-D :-D :-D :-D :-D
Fractal -ass-hole !!! :-D
Больше всего жрёт памяти Фаярфокс и Фалкон, если что.
https://s8.hostingkartinok.com/uploads/images/2020/12/e25df5...
> Больше всего жрёт памяти Фаярфокс и Фалкон, если что.
> https://s8.hostingkartinok.com/uploads/images/2020/12/e25df5...Ну, раз анонимы так говорят, да еще и график постят - то несомненно так оно и есть!
Именно так. А кто-то думал по другому?
Дык это наверно ваши друзья пингвинофаны намерили.
https://forum.altlinux.org/index.php?topic=43390.0
> Дык это наверно ваши друзья пингвинофаны намерили.Сам что-то запостил, сам обвинил и "разоблачил" - только вот номерком спалился.
> https://forum.altlinux.org/index.php?topic=43390.0
> Для теста используется htop, после каждого запуска или закрытия браузеров дается время пока озу придет в покой. Так как браузеры раскидывают свои процессы, то в htop берется общая озу без браузера, а затем с ним."Замечательная" методика ...
"Истиный" пруф в студию!
Где, конечно, показано что фурифокс самый что ни на есть маложрущий и экономный.
> "Истиный" пруф в студию!Ну давай, я жду.
> Где, конечно, показано что фурифокс самый что ни на есть маложрущий и экономный.Понимаешь - я не совершенно не обязан опровергать голословные анонимные утверждения - бремя доказательства лежит на утверждающем. Т.е. сам что-то придумал, сам и доказывай.
А то следующим шагом у вас будет требование доказать отсутствие маленького фарфорового чайника на земной орбите - кто вас, анонимов знает.
Стало быть жрёт. Как не в себя.
> Стало быть жрёт. Как не в себя.Больше всех балаболят местные "аналитики"
http://i.otzovik.com/objects/b/450000/444139.png
Жду "истинный" пруф в студию, где будет показано что аноним самый что ни на есть умный и сведующий. Нет пруфа - стало быть балабол и не в себе.
*чайник_расселя.жпг*
Все так хейтят этот раст, что уже моя бабушка никогда не знавшая про С++ и прочий Раст, теперь знает про этот ваш Раст.
Раст, построен на хейте других языков
Раст, построен на неосиляторстве нормальных языков
Хейтеры раста построены на неосиляторстве раста.
Мозилла окончательно превратилась в браузер для скачивания другого браузера
Вопрос какого?
Написано же, "другого". Есть варианты?!
Какой смысл качать мразиллу лишь для того, чтобы с ее помощью скачать другой браузер, если для этого можно воспользоваться wget или более другим браузером, поставляемым по умолчанию? Мозилла скатилась в эталонное ненужно.
Браузеры в России: https://radar.yandex.ru/browsers?period=all
Даже мяумяу-браузер за последний год и то выше фурифокса...
Расто дырень. Ха
Раст позволяет писать небезопасно вне unsafe.
А представьте, если растаманы так же ошибутся со смещением внутри ФС... и <белый лис> диску... "безопасный".