The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В DNS-сервере BIND устранен серьёзный сбой, возникший из-за ..., opennews (ok), 13-Июн-14, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


50. "В DNS-сервере BIND устранен серьёзный сбой, возникший из-за ..."  –1 +/
Сообщение от Vkni (ok), 13-Июн-14, 17:13 
> (что соответствует стандарту).

А до 1999-го года ни одной строчки на языке Цэ не написано!!!

Ответить | Правка | К родителю #27 | Наверх | Cообщить модератору

69. "В DNS-сервере BIND устранен серьёзный сбой, возникший из-за ..."  +2 +/
Сообщение от Аноним (-), 13-Июн-14, 20:24 
> А до 1999-го года ни одной строчки на языке Цэ не написано!!!

А для кода древнее 1999 года компилеру может потребоваться указать стандарт, которому он должен следовать.

Ответить | Правка | Наверх | Cообщить модератору

73. "В DNS-сервере BIND устранен серьёзный сбой, возникший из-за ..."  –1 +/
Сообщение от Vkni (ok), 13-Июн-14, 21:00 
> А для кода древнее 1999 года компилеру может потребоваться указать стандарт, которому
> он должен следовать.

А оно точно уберёт оптимизацию? И вообще, сможет ли эту libc скомпилировать-то?

Ответить | Правка | Наверх | Cообщить модератору

130. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от arisu (ok), 14-Июн-14, 13:53 
> А оно точно уберёт оптимизацию? И вообще, сможет ли эту libc скомпилировать-то?

если ты используешь glibc, которая следует стандартам 99-го года, с какого испугу ты возмущаешься, что код стандарта 89-го компилируется хреново?

не хочешь править свой код под новый стандарт — бери glibc постарее и страдай.

Ответить | Правка | Наверх | Cообщить модератору

135. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 20:43 
Про такую штуку, как поддержка совместимости слышал? Про библиотеки, чуть младше тебя и меня, широко используемые в повседневности тоже не слышал?

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

Ответить | Правка | Наверх | Cообщить модератору

138. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от arisu (ok), 14-Июн-14, 20:47 
> Стандарт специально расширен так, чтобы поддерживать совместимость

лолвут? тебе ж выше уже показали, что совместимость поломана.

Ответить | Правка | Наверх | Cообщить модератору

142. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 20:51 
>> Стандарт специально расширен так, чтобы поддерживать совместимость
> лолвут? тебе ж выше уже показали, что совместимость поломана.

Отключаешь эту оптимизацию и видишь невооружённым взглядом, что gcc c этой libc преспокойно компилирует и работает со старой программой, использующей libc. Т.е. 4.8 gcc так и компилировал bind без проблем.

Ответить | Правка | Наверх | Cообщить модератору

146. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +2 +/
Сообщение от arisu (ok), 14-Июн-14, 20:59 
>>> Стандарт специально расширен так, чтобы поддерживать совместимость
>> лолвут? тебе ж выше уже показали, что совместимость поломана.
> Отключаешь эту оптимизацию и видишь невооружённым взглядом, что gcc c этой libc
> преспокойно компилирует и работает со старой программой, использующей libc. Т.е. 4.8
> gcc так и компилировал bind без проблем.

молодец. теперь, всё-таки, попробуй сделать остальные шаги. например, почитать всё же документацию к gcc, где пишут, что результат работы оптимизатора на софте с UB — тоже UB. не уверен в том, что в твоей программе нет UB — не включай оптимизатор. всё, проблема решена.

p.s. то, что в 4.9 реализовали дополнительные оптимизации — это хорошо. то, что они ломают софт говнокодеров — тоже хорошо. а вот то, что говнокодеры видят в этом проблему gcc, а не свою — вот это плохо.

Ответить | Правка | Наверх | Cообщить модератору

151. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –2 +/
Сообщение от Vkni (ok), 14-Июн-14, 21:05 
> не уверен в том, что в твоей
> программе нет UB — не включай оптимизатор. всё, проблема решена.

А ты, умный. Я выше и писал, что при таком подходе -O0 будет у всех. Ибо работающая в 2 раза медленее программа лучше падающей. В любой программе есть ошибки, но ты, конечно, об этом предпочитаешь не думать.

> p.s. то, что в 4.9 реализовали дополнительные оптимизации — это хорошо. то,
> что они ломают софт говнокодеров — тоже хорошо.

Предлагаю вообще без предупреждений ставить вызов rm -rf $HOME в том месте, где встретилось UB. А чё, по стандарту можно.

Ответить | Правка | Наверх | Cообщить модератору

156. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от 0xd34df00d (ok), 14-Июн-14, 21:11 
> А ты, умный. Я выше и писал, что при таком подходе -O0
> будет у всех. Ибо работающая в 2 раза медленее программа лучше
> падающей.

Лучше все-таки научиться программировать.

> Предлагаю вообще без предупреждений ставить вызов rm -rf $HOME в том месте,
> где встретилось UB. А чё, по стандарту можно.

https://github.com/munificent/vigil

Ответить | Правка | Наверх | Cообщить модератору

160. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 21:15 
> Лучше все-таки научиться программировать.

И всё, всё, всё переписать. Ты ребёнка за клавиатуру пустил, что ли?

Ответить | Правка | Наверх | Cообщить модератору

166. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от 0xd34df00d (ok), 14-Июн-14, 21:19 
>> Лучше все-таки научиться программировать.
> И всё, всё, всё переписать. Ты ребёнка за клавиатуру пустил, что ли?

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

Ответить | Правка | Наверх | Cообщить модератору

169. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 21:21 
> Можно и не переписывать, а просто уважать стандарты

Молодец. Это ты пишешь про новый софт, а я тебе про старый, работающий десятилетиями. Типа WindowMaker'а.

Ответить | Правка | К родителю #166 | Наверх | Cообщить модератору

172. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от 0xd34df00d (ok), 14-Июн-14, 21:25 
>> Можно и не переписывать, а просто уважать стандарты
> Молодец. Это ты пишешь про новый софт, а я тебе про старый,
> работающий десятилетиями. Типа WindowMaker'а.

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

Ответить | Правка | К родителю #169 | Наверх | Cообщить модератору

174. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от arisu (ok), 14-Июн-14, 21:29 
>> Можно и не переписывать, а просто уважать стандарты
> Молодец. Это ты пишешь про новый софт, а я тебе про старый,
> работающий десятилетиями. Типа WindowMaker'а.

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

Ответить | Правка | К родителю #169 | Наверх | Cообщить модератору

177. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 21:32 
> прикинь, старые исходники тоже можно чинить.

Прикинь, если получить предупреждение в subj'евом месте, чинить будет на порядки быстрее и дешевле.

Ответить | Правка | К родителю #174 | Наверх | Cообщить модератору

180. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от arisu (ok), 14-Июн-14, 21:34 
>> прикинь, старые исходники тоже можно чинить.
> Прикинь, если получить предупреждение в subj'евом месте, чинить будет на порядки быстрее
> и дешевле.

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

Ответить | Правка | К родителю #177 | Наверх | Cообщить модератору

196. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 21:49 
> прикинь, для этого придумали статические анализаторы. и продолжают их совершенствовать.
> а взваливать задачу анализа на компилятор — это без нужды компилятор
> усложнять и увеличивать время сборки.

Прикинь, компилятор всё равно обрабатывает этот случай.

Ответить | Правка | К родителю #180 | Наверх | Cообщить модератору

201. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от arisu (ok), 14-Июн-14, 21:56 
> Прикинь, компилятор всё равно обрабатывает этот случай.

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

Ответить | Правка | К родителю #196 | Наверх | Cообщить модератору

210. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 22:10 
> прикинь, если снять с компилятора задачу диагностики, то можно сильно упростить код
> обработки и внутреннее представление программы.

Прикинь, движение ИТ всю жизнь идёт в обратную сторону - компьютер должен работать, а человек думать. И работа корректором постепенно перекладывается на сторону компьютера.

Ответить | Правка | К родителю #201 | Наверх | Cообщить модератору

213. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от arisu (ok), 14-Июн-14, 22:14 
> Прикинь, движение ИТ всю жизнь идёт в обратную сторону - компьютер должен
> работать, а человек думать. И работа корректором постепенно перекладывается на сторону
> компьютера.

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

Ответить | Правка | К родителю #210 | Наверх | Cообщить модератору

228. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 22:44 
> то с удивлением увидишь, что я не предлагаю упразднить диагностику per
> se.

