LINUX.ORG.RU
ФорумTalks

Театр одного актёра продолжается

 


1

1

http://article.gmane.org/gmane.linux.kernel/1414106

On Sun, Dec 23, 2012 at 6:08 AM, Mauro Carvalho Chehab <mchehab <at> redhat.com> wrote:


Are you saying that pulseaudio is entering on some weird loop if the
returned value is not -EINVAL? That seems a bug at pulseaudio.

Mauro, SHUT THE FUCK UP!

It's a bug alright - in the kernel. How long have you been a maintainer? And you *still* haven't learnt the first rule of kernel maintenance?

If a change results in user programs breaking, it's a bug in the kernel. We never EVER blame the user programs. How hard can this be to understand?

To make matters worse, commit f0ed2ce840b3 is clearly total and utter CRAP even if it didn't break applications. ENOENT is not a valid error return from an ioctl. Never has been, never will be. ENOENT means «No such file and directory», and is for path operations. ioctl's are done on files that have already been opened, there's no way in hell that ENOENT would ever be valid.

So, on a first glance, this doesn't sound like a regression,
but, instead, it looks tha pulseaudio/tumbleweed has some serious
bugs and/or regressions.

Shut up, Mauro. And I don't _ever_ want to hear that kind of obvious garbage and idiocy from a kernel maintainer again. Seriously.

I'd wait for Rafael's patch to go through you, but I have another error report in my mailbox of all KDE media applications being broken by v3.8-rc1, and I bet it's the same kernel bug. And you've shown yourself to not be competent in this issue, so I'll apply it directly and immediately myself.

WE DO NOT BREAK USERSPACE!

Seriously. How hard is this rule to understand? We particularly don't break user space with TOTAL CRAP. I'm angry, because your whole email was so _horribly_ wrong, and the patch that broke things was so obviously crap. The whole patch is incredibly broken shit. It adds an insane error code (ENOENT), and then because it's so insane, it adds a few places to fix it up («ret == -ENOENT ? -EINVAL : ret»).

The fact that you then try to make *excuses* for breaking user space, and blaming some external program that *used* to work, is just shameful. It's not how we work.

Fix your f*cking «compliance tool», because it is obviously broken. And fix your approach to kernel programming.




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

А ты, посетитель ЛОРа, считаешь допустимым подобный стиль руководства? Поделись своими best practice наставления заблудших на путь истиный.



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

А мне нравится Линус и его неформальный стиль общения.

Любишь, когда на тебя орут «ЗАТКНИСЬ, Б***Ь!»? По-моему это попахивает психическим отклонением.

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

Не читай & сразу отвечай. Классический экземпляр. Ловите его скорее!

Deleted
()
Ответ на: комментарий от Rastafarra

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

Miguel ★★★★★
()

fang, SHUT THE FUCK UP! (c)
Он куёт метал.
Девочкам не место в разработке столь базовой вещи.
Если будет нужно - объявит себя богом, и будет прав.

Он молодец.

*сложил руки в символ «Т» и выкрикнул «слава империи!»*

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

Многобуков на русском читать куда приятнее, спасибо)

CrossFire ★★★★★
()

Всё правильно говорит.

оставшихся девелоперов распугает

Если в ответ на нормальную просьбу нести какой-то тупняк по принципу «сам дурак», то не нужны такие девелоперы.

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

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

Послушай, если человек не понимает простых логических правил («we don't ever break userspace» - логическое правило) - ему не место в команде. Если человек нарушает тыщу раз обговоренное правило - ему не место в команде. Если человек своим непониманием ломает кучу чужого труда и валит все на других вместо поиска решения - ему не место в команде. Иногда лучше один раз поставить на место, чем потом тысячу раз терпеть. Команда - это не самоцель трудового процесса.

Alsvartr ★★★★★
()

Все правильно сказал. Сурово конечно, но по делу.

vurdalak ★★★★★
()

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

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

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

а ты чо, «успешный менеджер»?

ananas ★★★★★
()

ENOENT means «No such file and directory», and is for path operations. ioctl's are done on files that have already been opened, there's no way in hell that ENOENT would ever be valid.

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

praseodim ★★★★★
()

оставшихся девелоперов распугает, и погрузится линукс в бездну глюкоты и забвения

Ну, если распуганых заменят сотоварищи поцтеринга...

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

Уверен, что ошибка будет именна эта? Линусу мне как-то больше верится :}

