Stanislav
Вот вы смеетесь, а мне сломали в очередной раз при переезде с 4.4.69 на 4.4.70 у меня сломался юзер-спейс.
да бывает, в руби он рейлс тоже взяли такие в одном секьюрите фиксе поменял одну функцию, а потом некоторые либы всосали
Pavel
вот руби верю. а торвальдс обычно нормальные версии выкатывает
Matwey
Ну как это... Дистрибутив сказал - обновления приехали, вот они и накатились, а мой апликейшин хопа и не работает больше.
Stanislav
секьюрити фикс, который нумеровался буковкой z
Stanislav
x,w,y,z
Matwey
вот руби верю. а торвальдс обычно нормальные версии выкатывает
На самом деле я навскидку второй такой случай помню, в прошлый раз у меня 3.16.3(?) стало выпадать в панику на загрузке после обновления с 3.16.2
Stanislav
поправили баг, но сломали соместимость с другими либами
Stanislav
правда либы сами виноваты, нех приватные методы вызывать)
Matwey
А падало оно потому-что там добрые люди утечку памяти починили в каком-то модуле. Ну, т.е. в одной веточке кода они починили утечку памяти, а в другой учинили double free
Matwey
или use after free
Matwey
не суть важно
🦥Alex Fails
Нищтяк. Вот почему я бота почти сразу переделал на с++. Надоедает писать эти фри и пр
Pavel
дела. хорошо что я опенсусе выкинул ещё около 9-й версии
Matwey
дела. хорошо что я опенсусе выкинул ещё около 9-й версии
Чо толку то? Починили же в ванильной версии ядра
Pavel
ну с тех пор юзерспейс у меня не падал вроде :)
Matwey
Нищтяк. Вот почему я бота почти сразу переделал на с++. Надоедает писать эти фри и пр
По моему небогатому опыту починки ядра, могу сказать, что это к сожалению скорее типовые проблемы: use after free, double free, чем исключения.
Matwey
Вот на Rust-е бы наверное хорошо зашло бы писать Linux
Matwey
Нищтяк. Вот почему я бота почти сразу переделал на с++. Надоедает писать эти фри и пр
Один раз было такое, что люди пометили глобальную переменную как __init и отдали на неё указатель дальше путешествовать. В определенный момент происходила ошибка доступа по указателю.
Matwey
Ну, они это не специально, им подсказал какой-то статический анализатор кода так сделать.
🦥Alex Fails
Надо пивас-студию натравить, лол
🦥Alex Fails
Эт да, согласен
Matwey
Вот кстати задумался, помог бы rust в такой ситуации?
🦥Alex Fails
Поможет не язык какой-то,а илиома раии
🦥Alex Fails
Т.е. если в тот же си вкрутить дторы, то будет збс
🦥Alex Fails
(Почти)
Matwey
Переменная лежит в секции .data.init , на неё отдают указатель. В определенный момент секция .data.init удаляется из памяти целиком и виртуальные страницы освобождаются.
🦥Alex Fails
Над обсервер делать
Matwey
У ядра есть такие приколы свои, там часть функций и данных можно положить в секции которые выкинут из памяти на определенном этапе
🦥Alex Fails
да, в винде давно так тоже было
🦥Alex Fails
в 3.1 вроде б. там были флаги специальные и уведомляхи об этом чуде
Matwey
Тут скорее нужна спецификация времени жизни какая-то магическая. Потому-что эти данные и функции испаряются для языка внешним образом.
🦥Alex Fails
надо наблюдателя туда впихнуть
🦥Alex Fails
есть же механизмы отслеживания этой хурмы
🦥Alex Fails
анмэп - триггерит твоего обсервера, он стейт щелкнет, и ты не юзаешь то говно
Matwey
Проблема линукса в том, что он поддерживает все-таки приличное количество железа, и от него так просто не избавиться. Даже vmware для esxi сделало слой совместимости, чтобы запускать драйвера линуксовые можно было при необходимости.
Berkus
через unsafe можно всё!
Vladislav
через unsafe можно всё!
зачем тогда это все, можно же на сишечке писать просто
Berkus
Вот на Rust-е бы наверное хорошо зашло бы писать Linux
не получится - Линус Торвальдс сначала долго будет обзывать тебя мудаком а потом и вовсе забанит
Berkus
зачем тогда это все, можно же на сишечке писать просто
затем чтобы не писать unsafe пока он не будет необходим!
Vladislav
это ядро, unsafe всегда необходим)
Berkus
ну не всегда
Berkus
в том же редоксе вон большие куски кода без ансейфа работают
Vladislav
в том же редоксе вон большие куски кода без ансейфа работают
это до него ядерные говнокодеры еще не добрались просто
🦥Alex Fails
а можно сюда кинуть эти два заголовка функции с 3 и 4 параметрами (и подписью о том, о чом они)
vladislav
И зачем он тогда в сигнатуре?
Vladislav
ну, можно ассерт бабахнуть
Vladislav
иначе у тебя нет возможности проверить прекондишн что последовательности одинаковой длины
🦥Alex Fails
оба можно внести
🦥Alex Fails
один типа сейф, второй типа не
Vladislav
не вижу повода не хотеть этого
vladislav
Ради консистентности можно потерпеть
Berkus
какая жуть
Stanislav
Vladislav
оффтоп переехал
Vladislav
#supapro
Сахарок
Вопрос хоть верните, может адекваты ответят.
Burado
+
Сахарок
Не пиши мне, плз
Vladislav
вопрос тоже оффтоп
Vladislav
онтопом он будет тут:
Vladislav
https://t.me/joinchat/AAAAAEHb2qHizHNLpTX0pA
Burado
Сахарок
А в чате про алгоритмы не офтоп, ясна.
Tom
Слушай, а в чем суть? как им пользоваться? Т.е. все равно нужны же отдельные .yml файлы и т.п., не?
Tom
да там какой-то ужасный питоноскрипт непонятно для чего
Нормально к питону отношусь, так что это ничего. А вот на кой он мне -- правда непонятно. Потому и спросил :D
Anonymous
Ребят, сегодня посетила идея, что если расписывать структуру программы заранее, то это упростит разработку, т.к. не будешь тратить время на ненужные вещи, а делать только то, что нужно. Сейчас я делаю так: начинаю тупо писать, и придумываю решения на ходу. Какие подводные у такого подхода, с созданием архитектуры заранее?
Anonymous
Ну вроде: то сюда, это туда
Диджитал
>не будешь тратить время на ненужные вещи, а делать только то, что нужно знал бы прикуп - жил бы в сочи
Matwey
Ну все правильно, только иногда посредине пьессы выясняется, что программа должна на самом деле делать что-то другое, ане то что думали вчера
Anonymous
заказчик требования поменял?