Прикинь, если ты сам вернёшься из Валинора, ты узнаешь, что здесь стат. анализатора, комплиментарного GCC нет. Поэтому здесь и сейчас предупреждение надо ставить в GCC.

Ответить | Правка | К родителю #213 | Наверх | Cообщить модератору

230. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от arisu (ok), 14-Июн-14, 22:47 
прикинь, а когда-то считали, что альтернативы рабскому труду нет, поэтому нужно больше рабов.
Ответить | Правка | К родителю #228 | Наверх | Cообщить модератору

237. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 23:19 
> прикинь, а когда-то считали, что альтернативы рабскому труду нет, поэтому нужно больше
> рабов.

Прикинь, если бы мы тогда жили, мы бы так и считали. Ибо, чтобы нужно было меньше рабов, должны пройти определённые изменения, НТР всякое.

Ответить | Правка | К родителю #230 | Наверх | Cообщить модератору

239. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от arisu (ok), 14-Июн-14, 23:29 
прикинь, если ничего не менять — ничего и не изменится. я предлагаю прекратить нанимать новых рабов и начать менять мир к лучшему, а ты — продолжить нанимать рабов и оставить задачу по изменению мира кому-то другому. спасибо, надеюсь, я никогда не «повзрослею» до уровня, когда тоже буду так думать.
Ответить | Правка | К родителю #237 | Наверх | Cообщить модератору

256. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –2 +/
Сообщение от Vkni (ok), 15-Июн-14, 01:13 
> спасибо, надеюсь, я никогда не «повзрослею» до уровня, когда
> тоже буду так думать.

Повзрослеешь. Более того, ты наверняка уже повзрослел. Нужно просто перестать врать самому себе и нам.

Ответить | Правка | К родителю #239 | Наверх | Cообщить модератору

258. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от arisu (ok), 15-Июн-14, 01:36 
> Повзрослеешь. Более того, ты наверняка уже повзрослел. Нужно просто перестать врать самому
> себе и нам.

да-да-да-да. «перестань уже выпендриваться! ишь, моется он каждый день! перестань уже врать, мы же знаем, что на самом деле всё не так!»

Ответить | Правка | К родителю #256 | Наверх | Cообщить модератору

320. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 17-Июн-14, 09:52 
> да-да-да-да. «перестань уже выпендриваться! ишь, моется он каждый день! перестань
> уже врать, мы же знаем, что на самом деле всё не
> так!»

Я не сомневаюсь, что ты, лично, моешься каждый день. И Сшный стандарт читаешь, и Release Notes. А 99%, пишущих на C этого не делает.

Ответить | Правка | К родителю #258 | Наверх | Cообщить модератору

323. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от arisu (ok), 17-Июн-14, 13:28 
> А 99%, пишущих на C этого не делает.

это их личные проблемы. не вижу, отчего я должен в честь сего начать хрюкать.

Ответить | Правка | К родителю #320 | Наверх | Cообщить модератору

325. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от Led (ok), 17-Июн-14, 14:56 
>> да-да-да-да. «перестань уже выпендриваться! ишь, моется он каждый день! перестань
>> уже врать, мы же знаем, что на самом деле всё не
>> так!»
> Я не сомневаюсь, что ты, лично, моешься каждый день. И Сшный стандарт
> читаешь, и Release Notes. А 99%, пишущих на C этого не
> делает.

Не моются?

Ответить | Правка | К родителю #320 | Наверх | Cообщить модератору

326. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от arisu (ok), 17-Июн-14, 15:07 
> Не моются?

ещё хуже: настаивают, чтобы и другие не мылись. потому что мыться — ненормально: если бы бох хотел видеть людей чистыми, он бы создал их непачкающимися.

Ответить | Правка | К родителю #325 | Наверх | Cообщить модератору

330. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 17-Июн-14, 22:04 
Совершенно верно. При этом ты, почему-то, настаиваешь на том, что давайте прямо тут бактериологические эксперименты ставить. А если кто из этих чумазых обывателей не простерилизовался и умер от дизентерии, я не виноват!
Ответить | Правка | К родителю #326 | Наверх | Cообщить модератору

331. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от arisu (ok), 17-Июн-14, 22:12 
я предлагаю перестать считать, что дизентерия — это божья кара, что спасение лежит в усердных молитвах и плакатах «не греши», и начать, наконец, соблюдать санитарные нормы. а тех, кто их соблюдать не желает, изолировать в большой яме и забыть о них. следить только, чтобы не вылезли.
Ответить | Правка | К родителю #330 | Наверх | Cообщить модератору

332. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 17-Июн-14, 22:27 
> а тех, кто их соблюдать не желает, изолировать в большой яме и забыть о них. следить только, чтобы не вылезли.

Так это же почти все. Ну кроме тебя и ещё пары человек.

Ответить | Правка | К родителю #331 | Наверх | Cообщить модератору

333. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от arisu (ok), 17-Июн-14, 22:28 
> Так это же почти все.

ну и что? большинству говнокода лучше оставаться ненаписаным.

Ответить | Правка | К родителю #332 | Наверх | Cообщить модератору

334. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 17-Июн-14, 22:38 
> ну и что? большинству говнокода лучше оставаться ненаписаным.

Фа-арш невозможно провернуть наза-ад.

Ответить | Правка | К родителю #333 | Наверх | Cообщить модератору

335. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от arisu (ok), 17-Июн-14, 22:39 
само собой. грязные руки невозможно вымыть, поэтому нет смысла даже начинать.
Ответить | Правка | К родителю #334 | Наверх | Cообщить модератору

337. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 18-Июн-14, 18:53 
> само собой. грязные руки невозможно вымыть, поэтому нет смысла даже начинать.

Исключительно постепенным комплексом мер.

"Конечно, обыватели должны быть всегда готовы к перенесению всякого рода мероприятий, но при сем они не лишены некоторого права на их постепенность. В крайнем случае, они могут даже требовать, чтобы с ними первоначально распорядились, и только потом уже палили. Ибо, как я однажды сказал, ежели градоначальник будет палить без расчета, то со временем ему даже не с кем будет распорядиться..."

А ты хочешь сразу палить.

Ответить | Правка | К родителю #335 | Наверх | Cообщить модератору

338. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от arisu (ok), 18-Июн-14, 18:57 
> А ты хочешь сразу палить.

и желательно — вместе с родственниками. если непонятно, почему — то и пояснять бессмысленно.

Ответить | Правка | К родителю #337 | Наверх | Cообщить модератору

339. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от Vkni (ok), 21-Июн-14, 05:26 
> и желательно — вместе с родственниками. если непонятно, почему — то и
> пояснять бессмысленно.

Да понятно почему - это инстинктивное желание. Но на уровне градоначальника нужно всё-таки свои инстинкты слегка умерять. Иначе останешься один с письмоводителем.

Ответить | Правка | К родителю #338 | Наверх | Cообщить модератору

341. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от arisu (ok), 21-Июн-14, 19:42 
> Да понятно почему

как я и сказал — пояснять бессмысленно. конечно, ничего ты не понял, но уверен, что понял.

Ответить | Правка | К родителю #339 | Наверх | Cообщить модератору

173. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от arisu (ok), 14-Июн-14, 21:27 
>> не уверен в том, что в твоей
>> программе нет UB — не включай оптимизатор. всё, проблема решена.
> А ты, умный.

таки да.

> Я выше и писал, что при таком подходе -O0 будет у всех.

отучаемся говорить за всю сеть. у говнокодеров — да. люди же, которые возьмут на себя труд изучить язык, на котором пытаются писать, вполне в состоянии делать код без UB (само собой, не обязательно сразу — но для того и существует тестирование с отладкой). вторые называются «программисты», а первые — «говнокодеры».

> Ибо работающая в 2 раза медленее программа лучше падающей.

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

> В любой программе есть ошибки, но ты, конечно, об этом
> предпочитаешь не думать.

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

>> p.s. то, что в 4.9 реализовали дополнительные оптимизации — это хорошо. то,
>> что они ломают софт говнокодеров — тоже хорошо.
> Предлагаю вообще без предупреждений ставить вызов rm -rf $HOME в том месте,
> где встретилось UB. А чё, по стандарту можно.

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

Ответить | Правка | К родителю #151 | Наверх | Cообщить модератору

175. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от 0xd34df00d (ok), 14-Июн-14, 21:29 
> отличная идея, кстати. правда, боюсь, что такой патч не примут. ну, не
> говоря уже о том, что его и написать невозможно, потому что
> если бы можно было отлавливать все UB на стадии компиляции, их
> бы и отлавливали.

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