Deleted
()

ответ Мауро:

https://lkml.org/lkml/2012/12/23/87

Перевод (цитаты Линуса выдраны из моего перевода выше)

Linus,

Пон., 23 дек. 2012 09:36:15 -0800 Linus Torvalds <torvalds@linux-foundation.org> написал:

Дело совсем плохо: коммит f0ed2ce840b3 является полнейшим и безоговорочным ДЕРЬМОМ даже если он не ломает программы. ENOENT не является правильным значением return для ioctl. Никогда не был, никогда не будет. ENOENT означает «Нет такого файла или каталога», и существует для операций с путями. ioctl работает с уже открытыми файлами, и ни в каком аду не может случиться так, что ENOENT будет правильным [значением].

Соглашусь: ENOENT — плохой выбор, и он [патч] должен быть отменён.

Что я хочу понять: почему pulseaudio затронут этим? Потому что он принимает только EINVAL как допустимый код ошибки?

Я спрашиваю это у Рафаэля, потому что уверен, что другие драйвера не возвращают EINVAL когда 'media control' [не могу понять, что он имеет в виду, регулятор громкости?!] недоступен. Так что баг может быть уже здесь, и просто выявился в v3.8-rc1 ибо большинство ноутбуков идут со встроенными UVC-камерами.

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

но звучит как серьёзный баг или регрессия в pulseaudio и tumbleweed

Заткнись, Мауро. И я больше не желаю слышать такого идиотизма и дерьма из уст мейнтейнера ядра. Серьёзно.

OK.

Я мог бы ждать, когда патч Рафаэля пройдёт через тебя, но мне прислали ещё отчёт об ошибке, о том, что все мультимедиа-приложения KDE сломаны с ядром v3.8-rc1, и я думаю, что они сломаны из-за этого же бага в ядре.

Ох!

И ты показал себя некомпетентным в этом вопросе, так что я принимаю «огонь на себя» и сейчас же принимаю этот патч [патч Рафаэля].

OK, пожалуйста, прими его [патч].

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

МЫ НЕ ЛОМАЕМ ЮЗЕРСПЕЙС!

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

Иногда дерьмо случается. Прошу прощенья.

Cheers, Mauro

Дальнейшие сообщения треда уже просто деловые, и, пожалуй, их я переводить не стану

DoctorSinus ★★★★★
()

We never EVER blame the user programs

Это как если бы руководство ВУЗа сказало:

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

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

собрать команду — это дело непростое, особенно если срать на работающих

Спрос с «работающих» пропорционален их зарплате. Системный программист — это высокооплачиваемый специалист. Мейнтейнер, стоящий над системными програмистами — это ещё на уровень выше, и спрос с него ещё выше. И если кто-то сел не на своё место в команде, то последствия вполне очевидны: от дисциплинарного взыскания о неполном служебном соответствии занимаемой должности до увольнения.

+ Метод кнута и пряника никто не отменял.

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

Кто бы теперь это перевел

Держи.

On Sun, Dec 23, 2012 at 6:08 AM, Mauro Carvalho Chehab <mchehab <at> redhat.com> wrote:
Так занчит pulseaudio зацикливается нахрен если возвращаемое значение не -EINVAL? Так это баг в pulseaudio.

Мауро, заткни свое е..ло!

Это действительно баг - в ядре. Ты сколько уже мейнтенер? И до *сих пор* не усвоил первое правило ментейнера?

Если изменение ломает юзер[спейсную] программу, то это баг в ядре. Мы никогда ВООБЩЕ не сваливаем вину на юзер[спейсные] программы. Это так сложно понять?