Ответить | Правка | Наверх | Cообщить модератору

178. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от arisu (ok), 14-Июн-14, 21:32 
> Ну, на самом деле можно, по крайней мере, конкретно такой класс ошибок.
> Правда, время компиляции это увеличит в разы.

вот поэтому инструменты статического анализа от компиляторов постепенно отрывают. ну, то есть, они и раньше не были особо приклеены, но народ требует всё больше и больше ворнингов. правильное направление развития — как по мне — это lint отдельно, компилятор отдельно. кому хочется — запускает сначала lint, потом компилятор. кому не хочется — сразу компилятор.

Ответить | Правка | Наверх | Cообщить модератору

182. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от Vkni (ok), 14-Июн-14, 21:36 
> по мне — это lint отдельно, компилятор отдельно. кому хочется —
> запускает сначала lint, потом компилятор. кому не хочется — сразу компилятор.

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

Ответить | Правка | К родителю #178 | Наверх | Cообщить модератору

184. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от 0xd34df00d (ok), 14-Июн-14, 21:38 
> Угу. Самая большая проблема, почему нельзя стат. анализатор встроить в компилятор -
> это большое кол-во ложных положительных срабатываний.

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

> Компиляция в идеале должна проходить
> без предупреждений (кстати, часто невозможно, если компиляторов несколько).

С чего бы это невозможно?

Ответить | Правка | К родителю #182 | Наверх | Cообщить модератору

189. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от arisu (ok), 14-Июн-14, 21:44 
> С чего бы это невозможно?

а как раз из-за анализаторов. один компилятор ругается на то, что переменная, возможно, неиничиализирована. затыкаешь его при помощи int x = x — другой начинает ругаться на то, что лишнее бессмысленное присваивание появилось. в итоге пишешь дурацкое int x = 0 и добавляешь в комментарии: «я знаю, что это не нужно, но иначе идиот-компилятор XYZ не затыкается.»

Ответить | Правка | К родителю #184 | Наверх | Cообщить модератору

194. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 21:48 
> Не соглашусь, это все-таки время работы. Статический анализатор спокойно можно по крону
> раз в сутки прогонять, а не при каждой компиляции, которых за
> рабочий день может быть сотня-две.

У PVS-овцев реализована инкременталка.

> С чего бы это невозможно?

С того, что предупреждения противоречат друг другу. Скажем, один компилятор ругается на пустой default: в switch'е, а второй - на отсутствие default: (это то, что я помню, а есть и другие предупреждения). Можно, конечно, отключить часть предупреждений, но лучше этого не делать.

Ответить | Правка | К родителю #184 | Наверх | Cообщить модератору

200. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от 0xd34df00d (ok), 14-Июн-14, 21:55 
> У PVS-овцев реализована инкременталка.

Про свои впечатления от PVS я уже тоже писал.

> С того, что предупреждения противоречат друг другу. Скажем, один компилятор ругается на
> пустой default: в switch'е

Эм, это какой так ругается?

> а второй - на отсутствие default: (это
> то, что я помню, а есть и другие предупреждения).

Не встречал ни одного, который бы на это не ругался.

Ответить | Правка | К родителю #194 | Наверх | Cообщить модератору

205. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 22:01 
> Про свои впечатления от PVS я уже тоже писал.

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

> Эм, это какой так ругается?

У меня была связка ICC, MSVC, SUN Pro, gcc и clang. Вот один из первых 4-х. Наверно, SUN Pro.

Ответить | Правка | К родителю #200 | Наверх | Cообщить модератору

214. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от Led (ok), 14-Июн-14, 22:15 
> С того, что предупреждения противоречат друг другу. Скажем, один компилятор ругается на
> пустой default: в switch'е, а второй - на отсутствие default: (это
> то, что я помню, а есть и другие предупреждения).

На отсутствие default ругается только в том случае, если для переключалки используешь enum и не все варианты из этого enum заюзал в switch'е. Т.е. в данном случае сделал что-то не совсем корректное и лучше пересмотреть код и исправить логику.

Ответить | Правка | К родителю #194 | Наверх | Cообщить модератору

219. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от 0xd34df00d (ok), 14-Июн-14, 22:26 
> На отсутствие default ругается только в том случае, если для переключалки используешь
> enum и не все варианты из этого enum заюзал в switch'е.
> Т.е. в данном случае сделал что-то не совсем корректное и лучше
> пересмотреть код и исправить логику.

Не совсем, тут все довольно тупо, к сожалению. Даже если есть какой-нибудь enum class Foo { Foo1, Foo2, Foo3 };, где другое значение не получить без UB, и есть код вроде


T DoFoo (Foo foo)
{
    if (foo != Foo::Foo1 && foo != Foo::Foo2)
        return {};

    switch (foo)
    {
    case Foo::Foo1:
    case Foo::Foo2:
        return {};
    }
}

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

Ответить | Правка | К родителю #214 | Наверх | Cообщить модератору

223. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от Vkni (ok), 14-Июн-14, 22:29 
Ещё проще есть - return прямо после switch c default: один компилятор ругается на unreachable code, другой - на function without return.
Ответить | Правка | К родителю #219 | Наверх | Cообщить модератору

221. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 22:27 
> На отсутствие default ругается только в том случае, если для переключалки используешь
> enum и не все варианты из этого enum заюзал в switch'е.
> Т.е. в данном случае сделал что-то не совсем корректное и лучше
> пересмотреть код и исправить логику.

Пересмотрел 2 раза, логика корректна. Мне теперь повеситься из-за какого-то вшивого предупреждения?

Ответить | Правка | К родителю #214 | Наверх | Cообщить модератору

222. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от Led (ok), 14-Июн-14, 22:29 
>> На отсутствие default ругается только в том случае, если для переключалки используешь
>> enum и не все варианты из этого enum заюзал в switch'е.
>> Т.е. в данном случае сделал что-то не совсем корректное и лучше
>> пересмотреть код и исправить логику.
> Пересмотрел 2 раза, логика корректна. Мне теперь повеситься из-за какого-то вшивого предупреждения?

Зачем вешаться? Оставайся - одним говнокодером больше, одним меньше - какая разница?

Ответить | Правка | К родителю #221 | Наверх | Cообщить модератору

225. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 22:30 
> Зачем вешаться? Оставайся - одним говнокодером больше, одним меньше - какая разница?

Такую чушь лучше писать из-под анонимуса. Тебе не придётся потом ник удалять.

Ответить | Правка | К родителю #222 | Наверх | Cообщить модератору

293. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от Аноним (-), 16-Июн-14, 09:43 
> Зачем вешаться? Оставайся - одним гoвнокодером больше, одним меньше - какая разница?

Лишний пример того что академики - хреновые программисты.


Ответить | Правка | К родителю #222 | Наверх | Cообщить модератору

224. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +2 +/
Сообщение от 0xd34df00d (ok), 14-Июн-14, 22:29 
>> На отсутствие default ругается только в том случае, если для переключалки используешь
>> enum и не все варианты из этого enum заюзал в switch'е.
>> Т.е. в данном случае сделал что-то не совсем корректное и лучше
>> пересмотреть код и исправить логику.
> Пересмотрел 2 раза, логика корректна. Мне теперь повеситься из-за какого-то вшивого предупреждения?

Написать пустые case'ы для необработанных случаев с одним-единственным break. Так и человеку будет понятно, что их не забыли, и компилятор угомонится, и после добавления новых элементов в енам компилятор на это место ругнется.

Ответить | Правка | К родителю #221 | Наверх | Cообщить модератору

226. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 22:32 
> Написать пустые case'ы для необработанных случаев с одним-единственным break. Так и человеку
> будет понятно, что их не забыли, и компилятор угомонится, и после
> добавления новых элементов в енам компилятор на это место ругнется.

enum с десятком параметров, нужно сделать выделенный случай для 2-х. Если я вставлю оставшиеся 8-мь, будет ужасно некрасиво.

Ответить | Правка | К родителю #224 | Наверх | Cообщить модератору

185. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от arisu (ok), 14-Июн-14, 21:40 
самая большая проблема — это то, что компилировать оно будет 100500 длинных единиц времени, и требовать для этого 100500 больших единиц памяти. причём абсолютно для всего кода, даже для того, который уже был проверен. конечно, можно не указывать -W для тех файлов, где это уже не надо, но специфика сегодняшних «больших» компиляторов такова, что они всё равно пытаются при этом проводить некоторый анализ. хотя неуказание -W должно обозначать «я гарантирую, что в этом коде нет UB и отдаю себе отчёт во всех последствиях этой гарантии».
Ответить | Правка | К родителю #182 | Наверх | Cообщить модератору

179. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от Vkni (ok), 14-Июн-14, 21:34 
> отличная идея, кстати. правда, боюсь, что такой патч не примут.

Если ты пропихнёшь такой патч, тебе сильно подрихтуют физиономию неформализуемыми методами. Вещь довольно очевидная, поэтому возращайся из Валинора.

Ответить | Правка | К родителю #173 | Наверх | Cообщить модератору

181. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от arisu (ok), 14-Июн-14, 21:36 
>> отличная идея, кстати. правда, боюсь, что такой патч не примут.
> Если ты пропихнёшь такой патч, тебе сильно подрихтуют физиономию неформализуемыми методами.

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

Ответить | Правка | Наверх | Cообщить модератору

183. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от Vkni (ok), 14-Июн-14, 21:37 
> кто же спорит, идиотов-говнокодеров всегда было много. массой задавят. как Дреппера с
> memcpy().

Да нет, ты просто всё ещё в Валиноре, где всё строго и перпендикулярно.

Ответить | Правка | К родителю #181 | Наверх | Cообщить модератору

186. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от arisu (ok), 14-Июн-14, 21:41 
> Да нет, ты просто всё ещё в Валиноре, где всё строго и
> перпендикулярно.

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

Ответить | Правка | К родителю #183 | Наверх | Cообщить модератору

227. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 14-Июн-14, 22:34 
> В этом треде ты, к сожалению, конкретно обосрался. так что нечего на
> ботов сворачивать:)

А-аа, так ты ставишь минусы вручную? От лох-то. :-)

Ответить | Правка | К родителю #213 | Наверх | Cообщить модератору

231. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от Vkni (ok), 14-Июн-14, 22:49 
> отучаемся говорить за всю сеть. у говнокодеров — да. люди же, которые
> возьмут на себя труд изучить язык, на котором пытаются писать, вполне
> в состоянии делать код без UB (само собой, не обязательно сразу
> — но для того и существует тестирование с отладкой).

Это у вас в Валиноре можно сделать Сшную программу на мегабайт текстов без UB?

Ответить | Правка | К родителю #173 | Наверх | Cообщить модератору

234. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от arisu (ok), 14-Июн-14, 23:03 
> Это у вас в Валиноре можно сделать Сшную программу на мегабайт текстов
> без UB?

да даже на десятки мегабайт. но «обычным людям» это будет сложно, конечно: их сначала хотя бы умываться регулярно надо научить.

Ответить | Правка | Наверх | Cообщить модератору

236. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от Vkni (ok), 14-Июн-14, 23:13 
> да даже на десятки мегабайт.

Только не на языке Цэ.

Ответить | Правка | К родителю #234 | Наверх | Cообщить модератору

240. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +2 +/
Сообщение от arisu (ok), 14-Июн-14, 23:30 
>> да даже на десятки мегабайт.
> Только не на языке Цэ.

ну, хреново быть тобой, что я ещё сказать могу…

Ответить | Правка | К родителю #236 | Наверх | Cообщить модератору

244. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от Vkni (ok), 14-Июн-14, 23:50 
> ну, хреново быть тобой, что я ещё сказать могу…

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

Ответить | Правка | К родителю #240 | Наверх | Cообщить модератору

259. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от Xaionaro (ok), 15-Июн-14, 14:20 
>> не уверен в том, что в твоей
>> программе нет UB — не включай оптимизатор. всё, проблема решена.
> А ты, умный. Я выше и писал, что при таком подходе -O0
> будет у всех. Ибо работающая в 2 раза медленее программа лучше
> падающей. В любой программе есть ошибки, но ты, конечно, об этом
> предпочитаешь не думать.

В "2 раза"? Вы недооцениваете силу "-O2". И ещё не стоит забывать, что кроме обычных корпоративных сервисов, ещё бывают HPC-задачи. Там вы тоже считаете разумным "-O0"?

Ответить | Правка | К родителю #151 | Наверх | Cообщить модератору

260. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от arisu (ok), 15-Июн-14, 14:30 
> ещё бывают HPC-задачи. Там вы тоже считаете разумным "-O0"?

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

Ответить | Правка | Наверх | Cообщить модератору

261. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от Xaionaro (ok), 15-Июн-14, 14:46 
>> ещё бывают HPC-задачи. Там вы тоже считаете разумным "-O0"?
> что лучше: офигенно быстрая программа, которая считает полную фигню, или медленная, но
> которая считает правильно? от второй рано или поздно всё-таки можно получить
> полезный результат, от первой — никогда.

Скапитаню -- нужно писать быстрые программы, дающие верный результат. Другими словами, обе программы требуют исправления. Это просто два говнокода. Я сталкивался с ошибками оптимизатора в gcc, которые приводили некоторые программы в неработоспособность, но я не ленился обходить данные проблемы. А уж тем более, если программа не работает в "-O2" из-за нарушения стандартов, то это уже вполне однозначно говнокод.

К тому же многие HPC-задачи масштабируются сильно нелинейно (намного слабее). А следовательно не всегда есть возможность скомпенсировать недостаточную производительность избыточностью вычислительных ресурсов (даже при наличии доступа к большим вычислительным системам). В результате на "-O0" может так случиться, что задачу придётся считать с недостаточной точностью, либо получать результат, когда уже будет неактуально.

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

Ответить | Правка | Наверх | Cообщить модератору

262. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от arisu (ok), 15-Июн-14, 14:51 
ты же не спрашивал, что с софтом надо делать, ты спросил, какая лучше. лучше — медленная, но работающая верно.

а то, что говнокод надо уничтожать — я же согласен.

Ответить | Правка | К родителю #261 | Наверх | Cообщить модератору

263. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от Xaionaro (ok), 15-Июн-14, 15:02 
> ты же не спрашивал, что с софтом надо делать, ты спросил, какая
> лучше. лучше — медленная, но работающая верно.

Хех, нет, я такого не спрашивал. Я извиняюсь, если я какой-то вопрос некорректно сформулировал, но я нигде такого не подразумевал. Я лишь спрашивал является ли разумным использование "-O0" из соображений, что так будет меньше вероятность ошибки (что, как я понял, является мнением вашего оппонента в дискуссии чуть выше), вместо тупого исправления ошибок. Другими словами, я лишь пытался пояснить, что не будет у всех "-O0", так как другие люди (в отличие от некоторых) исправляют свой код.

> Я выше и писал, что при таком подходе -O0 будет у всех.

Прошу прощения, если что-то неправильно понял или сформулировал в своём ответе.

Ответить | Правка | К родителю #262 | Наверх | Cообщить модератору

264. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от arisu (ok), 15-Июн-14, 15:11 
>> ты же не спрашивал, что с софтом надо делать, ты спросил, какая
>> лучше. лучше — медленная, но работающая верно.
> Хех, нет, я такого не спрашивал.

ну, значит я тебя так понял. пардон. недопонимания случаются.

в описаном акцепте, конечно, рекомендация собирать с -O0 — это, собственно, почти стопроцентной вероятности индикатор говнокода. исключение — это если в README перечислены багрепорты авторам компилятора. ;-)

Ответить | Правка | К родителю #263 | Наверх | Cообщить модератору

268. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 15-Июн-14, 21:32 
> Скапитаню -- нужно писать быстрые программы, дающие верный результат.

Да, вы абсолютно правы. Нужно. А ещё нужно учиться на одни пятёрки, слушаться старших, ни пить, ни курить, ни болеть.

Но, даже если я всё это делаю, остаются миллионы, которые ведут себя несколько не так. И весь спор с arisu в том, что я учитываю наличие этих миллионов, а он от них демонстративно отворачивается с возгласами "расстрелять усих".

Ответить | Правка | К родителю #261 | Наверх | Cообщить модератору

269. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от Xaionaro (ok), 15-Июн-14, 23:58 
>> Скапитаню -- нужно писать быстрые программы, дающие верный результат.
> Да, вы абсолютно правы. Нужно. А ещё нужно учиться на одни пятёрки,
> слушаться старших, ни пить, ни курить, ни болеть.

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

А если будете писать говнокод, то это уже создаст проблемы каждому, кто будет сталкиваться с данным кодом.