Дальше - больше, коммит f0ed2ce840b3 - однозначно полное и безоговорочное ДЕРЬМО, даже если и не ломает приложения. ENOENT из ioctl возвращать некорректно. Так было всегда, и так будет. ENOENT означает «No such file and directory» [«Файл или каталог не найден»], он предназначен для операций с [файловыми] путями. ioctl'ы производится на уже открытых файлах, так что хрен когда ENOENT можно будет возвращать.

Дык, это вроде не регрессия. Это вроде бы как в pulseaudio/tumbleweed баги/регрессии.

Заткнись, Мауро. И я _вообще_ не хочу больше слышать таких откровенных чуши и идиотизма из уст ментейнера ядра. Я серьезно.

Я хотел отдать [оригинальный] патч в работу тебе, но у меня в почтовом ящике лежит еще одно сообщение о том что все мультимедиа-приложения KDE поломаны в v3.8-rc1, и бьюсь об заклад, из-за этого же бага в ядре. А так как ты себя показал некомпетентным в данном вопросе, то я применю его [патч] сразу и непосредственно лично.

МЫ НЕ ЛОМАЕМ ЮЗЕРСПЕЙС!

Серьезно. Сложно это усвоить? Особенно мы не ломаем юзерспейс всяким откровенным дерьмом. Я ругаюсь, потому что твое сообщение _ужасно_ неправильно, а [приложенный к нему] патч однозначно дерьмо. Весь патч невероятно косое дерьмо. Он добавляет невменяемый код ошибки (ENOENT), да еще потому что он настолько невменяем, пытается его же в нескольких местах пофиксить («ret == -ENOENT ? -EINVAL : ret»).

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

Фикси свою е..ю «compliance tool», она точно сломана. И пофикси свой подход к программированию в ядре.

Macil ★★★★★
()

А ты, посетитель ЛОРа, считаешь допустимым подобный стиль руководства?

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

GateKeeper ★★
()

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

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

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

А ты, посетитель ЛОРа, считаешь допустимым подобный стиль руководства?

Да.

Поделись своими best practice наставления заблудших на путь истиный.

Если слов не хочет понимать — лишаю премий и останавливаю рост зарплаты. Авось уволится.

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

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

Он объяснял уже раз 20. Сколько можно твердить одно и то же?

прилюдно поливать говном, создавая тем самым для работающих огромный дискомфорт

Всё правильно сделал. Если люди не хотят думать головой и следовать гайдлайнам проекта, их надо ссаной тряпкой гнать.

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

А как же со сломавшимся флешом и memcpy когда-то? Или это не в этом орогоде было..

Это было в glibc, на тот момент — вотчине Ульриха Дреппера.

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

Это как если бы руководство ВУЗа сказало

Не как. Ядро не ставит своей задачей обучение людей программированию.

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

Перевод гоблина какой-то. Линус не называл Мауро сукой.

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

Ну кто бы сомнивался. И теперь из-за этого рассадника багов, под кличкой КДЕ, нельзя исправлять баги в ядре. Та лучше закопайте КДЕ !

Нельзя так с КДЕ. Это самое навороченное ДЕ из существующих на данный момент — наилучший вариант для привередливых вендузятников.

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

Та лучше закопайте КДЕ !

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

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

нахрена верещать

До некоторых доходит только язык эмоций

goingUp ★★★★★
()

Именно это не дает линуксу «погрузится в бездну глюкоты и забвения».

За поломку юзерспейса надо бить по рукам. Даже если этот юзерспейс - пульсаудио.

sergej ★★★★★
()

А ты, посетитель ЛОРа, считаешь допустимым подобный стиль руководства?

Из «рабочего опыта»: «злой» начальник орать не будет, а тихо попросит написать объяснительную, а потом на её же основании лишит премии / объявит выговор / понизит в должности с милой улыбкой на лице. «Добрый начальник» обложит матом, возможно даже не один раз, возможно даже при этом доведя себя до прединфарктного состояния, перед тем как принять «официальные меры». Какой тип начальника вас больше устраивает - каждый выбирает сам.