Уж лучше учиться на 3-ки и 4-ки, но писать нормальный диплом, диссертацию и код, чем учиться на пятёрки и делать говно-диплом и говнокод (как оно зачастую и бывает IRL, как ни странно).

> Но, даже если я всё это делаю, остаются миллионы, которые ведут себя
> несколько не так.

Если есть миллионы говнокодеров, это ещё не повод самому становиться говнокодером. Пусть живут своей жизнью, пишут свои нахрен не нужные программы и радуются. Главное, что в нормальной прослойке инженеров быть говнокодером не считалось нормой.

> И весь спор с arisu в том, что
> я учитываю наличие этих миллионов

Зачем? Если человек не способен написать приемлемый код, то не нужно учитывать его мнение относительно программирования и компиляторов.

>, а он от них демонстративно отворачивается
> с возгласами "расстрелять усих".

Не надо расстреливать, нужно просто игнорировать.

Ответить | Правка | К родителю #268 | Наверх | Cообщить модератору

271. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 16-Июн-14, 00:15 
> Если не будете учиться на пятёрки, слушаться других, а также будете пить, курить и болет, то это будут лично ваши проблемы.

Разумеется, нет. Скажем, есть ли у вас братья-сёстры?

> Зачем? Если человек не способен написать приемлемый код, то не нужно учитывать его мнение относительно программирования и компиляторов.

Возьмём Л. Поттеринга. Он пишет приемлимый код? Нужно учитывать его действия по пропихиванию systemd везде и всюду?

Ответить | Правка | К родителю #269 | Наверх | Cообщить модератору

272. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от Xaionaro (ok), 16-Июн-14, 00:24 
>> Если не будете учиться на пятёрки, слушаться других, а также будете пить, курить и болет, то это будут лично ваши проблемы.
> Разумеется, нет. Скажем, есть ли у вас братья-сёстры?
>> Зачем? Если человек не способен написать приемлемый код, то не нужно учитывать его мнение относительно программирования и компиляторов.
> Возьмём Л. Поттеринга. Он пишет приемлимый код? Нужно учитывать его действия по
> пропихиванию systemd везде и всюду?

Не знаю какой код пишет лично он (не сверял какая строка кем именно написана), знаю лишь что systemd - отвратительный software bundle, который решает псевдопроблемы путём многочисленных lock-in-ов и зависимостей. Знаю, что Торвальдс произносит "PulseAudio" как "Pu.psh.sAddia...u..psh", притом не зря (судя по моему личному опыту работы с ним). И ещё немало таких вещей знаю. Но спорить на эту тему не собираюсь, ибо эта тема меня уже слишком надоела.

Но вы к чему эти вопросы-то задали? Что хотели дальше объяснить?

Ответить | Правка | К родителю #271 | Наверх | Cообщить модератору

274. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 16-Июн-14, 00:26 
> Не знаю какой код пишет лично он (не сверял какая строка кем
> именно написана), знаю лишь что systemd - отвратительный software bundle, который
> решает псевдопроблемы путём многочисленных lock-in-ов и зависимостей.

...

> Но вы к чему эти вопросы-то задачи? Что хотели дальше объяснить?

К тому, что несмотря на то, что этот кадр плодит лютое говно, нам необходимо его учитывать в своих планах. Учитывать - это не значит поддерживать. А игнорировать его, увы, себе дороже.

Ответить | Правка | К родителю #272 | Наверх | Cообщить модератору

276. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от Xaionaro (ok), 16-Июн-14, 00:43 
>> Не знаю какой код пишет лично он (не сверял какая строка кем
>> именно написана), знаю лишь что systemd - отвратительный software bundle, который
>> решает псевдопроблемы путём многочисленных lock-in-ов и зависимостей.
> ...
>> Но вы к чему эти вопросы-то задачи? Что хотели дальше объяснить?
> К тому, что несмотря на то, что этот кадр плодит лютое говно,
> нам необходимо его учитывать в своих планах. Учитывать - это не
> значит поддерживать. А игнорировать его, увы, себе дороже.

Пфф. Лично я некоторое время немного помогал OpenRC в этом году. И следующей зимой планирую снова помогать. И я планирую пользоваться именно им как и в Debian, так и в Gentoo. Мне плевать на systemd и прочее. Конечно неприятно, что они развиваются и переманивают на себя свободное сообщество, но по большому счёту всё это несущественно. Лично мне вполне хватает размера комьюнити, которое не поддержало systemd.

Ответить | Правка | К родителю #274 | Наверх | Cообщить модератору

278. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 16-Июн-14, 01:00 
> мне вполне хватает размера комьюнити, которое не поддержало systemd.

Мне тоже. И это прекрасно, но ряд программ, увы, монополисты.

Ответить | Правка | К родителю #276 | Наверх | Cообщить модератору

280. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от Xaionaro (ok), 16-Июн-14, 01:13 
>> мне вполне хватает размера комьюнити, которое не поддержало systemd.
> Мне тоже. И это прекрасно, но ряд программ, увы, монополисты.

Мне нравится аналогия arisu по поводу рабского труда. Если люди вокруг идиоты и поддерживают идиотизм, из этого ещё не следует, что и мы с вами должны его поддерживать.

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

В общем, я призываю не прогибаться под идиотизм. И если кто-то плодить говнокод, это ещё не значит, что под него нужно подстраиваться.

Ответить | Правка | К родителю #278 | Наверх | Cообщить модератору

267. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 15-Июн-14, 21:29 
> В "2 раза"? Вы недооцениваете силу "-O2". И ещё не стоит забывать, что кроме обычных корпоративных сервисов, ещё бывают HPC-задачи. Там вы тоже считаете разумным "-O0"?

Если есть выбор в том, что чужой некритичный код работает при -O0 и не работает при -O2 (при этом разбираться неделю), то, очевидно, нужно взять -O0 и отписать письмо об ошибке разработчику (если он, конечно, ещё есть). Это типичная ситуация для сборщика пакета для Linux дистрибутива. Отсюда и пляшем.

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

Ответить | Правка | К родителю #259 | Наверх | Cообщить модератору

270. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от Xaionaro (ok), 16-Июн-14, 00:08 
>> В "2 раза"? Вы недооцениваете силу "-O2". И ещё не стоит забывать, что кроме обычных корпоративных сервисов, ещё бывают HPC-задачи. Там вы тоже считаете разумным "-O0"?
> Если есть выбор в том, что чужой некритичный код работает при -O0
> и не работает при -O2 (при этом разбираться неделю), то, очевидно,
> нужно взять -O0 и отписать письмо об ошибке разработчику (если он,
> конечно, ещё есть). Это типичная ситуация для сборщика пакета для Linux
> дистрибутива. Отсюда и пляшем.
> В других ситуациях - когда код свой или критичный, нужно разбираться и
> искать ошибку. В общем, по обстоятельствам, без идиотизма.

Да, но добавлю, что IMHO создание UB в коде (выходя за стандарт) -- это ССЗБ. И виноват в последствиях будет тот, кто допустил UB, а не тот, кто поменял поведение компилятора, если он работает в рамках стандарта.

Единственное мнение о поведении которое нужно учитывать -- это только стандарт. Если компилятор ему соответствует, то все вопросы только к автору программы.

Честно сказать вообще не очень понимаю о чём тут ваш спор. Ведь всё так очевидно. =\

Ответить | Правка | Наверх | Cообщить модератору

273. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 16-Июн-14, 00:24 
> Да, но добавлю, что IMHO создание UB в коде (выходя за стандарт)
> -- это ССЗБ. И виноват в последствиях будет тот, кто допустил
> UB, а не тот, кто поменял поведение компилятора, если он работает
> в рамках стандарта.

Это вы говорите про непосредственного виновника. Непосредственный виновник - это тот, кто создал UB. Точно также, как непосредственный виновник ДТП - тот, кто первым нарушил ПДД.

Тем не менее, на дороге, как правило, авария происходит из-за нескольких ошибок разных людей. И, как правило, если все выполняют известное правило ДДД, аварии не происходит. Поэтому, разумно кроме непосредственного виновника инцидента выделять и косвенных виновников. И, таки, оптимизаторы gcc становятся косвенными виновниками падения bind'а.

Ещё простой вопрос - у нас есть debug и release сборки. Какая из них должна быть более "хрупкой"? Легче падающей при прочих равных?

Ответить | Правка | К родителю #270 | Наверх | Cообщить модератору

275. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от Xaionaro (ok), 16-Июн-14, 00:38 
>[оверквотинг удален]
>> -- это ССЗБ. И виноват в последствиях будет тот, кто допустил
>> UB, а не тот, кто поменял поведение компилятора, если он работает
>> в рамках стандарта.
> Это вы говорите про непосредственного виновника. Непосредственный виновник - это тот, кто
> создал UB. Точно также, как непосредственный виновник ДТП - тот, кто
> первым нарушил ПДД.
> Тем не менее, на дороге, как правило, авария происходит из-за нескольких ошибок
> разных людей. И, как правило, если все выполняют известное правило ДДД,
> аварии не происходит. Поэтому, разумно кроме непосредственного виновника инцидента выделять
> и косвенных виновников.

Прошу без автомобильных аналогий, ибо я лишь пешеход (до работы пешком идти 15 минут). Однако насколько я понимаю, следование ПДД всеми участниками движения не гарантирует невозникновение аварийных ситуаций (где уже кто-то будет тупо вынужден в кого-то врезаться и стать в результате нарушителем), в то время как следование стандарту языка гарантирует правильную работу кода (при корректном компиляторе). Поправьте, если не прав, ибо я не знаю ПДД. К тому же, когда ты пишешь код и ты видишь UB, то у тебя есть возможность его исправить, а когда случилось ДТП -- у тебя уже нет возможности его исправить. А если же ты не видишь UB (а оно есть), значит ты, грубо говоря, хреновый программист и виноват сам.

> И, таки, оптимизаторы gcc становятся косвенными виновниками падения
> bind'а.

Даватйе ещё эффект бабочки вспомним. В принципе, можно сказать что виноват вообще Ленин. Если бы не он, тогда какой-нибудь талантливый инженер (уже при Сталинском режиме) мог переехать куда-нибудь в США и в будущем помочь развитию bind-а, что помогло бы избежать именно этой проблемы с UB. Но Ленин, как и разработчики gcc, лишь выполнял свою задачу. Делать его ответственным за баг в bind-е -- это по меньшей мере нелепо.

Разработчики gcc не должны думать о таких вот эффектах. Задача gcc - корректно транслировать код. И он это делает. Не вижу что тут обсуждать. Не вижу никакой вины со стороны разработчиков gcc.

Более того, всем ведь известно, что нельзя использовать критические вещи версии "x.y.0". Если кто-то компилировал bind с помощью gcc 4.9.0, то он ССЗБ. Если же нет, то и проблемы нет. Сейчас о проблеме gcc4.9-vs-bind уже известно и пока не исправили bind нужно его тупо компилить с помощью gcc4.8.

> Ещё простой вопрос - у нас есть debug и release сборки. Какая
> из них должна быть более "хрупкой"? Легче падающей при прочих равных?

Что такое "хрупкая" сборка? Естественно ветка вводимая в production должна работать надёжно. А обычно это release-сборки, а следовательно...

P.S.: Кстати говоря извиняюсь, работаю за ноутом, где не настроен Compose-key, в результате длинный дефис делаю через два минуса и т.п.

Ответить | Правка | К родителю #273 | Наверх | Cообщить модератору

277. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 16-Июн-14, 00:57 
> Прошу без автомобильных аналогий, ибо я лишь пешеход (до работы пешком идти
> 15 минут).

Ок. Тогда аналогия простая - вы, переходя дорогу на зелёный свет, можете смотреть в небо, но лучше глядеть по сторонам.

> Однако насколько я понимаю, следование ПДД всеми участниками движения
> не гарантирует невозникновение аварийных ситуаций (где уже кто-то будет тупо вынужден
> в кого-то врезаться и стать в результате нарушителем),

Почему? ПДД пишутся для того, чтобы при полном соблюдении ПДД и исправности транспорта аварий не было в принципе.

> Поправьте, если не прав, ибо я не знаю ПДД. К тому
> же, когда ты пишешь код и ты видишь UB, то у
> тебя есть возможность его исправить, а когда случилось ДТП -- у
> тебя уже нет возможности его исправить.

Это, если код пишешь ТЫ. А если это огромная, дико полезная программа с полувековой историей (типа Maxima)?

Ещё пронзительнее пример - ScanKromsator, который некий Bolega начал писать году в 1996-м. Программа дико полезна - ей обработана подавляющая часть .djvu файлов со сканами отечественной технической литературы. Но это именно говнокод, где его автор - непонятно, где исходники - тоже. Глюков море, но переписывание займёт лет 10, т.к. внутре SK хорошие алгоритмы + эвристики.

> Но Ленин, как и разработчики gcc лишь выполнял свою задачу, они
> не должны думать о таких побочных эффектах.

Ленин - нет, а gccшники - да.

Буквально год назад был пример с поломкой SPEC. Тоже ошибка в тесте, тоже ломает оптимизация gcc. Но при выборе "удавчик, крокодильчик или хомячок": исправление SPEC => все предыдущие результаты в унитаз, забить => gcc больше не проходит SPEC, вставить костыль; почему-то выбирают 3-й вариант.

> Что такое "хрупкая" сборка? Естественно ветка вводимая в production должна работать надёжно.
> А обычно это release-сборки, следовательно...

Вы правильно всё поняли. Следовательно, debug мы компилируем с -O2, а release - с -O0? ;-)

Ответить | Правка | К родителю #275 | Наверх | Cообщить модератору

279. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от Xaionaro (ok), 16-Июн-14, 01:09 
>> Прошу без автомобильных аналогий, ибо я лишь пешеход (до работы пешком идти
>> 15 минут).
> Ок. Тогда аналогия простая - вы, переходя дорогу на зелёный свет, можете
> смотреть в небо, но лучше глядеть по сторонам.

И? Поясните для тупого, как конкретно эта аналогия связана с данным диалогом? :)

>> Однако насколько я понимаю, следование ПДД всеми участниками движения
>> не гарантирует невозникновение аварийных ситуаций (где уже кто-то будет тупо вынужден
>> в кого-то врезаться и стать в результате нарушителем),
> Почему? ПДД пишутся для того, чтобы при полном соблюдении ПДД и исправности
> транспорта аварий не было в принципе.

Мне, например, рассказывали про ситуации с маленькими автомобилями, которые не видно из больших автомобилей. Вроде как в рамках соблюдения ПДД образовывалась авария. Но я, как я уже сказал, некомпетентен в данном вопросе, поэтому спорить не буду.

>> Поправьте, если не прав, ибо я не знаю ПДД. К тому
>> же, когда ты пишешь код и ты видишь UB, то у
>> тебя есть возможность его исправить, а когда случилось ДТП -- у
>> тебя уже нет возможности его исправить.
> Это, если код пишешь ТЫ. А если это огромная, дико полезная программа
> с полувековой историей (типа Maxima)?

В чём разница? Замените "ты" на "авторы Maxima".

> Ещё пронзительнее пример - ScanKromsator, который некий Bolega начал писать году в
> 1996-м. Программа дико полезна - ей обработана подавляющая часть .djvu файлов
> со сканами отечественной технической литературы. Но это именно говнокод, где его
> автор - непонятно, где исходники - тоже. Глюков море, но переписывание
> займёт лет 10, т.к. внутре SK хорошие алгоритмы + эвристики.

Не пример для меня. Не пользовался такой программой. Однако, если код говно, то он -- говнокод. И виноваты в этом его авторы, а не авторы компиляторов. Это вообще не задача компиляторов подстраиваться под такие вот говнокоды. Ухудшать компилятор из-за чужого говнокода -- это изначально деструктивная установка.

>> Но Ленин, как и разработчики gcc лишь выполнял свою задачу, они
>> не должны думать о таких побочных эффектах.
> Ленин - нет, а gccшники - да.
> Буквально год назад был пример с поломкой SPEC. Тоже ошибка в тесте,
> тоже ломает оптимизация gcc. Но при выборе "удавчик, крокодильчик или хомячок":
> исправление SPEC => все предыдущие результаты в унитаз, забить => gcc
> больше не проходит SPEC, вставить костыль; почему-то выбирают 3-й вариант.

Не понимаю зачем к рассмотрению данной проблемы gcc-vs-bind приплетать другие gcc-related проблемы. Нет никакого желания обсуждать ещё один случай, пока ещё не закрыли обсуждение данного. Так мы бесконечно закопаемся.

>> Что такое "хрупкая" сборка? Естественно ветка вводимая в production должна работать надёжно.
>> А обычно это release-сборки, следовательно...
> Вы правильно всё поняли. Следовательно, debug мы компилируем с -O2, а release
> - с -O0? ;-)