P.S. Терпеть не могу повышать голос на подчинённых, равно как и вообще выказывать эмоции в рабочих отношениях. Хотя сам любые подобные «наезды» переношу (уже) с лёгкостью. Я добрый или злой? :)

yyk ★★★★★
()

А вот свежак, по ссылке с Y-combinator. Убунтоид жалуется, что пришлось родителям ставить семерочку максимальную:

* https://gist.github.com/4380430

Несмотря на «WE DO NOT BREAK USERSPACE!» у него с каждым релизом отваливалось то или другое (в частности веб-камеры).

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

Дело совсем плохо: коммит f0ed2ce840b3 является полнейшим и безоговорочным ДЕРЬМОМ даже если он не ломает программы. ENOENT не является правильным значением return для ioctl. Никогда не был, никогда не будет. ENOENT означает «Нет такого файла или каталога», и существует для операций с путями. ioctl работает с уже открытыми файлами, и ни в каком аду не может случиться так, что ENOENT будет правильным [значением].

может ты не понял, но ENOENT в ioctl, это как член у ТВОЕЙ девушки.

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

I praised Unity, and really think this is a bold and strong move in the right direction that has to be taken in order to realize the ambitious goals Ubuntu has set for the open desktop

он просто сменил один кактус на другой, чему тут удивляться.

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

он просто сменил один кактус на другой, чему тут удивляться.

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

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

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

твоё мнение интересно, но в man'е такого нет. За то есть вот такие коды:

ERRORS
       EBADF  d is not a valid descriptor.

       EFAULT argp references an inaccessible memory area.

       EINVAL Request or argp is not valid.

       ENOTTY d is not associated with a character special device.

       ENOTTY The specified request does not apply to the kind of object that the descriptor d references.
где ты видишь ENOENT?

drBatty ★★
()

В чем вообще предмет обсуждения я чесслово не понимаю?? разнылись тут все о стилях общения,хамство видишь ли... Да обычная рабочая напряженка и только!

Horse
()

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

post-factum ★★★★★
()

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

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

и админы перестанут седеть в двадцать пять лет

Да, вместо этого линупсоадмины пойдут собирать бутылки. Они просто не смогут с работодателя требовать много денег, если линукс станет летать.

fang
() автор топика

Всё правильно сказал. А что по поводу формы, так повод серьезный. Как там у классиков: «Этот Василий Алибабаевич... этот нехороший человек... мне на ногу батарею сбросил, падла!»

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

Дальнейшие сообщения треда уже просто деловые, и, пожалуй, их я переводить не стану

эх, а вот был-бы LOR не LOR, на нём бы обсуждали только «Дальнейшие сообщения треда, уже просто деловые»...

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

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

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

спасибо.
За одно можно устроить конкурс на лучший перевод

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

спасибо.
За одно можно устроить конкурс на лучший перевод

onon ★★★
()

Если рассматривать процесс разработки ядра как некую тусовку Орангутангов, горилл, бабуинов и другой мелюзги, с ЧСВ овер 9000^9000, то Линусов выпад и прочуханка - вполне себе вписывается в рамки.

Да - резко,
Да - неприятно.

НО!

Когда чувак ломился в мейнтейнеры он все видел и знал кто таков Линус и какая у него манера общения.

Опять же - это защитная реакция Линуса, чтобы всякие хитроЖоп не паразитировали на его проекте, он сам такой, хочет получать профит.

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

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

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

Можно спокойно всё объяснить. В 99% случаев этого достаточно.

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

Патчи особо непонятливых просто не принимать.

Опенсорц так не работает.
Люди разные, и у всех есть свои границы некомпетентности.
Нельзя просто выкидывать любой код от людей которые в чем то некомпетентны, т.к идеальных людей которые в 100% будут правы не существует.

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

Потому что он определенно напрашивается на пару подзатыльников и тыканье носом свои поделки.

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