Серьёзно? Дико прошу простить за переход на личности, но вы вообще работали с HPC-кластерами? Или просто с высоконагруженными сервисами?

В общем, я с вами тут абсолютно не согласен. "-O2" нужен не только для тестов, но и для работы с адекватной скоростью.

Ответить | Правка | К родителю #277 | Наверх | Cообщить модератору

281. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –2 +/
Сообщение от Vkni (ok), 16-Июн-14, 01:47 
> Мне, например, рассказывали про ситуации с маленькими автомобилями, которые не видно из
> больших автомобилей. Вроде как в рамках соблюдения ПДД образовывалась авария.

Нет, не в рамках. Нарушен пункт "соблюдение дистанции". В ПДД есть неточности, но они значительно глубже. По-идее, если ПДД соблюдаются всеми и внешних воздействий нет, то аварий быть не может.

Надо переходить на зелёный свет, подняв голову к небу? Или мы всё же учитываем, что окружающие могут ошибаться?

> В чём разница? Замените "ты" на "авторы Maxima".

Он давно мёртв. Никаких претензий не принимает, всё что можно сделать - придти на могилу, положить цветы.

> Не пример для меня. Не пользовался такой программой. Однако, если код говно,
> то он -- говнокод. И виноваты в этом его авторы, а
> не авторы компиляторов.

Да. Но очень полезный. Я пакетирую аналог, который очень хорошо написан. Но, увы, не везде дотягивает по функциональности.

> Это вообще не задача компиляторов подстраиваться под такие
> вот говнокоды. Ухудшать компилятор из-за чужого говнокода -- это изначально деструктивная
> установка.

Не надо его ухудшать. Нужно по возможности учитывать наличие говнокода. Т.е. в данном месте вывесить большой красный флаг.

> Не понимаю зачем к рассмотрению данной проблемы gcc-vs-bind приплетать другие gcc-related
> проблемы. Нет никакого желания обсуждать ещё один случай, пока ещё не
> закрыли обсуждение данного. Так мы бесконечно закопаемся.

Абсолютно аналогичный. Тоже проблема в коде, тоже оптимизация gcc.

> Серьёзно? Дико прошу простить за переход на личности, но вы вообще работали
> с HPC-кластерами?

Прощаю. Там был знак вопроса, который вы на эмоциях не заметили.

> В общем, я с вами тут абсолютно не согласен. "-O2" нужен не
> только для тестов, но и для работы с адекватной скоростью.

Да, да, да, мы это с вами ещё вчера перемыли. В ряде случаев -O2 по сравнению с -O0 у меня давало 5 раз.

Ответить | Правка | К родителю #279 | Наверх | Cообщить модератору

282. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от Xaionaro (ok), 16-Июн-14, 09:06 
>> Мне, например, рассказывали про ситуации с маленькими автомобилями, которые не видно из
>> больших автомобилей. Вроде как в рамках соблюдения ПДД образовывалась авария.
> Нет, не в рамках. Нарушен пункт "соблюдение дистанции".

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

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

Некорректная аналогия. Если меня собьют, это нельзя будет починить. Если же bind допустил ошибку, у них будет полно времени это починить.

>> В чём разница? Замените "ты" на "авторы Maxima".
> Он давно мёртв. Никаких претензий не принимает, всё что можно сделать -
> придти на могилу, положить цветы.

So what? Опять же причём тут разработчики gcc? Если проект полезный, то из комьюнити кто-нибудь подтянется, чтобы исправить необходимые баги. Если бесполезный, то и хрен с ним. Единственное что точно, это что разработчики gcc тут не при чём.

>> Не пример для меня. Не пользовался такой программой. Однако, если код говно,
>> то он -- говнокод. И виноваты в этом его авторы, а
>> не авторы компиляторов.
> Да. Но очень полезный. Я пакетирую аналог, который очень хорошо написан. Но,
> увы, не везде дотягивает по функциональности.

Ок, но опять же это проблема лишь авторов и пользователей данной программы, но точно не проблема разработчиков компилятора (см. выше).

>> Это вообще не задача компиляторов подстраиваться под такие
>> вот говнокоды. Ухудшать компилятор из-за чужого говнокода -- это изначально деструктивная
>> установка.
> Не надо его ухудшать. Нужно по возможности учитывать наличие говнокода. Т.е. в
> данном месте вывесить большой красный флаг.

Какой красный флаг? Разработчики gcc занимаются gcc. Тратить бесконечное количество ресурсов изучая каждый говнокод в Интернете -- это бесполезная трата времени. Если же вы хотите, чтобы он выводил какой-то дополнительный warning, то предложите это через maillist.

>> Не понимаю зачем к рассмотрению данной проблемы gcc-vs-bind приплетать другие gcc-related
>> проблемы. Нет никакого желания обсуждать ещё один случай, пока ещё не
>> закрыли обсуждение данного. Так мы бесконечно закопаемся.
> Абсолютно аналогичный. Тоже проблема в коде, тоже оптимизация gcc.

Да, но тот случай тоже требует обсуждения. Лично для меня эта аналогия абсолютно бессмысленная, ибо тупо втягивает в ещё одно обсуждение, хотя мы ещё не закончили данное.

>> Серьёзно? Дико прошу простить за переход на личности, но вы вообще работали
>> с HPC-кластерами?
> Прощаю. Там был знак вопроса, который вы на эмоциях не заметили.
>> В общем, я с вами тут абсолютно не согласен. "-O2" нужен не
>> только для тестов, но и для работы с адекватной скоростью.
> Да, да, да, мы это с вами ещё вчера перемыли. В ряде
> случаев -O2 по сравнению с -O0 у меня давало 5 раз.

5 раз -- это далеко не предел. Надеюсь мы определились, что "-O0" -- это не синоним production-way?

Ответить | Правка | К родителю #281 | Наверх | Cообщить модератору

287. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 16-Июн-14, 09:23 
> Нарушен в следствии полного следования ПДД каждым участником движения. Каждый реагировал
> на входящую информацию строго по книжке. То что была нарушена дистанция
> стало известно уже пост-фактум. В то время как когда полностью следуешь
> стандарту -- всё будет хорошо.

Либо "полное следование ПДД", либо "была нарушена дистанция", но не одновременно. ПДД не рассматривает "входные данные" - там всё равно, по какой причине вы не соблюдали дистанцию. Поэтому непосредственный виновник(и) всегда определяем(ы).

> Некорректная аналогия. Если меня собьют, это нельзя будет починить. Если же bind допустил ошибку, у них будет полно времени это починить.

а) Не всегда сбивают насмерть.

б) Если bind ушёл к потребителям, и у кого-то упал - это уже произошло. Т.е. "откатить обратно" не получится.

> So what? Опять же причём тут разработчики gcc?

Давайте отбросим наивность и будем рассуждать цинично. Мейнтейнеры дистрибутивов - люди ленивые, в массе своей они не будут проверять список оптимизаций введённых в новую версию gcc. Они, если не будет сообщений пользователей или какого-то хайпа, просто перекомпилируют свой софт с новым gcc и -O2 по-умолчанию.

Соответственно, с большой вероятностью, те оптимизации, которые gcc-шники вставляют в -O2, пройдут в софт без изменений. Т.е. gccшники имеют возможность непосредственно влиять на мировой софт. Это определённая власть.

Возвращаясь к maxima. Подобных проектов море. Во власти gcc-шников либо сделать их более хрупкими, либо менее хрупкими. При прочих равных более хрупкий код в эксплуатации хуже. Есть власть => есть ответственность.

> Если же вы хотите, чтобы он выводил какой-то дополнительный warning, то предложите это через maillist.

Это уже сделано. И предупреждение будет.

> 5 раз -- это далеко не предел. Надеюсь мы разобрались, что "-O0" -- это не синоним production-way?

Это ответ несколько не на тот вопрос. Тот - что делать с противоречием между хрупкостью release и стойкостью debug'а?

Ответить | Правка | К родителю #282 | Наверх | Cообщить модератору

294. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +1 +/
Сообщение от Xaionaroemail (ok), 16-Июн-14, 10:30 
>> Нарушен в следствии полного следования ПДД каждым участником движения. Каждый реагировал
>> на входящую информацию строго по книжке. То что была нарушена дистанция
>> стало известно уже пост-фактум. В то время как когда полностью следуешь
>> стандарту -- всё будет хорошо.
> Либо "полное следование ПДД", либо "была нарушена дистанция", но не одновременно. ПДД
> не рассматривает "входные данные" - там всё равно, по какой причине
> вы не соблюдали дистанцию. Поэтому непосредственный виновник(и) всегда определяем(ы).

Замечательно. А теперь объясните мне (тупому) где тут противоречье с тем, что написал я? — «Каждый реагировал на входящую информацию строго по книжке».

Есть разница между тем, чтобы определять своё поведение в соответствии с какими-то правилами (то есть следовать им), и тем, чтобы не допустить ниодного нарушения ниодного из правил.

Второе просто невозможно, в то время, как первое возможно в ПДД (как я его себе представляю). Дак вот если каждый будет добросовестно делать как написано в стандарте — это будет гарантией работы кода (при верном компиляторе), а вот если каждый будет делать как написано в книжке по ПДД, то в результате будет авария.

Следовать правилам и соблюдать их — вещи разные, хоть и похожие. Грубо говоря, следование правилам может привести в ситуацию, где авария ещё не произошла, но где её уже не избежать. То есть, грубо говоря, водители следовали правилам, но не соблюли их.

И я очень прошу, не надо спорить на тему терминов. Тут сейчас важнее мысль, которую я пытаюсь донести, что этот эффект есть в ПДД, но нет в стандартах программирования. И если вы мою мысль поняли, то сейчас важно только это, а не то, что же знажчат слова «соблюдать» и т.п. в обычной терминологии.

>> Некорректная аналогия. Если меня собьют, это нельзя будет починить. Если же bind допустил ошибку, у них будет полно времени это починить.
> а) Не всегда сбивают насмерть.

Иногда сбивают — этого достаточно. А иногда необратимо калечат — этого тоже достаточно.

> б) Если bind ушёл к потребителям, и у кого-то упал - это
> уже произошло. Т.е. "откатить обратно" не получится.

Не надо было собирать bind с помощью самого свежего gcc «x.y.0» и сразу запускать в production. Собиралось старым gcc без проблем, вот им и собирай, пока не будешь уверен в том, что новая его версия тоже подходит. И вот как это выглядит с разных сторон:

1. Если ты автор bind-а, то тебе становится бесконечно стыдно после данной новости (см. изначальный subj), и ты быстро исправляешь проблему. После чего объявляешь, что bind можно безопасно собирать на gcc 4.9.z
2. Если ты просто maintainer, то ты тупо собираешь bind старым gcc до тех пор, пока не станешь уверен, что можно безопасно использовать новый gcc для этого говнокода. Если же ты уже push-нул дырявый bind в массы, то значит тебе тоже должно стать бесконечно стыдно за собственный идиотизм, и ты быстро push-аешь security update.
3. Если ты системный администратор, который решил установить необкатанный bind себе на машину и тебя хакнули, то ССЗБ.

*4. Кстати говоря, bind уже давно среди моих знакомых считается решетом. Ничего удивительного, что проблема возникла именно с ним.

>> So what? Опять же причём тут разработчики gcc?
> Давайте отбросим наивность и будем рассуждать цинично. Мейнтейнеры дистрибутивов - люди
> ленивые, в массе своей они не будут проверять список оптимизаций введённых
> в новую версию gcc. Они, если не будет сообщений пользователей или
> какого-то хайпа, просто перекомпилируют свой софт с новым gcc и -O2
> по-умолчанию.

Перекомпилируют софт с gcc «x.y.0»? Что-то я очень сомневаюсь. Может разве что arch какой-нибудь, но они как раз ССЗБ. Вы могли например заметить, что в Gentoo gcc 4.9.0 является замаскированным на данный момент. Как вы думаете, почему?

1. Ошибка в bind-е _уже_ была, однако в силу случайного стечения обстоятельств (то есть в силу особенностей gcc), она себя никак не проявляла. И тут эта ошибка тупо проявилась. Кто тут виноват? Только авторы bind-а и больше никто. Обвинять кого-то другого за то, что код ранее работал, хотя не должен был — это нелепо.
2. Анализ внешнего (относительно gcc) говнокода — это не задача разработчиков gcc.
3. Если кто-то использует последнюю версию gcc в production-е до обкатки на реальном ПО, то ССЗБ.
4. Многие важные проекты пытаются компилировать и другими компиляторами (и с другими реализациями библиотек), чтобы как раз в частности проверить на UB. Если bind этого не сделал, то опять же разработчики gcc тут не при чём.
5. Никто не запрещает смотреть changelog при каждом неминорном изминении gcc (коим и является данное). Что вы ещё-то хотите от разработчиков gcc?

Что конкретно вы хотите от gcc-шников. Как именно они должны подготавливать свои релизы по-вашему?

> Соответственно, с большой вероятностью, те оптимизации, которые gcc-шники вставляют в
> -O2, пройдут в софт без изменений. Т.е. gccшники имеют возможность непосредственно
> влиять на мировой софт. Это определённая власть.

So?

> Возвращаясь к maxima. Подобных проектов море. Во власти gcc-шников либо сделать их
> более хрупкими, либо менее хрупкими.

Хрупкими их делает не gcc, а качество их же собственного исходного кода. gcc как раз-таки в силу случайных обстоятельств давал возможность работать говнокоду, который _не должен был_ работать.

> При прочих равных более хрупкий код в эксплуатации хуже.

Ну дак не используйте bind.

> Есть власть => есть ответственность.

Да. И если бы gcc транслировал код в уязвимый в силу противоречия стандарту, то тогда это была бы ответственность разработчиков gcc. Но этот глюк вызван не неверной работой gcc, а неверным исходным кодом bind-а. Грубо говоря, это была именно их власть (разработчиков bind-а) допустить данную ошибку и ответственность за это тоже на них.

>> Если же вы хотите, чтобы он выводил какой-то дополнительный warning, то предложите это через maillist.
> Это уже сделано. И предупреждение будет.

Я говорил про подход, как бороться с такими проблемами в будущем.

>> 5 раз -- это далеко не предел. Надеюсь мы разобрались, что "-O0" -- это не синоним production-way?
> Перечитайте вопрос, пожалуйста. И ответьте на него.

Который вопрос? Этот? —

> Вы правильно всё поняли. Следовательно, debug мы компилируем с -O2, а release - с -O0? ;-)

Отвечаю: «Нет, не следовательно». Пояснения см. мой комментарий с моим изначальным ответом на данный вопрос.

Ответить | Правка | К родителю #287 | Наверх | Cообщить модератору

302. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  –1 +/
Сообщение от Vkni (ok), 16-Июн-14, 17:16 
> Замечательно. А теперь объясните мне (тупому) где тут противоречье с тем, что написал я? — «Каждый реагировал на входящую информацию строго по книжке».

Не надо срываться на эмоции.

> Есть разница между тем, чтобы определять своё поведение в соответствии с какими-то правилами (то есть следовать им), и тем, чтобы не допустить ниодного нарушения ниодного из правил.

Есть разница. Поэтому ПДД сделаны с запасом - даже если их слегка нарушать, с огромной вероятностью аварии не произойдёт. А так - да, нарушают. Даже если отбросить нарушения скоростного режима, дисциплинированный водитель делает в среднем одно нарушение в 15 минут (разной степени серьёзности).

> Второе просто невозможно, в то время, как первое возможно в ПДД (как я его себе представляю).

Неправильно представляете. В ПДД нет такого понятия "строго следовать книжке". Не соблюдал дистанцию - виноват, а по какой причине - для ПДД неважно. Потому, что этот пункт внёс бы излишнюю субъективность.

Ответить | Правка | К родителю #294 | Наверх | Cообщить модератору

336. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от bircoph (ok), 18-Июн-14, 18:45 
>> В чём разница? Замените "ты" на "авторы Maxima".
> Он давно мёртв. Никаких претензий не принимает, всё что можно сделать -
> придти на могилу, положить цветы.

Ой, а мужики-то не знают, уже 5.33 выпустили. И вообще по 4-5 раз в год новые версии выходят

Ответить | Правка | К родителю #281 | Наверх | Cообщить модератору

340. "В DNS-сервере BIND устранен серьёзный сбой, возникший..."  +/
Сообщение от Vkni (ok), 21-Июн-14, 05:29 
> Ой, а мужики-то не знают, уже 5.33 выпустили. И вообще по 4-5
> раз в год новые версии выходят

Мужики, естественно, не знают о том, что происходило больше, чем 2 года назад. И что Максиму длительное время поддерживал ныне покойный William Schelter из Техаса - тоже не знают.

Ответить | Правка | К родителю #336 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру