The OpenNET Project / Index page

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



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

Оглавление

Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..., opennews (??), 29-Дек-12, (0) [смотреть все]

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


8. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –6 +/
Сообщение от ананим (?), 29-Дек-12, 10:30 
Охренел штоли?
Ведро то как раз работает.
На пальцах — ошибочные ситуации обрабатывает корректно и выдаёт различные коды при различных ошибках (что и должно делать, прикинь?).
Но тут вдруг оказывается, что а) пульса обрабатывает не всевозможные ошибки а только одну и б) за каким-то хером пульса (звуковой!!! сервер между прочим) лезет в usb-камеру, где звука в) априори вообще то нет и г) даже если бы и был, то он бы всё равно ушёл бы на эльзу, а уж потом с эльзы попал в пульс.

зыж
Не, Торвальс всегда орал, чтобы любые изменения во внешнем АПИ не роняли юзерспейс. И всегда жёстко.
Но в данном, конкретно этом, случае… ну это опа же в пульсе.
с ВОТ ТАКЕННОЙ «О» в центре.

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

15. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +2 +/
Сообщение от Аноним (-), 29-Дек-12, 10:42 
> в usb-камеру, где звука в) априори вообще то нет

Все USB камеры для skype со встроеным микрофоном :)

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

18. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от ананим (?), 29-Дек-12, 10:44 
см. пункт г) :D
Ответить | Правка | Наверх | Cообщить модератору

195. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 29-Дек-12, 16:24 
> см. пункт г) :D

Не аргумент.

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

196. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 29-Дек-12, 16:25 
> см. пункт г) :D

Давай лучше посмотрим на пункт в). Ты не сечешь матчасть, успокойся уже.

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

256. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от ананим (?), 29-Дек-12, 18:00 
Т.е. отдельного устройства "микрофон" нет?
Звук идет тошько с картинкой?
И не через эльзу?

Давай посмотрим, давай.

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

28. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от ананим (?), 29-Дек-12, 11:08 
а да, uvc_ — это сокращение от USB Video Class, если чО.
Ответить | Правка | К родителю #15 | Наверх | Cообщить модератору

199. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от Аноним (-), 29-Дек-12, 16:29 
> а да, uvc_ — это сокращение от USB Video Class, если чО.

Привет от индусов-мейнтейнеров V4L, у которых работа со звуком идет через video class.

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

33. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –8 +/
Сообщение от ананим (?), 29-Дек-12, 11:19 
да, мэнтейнер ошибся, но только в одной строчке (см. диф с ENOENT), в первом рк(!!!) 3.8, который быстро поправили,…
а потериниг мало того что ошибки выборочно обрабатывает (типа если не -EINVAL, то нифига за ошибку не считается), так ещё и микрофонами через камеру… не, назовём своими именами, через Опу рулит.

[сообщение отредактировано модератором]

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

42. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –1 +/
Сообщение от clown (?), 29-Дек-12, 11:34 
Ты действительно веришь что, оскорбляя разработчиков, удасться привлечь и мотивировать квалифицированных специалистов?
Ответить | Правка | Наверх | Cообщить модератору

56. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от ананим (?), 29-Дек-12, 12:14 
а вы действительно верите в сантаклаусов?

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

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

63. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +3 +/
Сообщение от Anonymous528 (?), 29-Дек-12, 12:39 
Линус никого не оскорблял. Красочные выражения типа: "SHUT THE FUCK UP!", "Fix your f*cking "compliance tool", IHMO показывают только то как сильно майнтейнер достал Линуса.
Есть установленные правила разработки ("WE DO NOT BREAK USERSPACE!"), мантейнер в данном случае нарушил их и вместо того что бы исправить полез в дискуссии.
Ответить | Правка | К родителю #42 | Наверх | Cообщить модератору

70. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от clown (?), 29-Дек-12, 12:45 
Ниже я как раз общаюсь как раз по поводу того, почему в обработчике ошибки возникла критическая ошибка. Читайте с 4.43.
Ответить | Правка | Наверх | Cообщить модератору

85. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от Аноним (-), 29-Дек-12, 13:08 
Ошибка в ядре. Она исправлена. Читайте что угодно, фактов это не изменит.
Ответить | Правка | Наверх | Cообщить модератору

205. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 29-Дек-12, 16:34 
> Ошибка в ядре. Она исправлена. Читайте что угодно, фактов это не изменит.

Всем пофиг на факты. Надо срочно обоcpать поттера!

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

102. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +2 +/
Сообщение от Anonymous528 (?), 29-Дек-12, 13:29 
> Ниже я как раз общаюсь как раз по поводу того, почему в
> обработчике ошибки возникла критическая ошибка. Читайте с 4.43.

Да причем здесь обработчик ошибки? Вы сейчас ведете себя как Мауро. Есть установленные правила, которые ДОЛЖНЫ соблюдать разработчики.
"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?"
Какое из этих слов вам не понятно?

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

110. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –2 +/
Сообщение от ананим (?), 29-Дек-12, 13:46 
да при том!

Мауро облажался в RC1 и исправился.
а похтеринг облажался во всех релизах pulseaudio (уже 3.0 вроде?) и не собирается исправляться.
вот о чём речь. как обрабатывал ошибки индокодом, так и будет, как управлял микрофоном через камеру, так и будет.

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

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

116. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от Аноним (-), 29-Дек-12, 13:58 
>Мауро облажался в RC1 и исправился.

Нет он не исправился. Его завтавили это сделать со скандалом. И это просто жуть, ибо сколько еще ошибок этот Мауро прокатил таким же образом ранее?

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

123. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от ананим (?), 29-Дек-12, 14:05 
да нисколько. это очевидно для любого с iq >=80.

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

формально, с точки зрения ядра, это и не ошибка. ядро стабильно работает и не падает.
а вот то, что овнокод похтеринга не умеет обрабатывать не известные ему ошибки и виснет, вот это КОСЯК.

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

203. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 29-Дек-12, 16:33 
> да нисколько. это очевидно для любого с iq >=80.

Для любого с iq >=80 очевидно, что его подсистема более чем на 90% состоит из гoвнокода.
Ну не может он по вторникам быть индусом, а по остальным дням недели - пряморуким.

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

242. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 29-Дек-12, 17:34 
> всё просто, если бы их было много, то овнокод аля пульс отваливался
> бы давным-давно и постоянно.

С формальной точки зрения даже очень прямой код не обязан как-то внятно реагировать на ENOENT после того как все нужные файлы уже открыты. Потому что противоречит элементарному здравому смыслу.

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

315. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –1 +/
Сообщение от clown (?), 30-Дек-12, 07:45 
Функция возвратила ошибку. PulseAudio ошибку игнорирует. Какие ещё ошибки, кроме ENOENT, вы ошибками не считаете?
Ответить | Правка | Наверх | Cообщить модератору

349. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 01-Янв-13, 06:26 
> Функция возвратила ошибку. PulseAudio ошибку игнорирует. Какие ещё ошибки, кроме ENOENT,
> вы ошибками не считаете?

Нет, я согласен что формально к этому можно придраться, но идиотского поведения "исправленного" кода это не извиняет.

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

367. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +1 +/
Сообщение от arisu (ok), 03-Янв-13, 02:23 
> С формальной точки зрения даже очень прямой код не обязан как-то внятно
> реагировать на ENOENT после того как все нужные файлы уже открыты.
> Потому что противоречит элементарному здравому смыслу.

с формальной точки зрения *хорошо написаный* код должен спокойно переносить неизвестные ему ошибки, особым образом реагируя только на те, на которые надо реагировать особым образом. какая *тут* разница, что за ошибку вернул ioctl(), если очевидно, что ioctl() не отработал верно? ну, вернул загадку: ок, запомнили, больше вообще данное устройство не трогаем, оно явно не в своём уме. заодно можно в лог сказать, что устройство с ума взбесилось.

это что, так сложно написать? это rocket science? или это просто общий неряшливый стиль написания: «такой ошибки не будет, потому что не будет никогда, и поэтому не надо ничего обрабатывать»? вот за такое портеринга и не любят.

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

134. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от Anonymous528 (?), 29-Дек-12, 14:31 
> да при том!
> Мауро облажался в RC1 и исправился.

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

> а похтеринг облажался во всех релизах pulseaudio (уже 3.0 вроде?) и не
> собирается исправляться. вот о чём речь.

Речь в данном топике идет об мантейнере Мауро и Линусе. И о том что Мауро не соблюдал правила.

> в ядре линус всех муаров то построит.

Линус на то и Линус что бы руководить развитием ядра.

> а пульса как заикалась на четырёхядерниках, так и будет.

Это отдельная тема, к данному топику она отношения не имеет.

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

143. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –3 +/
Сообщение от ананим (?), 29-Дек-12, 15:07 
>Речь в данном топике идет об мантейнере Мауро и Линусе.

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

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

172. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от Anonymous528 (?), 29-Дек-12, 15:47 
> ага, счаз ты мне будешь указывать о чём мне речь вести.
> в сабже есть похтеринг? есть.
> в его поделке есть два крупных косяка, один из которых ещё и позорный. и это не офтопик.
> так что со своими «желаниями» можешь идти на хутор.

Да, я буду ТЕБЕ указывать. Если в топике есть похтеринг это еще не означает что топик был написан про него.
Если ты посмотришь в начало страницы то увидишь сабж "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допустившего появление проблем в пользовательском ПО", а не "из-за двух  крупных косяков похтеринга его софт перестал работать в новом ядре".

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

219. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от Аноним (-), 29-Дек-12, 16:50 
> Если ты посмотришь в начало страницы то увидишь сабж "Линус Торвальдс жёстко
> раскритиковал мэйнтейнера ядра, допустившего появление проблем в пользовательском ПО",
> а не "из-за двух  крупных косяков похтеринга его софт перестал
> работать в новом ядре".

ананим точно знает, кто виноват! Не слушайте идиота Торвальдса, слушайте умного ананима!

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

186. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Sem (??), 29-Дек-12, 16:17 
Так не пользуйся пульсом и все. Чего кричать то?
Ответить | Правка | К родителю #143 | Наверх | Cообщить модератору

218. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 29-Дек-12, 16:49 
> Так не пользуйся пульсом и все. Чего кричать то?

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

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

368. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от arisu (ok), 03-Янв-13, 02:32 
> Так не пользуйся пульсом и все. Чего кричать то?

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

p.s. да-да, я в курсе про «пересобери без пульсы». продемонстрируй, пожалуйста, пересборку системы для N900. там есть немножечко закрытых компонентов, но, думаю, это не помеха для Настоящего Пацана.

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

216. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –1 +/
Сообщение от Аноним (-), 29-Дек-12, 16:48 
> Ниже я как раз общаюсь как раз по поводу того, почему в
> обработчике ошибки возникла критическая ошибка. Читайте с 4.43.

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

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

243. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 29-Дек-12, 17:35 
> Всегда и везде обрабатываются не все ошибки, а только те, которые возможны.

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


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

259. "Открывая Америку"  +/
Сообщение от Аноним (-), 29-Дек-12, 18:04 
If(OpenFile(filename)==NOERR)
{
}
Ответить | Правка | К родителю #216 | Наверх | Cообщить модератору

285. "Открывая Америку"  +1 +/
Сообщение от a (??), 29-Дек-12, 19:11 
else?
Ответить | Правка | Наверх | Cообщить модератору

314. "Открывая Америку"  –1 +/
Сообщение от clown (?), 30-Дек-12, 07:30 
Вам нужен репетитор по программированию на языке С++?

err_code=FileOpen(filename);
if(err!=NOERR){}
else {return error_handling(err_code);}

int error_handling(err_code)
{
writelog(GetErrorText(err_code));
return err_code;
}

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

343. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от netch (ok), 31-Дек-12, 19:15 
> Простите, но это безграмотная пропаганда, ориентированная на тех, кто никогда ничего не
> программировал.
> Всегда и везде обрабатываются не все ошибки, а только те, которые возможны.

Как Вы определяете возможность конкретной ошибки?

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

355. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –1 +/
Сообщение от qux (ok), 01-Янв-13, 15:36 
Простите, но это ...

if (foo() < 0)
{
    // error happened
}

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

369. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от arisu (ok), 03-Янв-13, 02:36 
> Простите, но это безграмотная пропаганда, ориентированная на тех, кто никогда ничего не
> программировал.
> Всегда и везде обрабатываются не все ошибки, а только те, которые возможны.


int fd = open("mycoolfile.dat", O_RDONLY);
if (fd < 0) {
  fd = open("mycoolfile.dat.old", O_RDONLY);
  if (fd < 0) perror("WHERE IS MY DATA?!");
}

«всегда и везде», говоришь?
Ответить | Правка | К родителю #216 | Наверх | Cообщить модератору

124. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –2 +/
Сообщение от Hanon (?), 29-Дек-12, 14:14 
В последних новостях про тенденцию разработки ядра, а какая-то новость гласила, что с каждым годом новых разработчиков все мало, и у руля только старые....вашему Торвальдсу следовало бы молчать в тряпочку, а то всех разгонит, и останутся коммиты очередных ненужных файловых систем.
Ответить | Правка | К родителю #63 | Наверх | Cообщить модератору

144. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от ананим (?), 29-Дек-12, 15:09 
со своими советами можете проследовать к своему лысому, потному, толстому.
уж с ним и покричишь девелоперс 4-е раза.
Ответить | Правка | Наверх | Cообщить модератору

190. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 29-Дек-12, 16:21 
> В последних новостях про тенденцию разработки ядра, а какая-то новость гласила, что
> с каждым годом новых разработчиков все мало, и у руля только
> старые....вашему Торвальдсу следовало бы молчать в тряпочку, а то всех разгонит,
> и останутся коммиты очередных ненужных файловых систем.

Таких, как Мауро - действительно стоит разогнать.

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

192. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +3 +/
Сообщение от Sem (??), 29-Дек-12, 16:22 
> В последних новостях про тенденцию разработки ядра, а какая-то новость гласила, что
> с каждым годом новых разработчиков все мало, и у руля только
> старые....вашему Торвальдсу следовало бы молчать в тряпочку, а то всех разгонит,
> и останутся коммиты очередных ненужных файловых систем.

Вообще то, Линус тут прав на все 100%. И если он будет молчать, что ядро превратится в УГ, которое ломает хрен знает что с каждым релизом.

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

214. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +3 +/
Сообщение от Аноним (-), 29-Дек-12, 16:44 
> Ты действительно веришь что, оскорбляя разработчиков, удасться привлечь и мотивировать
> квалифицированных специалистов?

Если оскорблять исключительно криворуких индусов - квалифицированным специалистам ничего не грозит :)

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

44. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от freehckemail (ok), 29-Дек-12, 11:41 
читай внимательнее.

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

[сообщение отредактировано модератором]

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

58. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –2 +/
Сообщение от ананим (?), 29-Дек-12, 12:24 
читай внимательно ещё раз.
а) не важно, что код возврата был изменён (и это не просто код возврата, это ошибка! чувствуешь ? не?
б) я это и не(!!!) обсуждал.

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

[сообщение отредактировано модератором]

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

61. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от freehckemail (ok), 29-Дек-12, 12:28 
> пульсу я обсуждал, пульсу, бэби. :D

...которая тут совершенно не при чем. =)

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

66. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –3 +/
Сообщение от ананим (?), 29-Дек-12, 12:39 
да-а-а-а? т.е. вы тут собрались обсуждать только фалосы Торвальдса? :D

а я вот обсуждаю плохую обработку ошибок в пульсе и за каким уем он лезет в uvc.
при этом пульс потеринг преподносит чёртезнает сколько как стабильный (не смотря на все его заикания), а сабж всего-лишь в сpаном 3.8.0rc1.

[сообщение отредактировано модератором]

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

86. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от ананим (?), 29-Дек-12, 13:12 
повторяю то, что сказал ниже: https://www.opennet.ru/openforum/vsluhforumID3/88002.html#71
>не бывает (не должно быть в принципе) обработчика ошибКИ.
>должен быть обработчик ошибОК.
>нельзя на одну ошибку реагировать, а на остальные нет.
>если ошибка не предвиденная логикой, то должна быть обработка по умолчанию.
>нельзя маскировать ошибки, их нужно либо обрабатывать на месте, либо передавать дальше по стэку.
>иначе будет как у потеринга — «стали поступать жалобы пользователей о зависании PulseAudio».

объясню на пальцах — если бы у потеринга был бы нормальный обработчик ошибок, то пульс бы не вис, а падал бы с ошибкой.
типа «а кто его знает почему камера не захотела работать микрофоном и выдала мне -ENOENT, а я не знаю что это такое».
вот тогда бы к СТАБИЛЬНОМУ пульсу претензий бы НЕ было.
а претензий к 3.8.0.рк1 и так нет. во первых рк, во-вторых ядро не вешалось.
отсюда вывод — рк стабильнее пульсы

[сообщение отредактировано модератором]

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

108. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от linux must _RIP_ (?), 29-Дек-12, 13:44 
в кой веки соглашусь с ананимом :-)

Список конкретных кодов ошибок может быть очень разный в зависимости от драйвера.
Завтра новый драйвер вернет ENOENT куда нить - и опять пульс сломается..
Будим чинить ядро?

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

118. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от ананим (?), 29-Дек-12, 13:58 
ioctl не может. не имеет права. man ioctl чётко говорит об этом.
за что Мауро и получил пистон.

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

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

178. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +2 +/
Сообщение от Алексей Морозов (ok), 29-Дек-12, 15:57 
Вообще-то список возможных ошибок (да, кодов ошибок, получаемых из errno) конкретного сисколла (будь то ioctl или другой вызов) описан в документации к. Если список соответствует заявленному - вопросы к авторам юзерспейс-софта. Не соответствует - вопрос к ядру.

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

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

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

344. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –1 +/
Сообщение от netch (ok), 31-Дек-12, 19:19 
> Вообще-то список возможных ошибок (да, кодов ошибок, получаемых из errno) конкретного сисколла
> (будь то ioctl или другой вызов) описан в документации к. Если
> список соответствует заявленному - вопросы к авторам юзерспейс-софта. Не соответствует
> - вопрос к ядру.

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

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

430. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Andrew Kolchoogin (?), 09-Янв-13, 12:07 
> На практике невозможно всегда и во всём соблюдать этот список,

Это возможно всегда и во всём.

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

То есть, масштабируя: софт, который общается с ядром, должен обрабатывать все возможные ошибки. А теперь, внимание, вопрос: как он должен реагировать на ошибки, не описанные в man'е? Выражаясь неформально, это abort, retry или fail?

Валентин, попытка отойти от стандарта (POSIX -- стандарт, между прочим) должна караться апстеной. И только ей.

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

431. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от arisu (ok), 09-Янв-13, 12:28 
> А теперь, внимание, вопрос: как он должен реагировать на ошибки,
> не описанные в man'е? Выражаясь неформально, это abort, retry или fail?

fail. с записью кода ошибки в лог.

upd: чёрт. abort, конечно. извиняюсь.

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

433. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от netch (ok), 09-Янв-13, 12:49 
>> А теперь, внимание, вопрос: как он должен реагировать на ошибки,
>> не описанные в man'е? Выражаясь неформально, это abort, retry или fail?
> fail. с записью кода ошибки в лог.
> upd: чёрт. abort, конечно. извиняюсь.

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

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

434. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от arisu (ok), 09-Янв-13, 12:57 
таки «неизвестная ошибка» является поводом для аборта. на всякий случай.
Ответить | Правка | К родителю #433 | Наверх | Cообщить модератору

435. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от netch (ok), 09-Янв-13, 13:03 
> таки «неизвестная ошибка» является поводом для аборта. на всякий случай.

Только в сферическом софте в вакууме.

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

436. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от arisu (ok), 09-Янв-13, 13:11 
в любом нормальном софте. «неизвестная ошибка» — это ЧП. при ЧП лучше всего рухнуть с воплями, потому что неизвестно, какие могут быть последствия у такой ошибки.
Ответить | Правка | К родителю #435 | Наверх | Cообщить модератору

437. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от netch (ok), 09-Янв-13, 14:25 
> в любом нормальном софте.

Простите, но Вы, очевидно, никогда не писали софт серьёзнее, чем /usr/bin/sort.

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

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

Во-вторых, если неизвестная ошибка произошла при каком-то действии, то её последствия ограничиваются пределом именно этого действия. Более серьёзные ошибки в Unix-системах вызывают сигналы и прочие асинхронные нотификации о нерешаемых проблемах. Этот принцип не специфицирован в явном виде (по крайней мере, я такого не видел), но практически все системы следуют ему. Поэтому, отказ в каком-то действии с неизвестной ошибкой следует рассматривать только как отказ этого действия с соответствующими последствиями (а вот они уже зависят от задачи - где-то это rollback транзакции, а где-то надо просто повторять до получения результата).

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

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

432. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от netch (ok), 09-Янв-13, 12:46 
> Валентин, попытка отойти от стандарта (POSIX -- стандарт, между прочим) должна караться
> апстеной. И только ей.

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

1. Где именно в POSIX сказано, что для некоторой функции допускаются только те ошибки, которые упомянуты в соответствующем описании в POSIX?

Я пока что вижу явное разрешение противоположного, а именно (в functions/V2_chap02.html):

<blockquote>Implementations may support additional errors not included in this list, may generate errors included in this list under circumstances other than those described here, or may contain extensions or limitations that prevent some errors from occurring.</blockquote>

2. Где и когда Linux специфицировал официальную совместимость с POSIX?

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

>> На практике невозможно всегда и во всём соблюдать этот список,
> Это возможно всегда и во всём.

Я не увидел никакого обоснования этого тезиса, и цитатой выше обосновал обратное.

>> и весь софт, который общается с ядром, должен быть готов к возврату ошибки
>> с недокументированным кодом.
> То есть, масштабируя: софт, который общается с ядром, должен обрабатывать все возможные
> ошибки. А теперь, внимание, вопрос: как он должен реагировать на ошибки,
> не описанные в man'е? Выражаясь неформально, это abort, retry или fail?

"Внимание, ответ": здесь не может быть общего ответа. В каждом конкретном случае надо смотреть по обстановке - не по коду ошибки (он-то неизвестен), а по тому, что является оптимальной реакцией в этом месте на ошибки неизвестного содержания.
В основном, я думаю, это fail, в твоих неформальных терминах. Достаточно часто - abort.
Где-то - retry, но ограниченное количество раз.

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


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

225. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 29-Дек-12, 16:57 
> Список конкретных кодов ошибок может быть очень разный в зависимости от драйвера.
> Завтра новый драйвер вернет ENOENT куда нить - и опять пульс сломается..
> Будим чинить ядро?

Если ENOENT будет описан в документации драйвера - пульс не сломается.
Если не будет описан - сломается не только пульс.

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

39. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +10 +/
Сообщение от freehckemail (ok), 29-Дек-12, 11:33 
Черт, я вас рано плюсанул.

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

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

Yes, I'm upset. Very upset. Why was the error value changed in the
first place? There was no reason given, and it was changed to a
completely idiotic value. And when applications - understandably -
broke, you start asking "why?"

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

43. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –2 +/
Сообщение от clown (?), 29-Дек-12, 11:38 
А не подскажите, почему код ошибки вызывает критическую ошибку? Мауро - козёл отпущения, его ошибка не оправдывает истинного виновника проблемы.
Ответить | Правка | Наверх | Cообщить модератору

47. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +2 +/
Сообщение от freehckemail (ok), 29-Дек-12, 11:43 
Неправильный код ошибки является причиной вызова неправильного обработчика этой ошибки. Результаты тут непредсказуемы.
Ответить | Правка | Наверх | Cообщить модератору

49. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –2 +/
Сообщение от clown (?), 29-Дек-12, 11:46 
Здесь два вопроса:
1. в чём, по вашему мнению, заключается роль обработчика ошибки?
2. обработчик ошибки написан без контроля ошибок?

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

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

54. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +3 +/
Сообщение от freehckemail (ok), 29-Дек-12, 11:58 
Ну, просто занести ошибку в журнал может быть мало.
Вполне возможна ситуация, когда для того, чтобы продолжить работу, программе нужно произвести какие-либо действия, связанные с ошибкой.

Вот рассмотрим пример:

Есть программа А, которая проверяет доступность сервера по сети (допустим Ethernet, USB-модем или Dial-Up).
Есть программа Б, которая работает с сервером удаленно.
По умолчанию программа Б работает с сервером по Ethernet.

В какой-то момент времени программа А подает программе Б ошибку с кодом, соответствующем ситуации "Ethernet-кабель сгрызла крыса".
Чтобы продолжить работу программа Б должна обработать эту ошибку:
1) занести информацию о ней в журнал,
2) переключиться на один из резервных каналов (USB-модем или Dial-Up)

Если же на ситуацию "Ethernet-кабель сгрызла крыса" программа А будет отдавать код ошибки, соответствующий ситуации "Монтажник перерезал телефонные провода за неуплату", то программа Б будет считать, что никаких действий для продолжения работы производить не требуется, и будет пытаться продолжить работать с сервером по Ethernet, что ей, разумеется, не удастся.


Коды ошибок - штука очень важная.

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

67. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –2 +/
Сообщение от clown (?), 29-Дек-12, 12:41 
Коды ошибок - это коды ошибок. Они задумывались и используются исключительно для анализа поведения программы.

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

В данном случае была замена "EINVAL" (no value) на "ENOENT" (no entry). PulseAudio не поддерживает обработку других кодов, кроме "EINVAL", но ошибку вызывает. Парадокс?

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

82. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от freehckemail (ok), 29-Дек-12, 13:07 
Ваши доводы не лишены смысла. Но я не понимаю, откуда берется вот это:
> PulseAudio не поддерживает обработку других кодов, кроме "EINVAL", но ошибку вызывает.

Я, наверное, читал не очень внимательно. Что значет "не поддерживает обработку других кодов"? Я не видел пруфа этому утверждению.

Я понял так: получив ENOENT, и не найдя обработчика для этой ошибки, Pulse заканчивает работу - в принципе не лишенное смысла действие по умолчанию.

А обработчика для ENOENT не было реализовано, потому что этот код вообще не должен был возникнуть (глубже я уже вдаваться не буду, и так уже слишком много времени на этот тред ушло). А возник он потому, что мейнтейнер ядра, к сожалению, допустил несколько ошибок. И, кстати, не в одной строчке. Кто там утверждал, что в одной? Это неправда:

Linus Torvalds <torvalds@linux-foundation.org> escreveu:

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").

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

89. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от clown (?), 29-Дек-12, 13:16 
> Что означет "не поддерживает обработку других кодов"?

В тексте статьи: "Мауро ... указал на то, что проблема скорее всего является следствием ошибки в PulseAudio, так как программа не поддерживает обработку кодов ошибок, отличных от "-EINVAL"."

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

> Я понял так: получив ENOENT, и не найдя обработчика для этой ошибки, Pulse заканчивает работу

"стали поступать жалобы пользователей о зависании PulseAudio при использовании нового тестового выпуска ядра"

Он не завершает работу, а зависает.

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

105. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от freehckemail (ok), 29-Дек-12, 13:38 
>> Я понял так: получив ENOENT, и не найдя обработчика для этой ошибки, Pulse заканчивает работу.
> "стали поступать жалобы пользователей о зависании PulseAudio при использовании нового
> тестового выпуска ядра"
> Он не завершает работу, а зависает.

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

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

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

140. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +3 +/
Сообщение от Andrew Kolchoogin (?), 29-Дек-12, 14:56 
> Ну тогда да, у Пульсы очевидная проблема.

Да я бы не стал так жёстко.

Программное обеспечение, работающее в User Space, _не обязано_ обрабатывать ВСЕ возможные ошибки, которые теоретически может возвратить ядро -- существует Kernel API, в котором коды ошибок, возвращаемые тем или иным syscall'ом, задокументированы.

Так вот, ioctl() возвращать ENOENT _не имеет права_. Вообще никогда.

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

149. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –3 +/
Сообщение от ананим (?), 29-Дек-12, 15:22 
>Программное обеспечение, работающее в User Space, _не обязано_ обрабатывать ВСЕ возможные ошибки

1. оно их вообще не обязано обрабатывать.
2. это просто правила хорошего тона и образования, если обрабатывается хотя бы одна ошибка, то обрабатывать и все остальные возможные ошибки хотя бы в секции по-умолчанию.
3.
>Так вот, ioctl() возвращать ENOENT _не имеет права_. Вообще никогда.

исключительные ситуации возможны ВСЕГДА.
особенно в io, где банально может быть выход устройства из строя и сбои. и, man ioctl
>Нет единого стандарта. Аргументы, возвращаемые значения и семантика ioctl() варьируются в соответствии с драйвером устройства (вызов,  используемый как  всеохватывающий, не полностью соответствует потоковой модели ввода/вывода в Unix).

поэтому возводить разработчиков в роль безгрешного идола — это банально оправдывать свой поуизм и безалаберность.
тем более что пульсу мало того, что НЕЧЕГО делать в uvc ВООБЩЕ, так для него уже существуют более высокоуровневые функции.

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

162. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Михрютка (ok), 29-Дек-12, 15:37 
>>ENOENT
> исключительные ситуации возможны ВСЕГДА.
> особенно в io, где банально может быть выход устройства из строя и
> сбои. и, man ioctl

в военное время значение синуса достигает четырех, ага.

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

181. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от ананим (?), 29-Дек-12, 16:04 
и не только в синусах, и не только в военное.
http://www.tomshardware.co.uk/forum/55655-10-errors-intel-co...
>FPU errors on both Intel and AMD - have AMD copied

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35194
>Bug 35194 - floating point truncation error on intel platform

блажен неведающий.
а если кратко — быдлокодер.

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

238. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от Михрютка (ok), 29-Дек-12, 17:18 
поясните, пожалуйста, как из приведенных ссылок вытекает существование ситуаций, в которых ioctl может вернуть ENOENT.
Ответить | Правка | К родителю #181 | Наверх | Cообщить модератору

165. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –2 +/
Сообщение от slowpoke (?), 29-Дек-12, 15:39 
>Так вот, ioctl() возвращать ENOENT _не имеет права_. Вообще никогда.

Что с того? Завтра появится какой нибудь ENOFUCK и ядро его оправданно вернет - а поделка поттеринга опять зависнет!

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

208. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Sem (??), 29-Дек-12, 16:37 
>>Так вот, ioctl() возвращать ENOENT _не имеет права_. Вообще никогда.
> Что с того? Завтра появится какой нибудь ENOFUCK и ядро его оправданно
> вернет - а поделка поттеринга опять зависнет!

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

В данной ситуации оба не правы. Поттеринг не обработал ошибку правильно и маинтейнер закоммитил не хороший код.

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

240. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 29-Дек-12, 17:33 
>маинтейнер закоммитил не хороший код

Ты ничего не понял.

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

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

324. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –1 +/
Сообщение от stupid (?), 30-Дек-12, 14:15 
>У вас не верное представление. Не появляются коды ошибок вдруг ни от куда. Весь список уже устоявшийся.

Да что вы? Вы man ioctl то читали?!

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
       Обычно  в  случае  успеха возвращается ноль. Некоторые ioctl используют
       возвращаемое значение как  выходной  параметр  и  возвращают  в  случае
       успеха  неотрицательное  значение.  В  случае ошибки возвращается  -1 и
       значение errno устанавливается соответствующим образом.

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

342. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от дзьм1110трыemail (?), 31-Дек-12, 16:35 
возвращаемое значение != код ошибки. В случае ошибки возвращается всегда -1, а список возможных кодов ошибок есть в мане:
RETURN VALUE
       Usually, on success zero is returned.  A few ioctl() requests  use  the
       return  value  as an output parameter and return a nonnegative value on
       success.  On error, -1 is returned, and errno is set appropriately.

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.

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

263. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от Аноним (-), 29-Дек-12, 18:11 
> Что с того? Завтра появится какой нибудь ENOFUCK и ядро его оправданно
> вернет - а поделка поттеринга опять зависнет!

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

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

289. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +2 +/
Сообщение от Andrew Kolchoogin (?), 29-Дек-12, 20:12 
> Завтра появится какой нибудь ENOFUCK и ядро его оправданно вернет

Да ведь в том-то и дело, что вот так вот "завтра" не появится.

Разработка операционных систем традиционно ведётся в соответствии с некоторыми неписаными правилами. И огромным количеством писаных правил. Например, POSIX. А в POSIX никаких ENOFUCK нет. И ENOENT у ioctl() тоже нет.

Разумеется, это не остановит ухарей-разработчиков ядра от того, чтобы начать что-то такое возвращать. Но на то и щука, чтобы карась не дремал -- на то и Турвалдс, чтобы разработчики окончательно белены не объелись. :)

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

298. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –1 +/
Сообщение от Михрютка (ok), 29-Дек-12, 21:48 
> Разработка операционных систем традиционно ведётся в соответствии с некоторыми неписаными
> правилами. И огромным количеством писаных правил. Например, POSIX. А в POSIX
> никаких ENOFUCK нет. И ENOENT у ioctl() тоже нет.

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

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

371. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от arisu (ok), 03-Янв-13, 03:12 
> Программное обеспечение, работающее в User Space, _не обязано_ обрабатывать ВСЕ возможные
> ошибки, которые теоретически может возвратить ядро — существует Kernel API, в
> котором коды ошибок, возвращаемые тем или иным syscall'ом, задокументированы.
> Так вот, ioctl() возвращать ENOENT _не имеет права_. Вообще никогда.

а ещё юзеры, например, не имеют права подбирать чужие пароли. а программисты не имеют права делать ошибок. но shit happens, знаешь ли. и если писать не быстрософтинку для себя лично, а — на минуточку — звуковой сервер, который используется на сотнях тысяч машин, то надо по возможности предусматривать и ситуации, которых «не может быть, потому что не может быть никогда». в данном случае такое возможно — но не сделано.

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

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

106. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от ананим (?), 29-Дек-12, 13:39 
>Я понял так: получив ENOENT, и не найдя обработчика для этой ошибки, Pulse заканчивает работу

вы программист?
если нет обработчика, то ошибка маскируется.
т.е. выйдя за пределы области видимости (например из функции) программа уже вообще НЕ догадывается, что была какая-либо ошибка и продолжает работать как ни в чём не бывало.
(а раз ошибка всё же была, но программа не отреагировала, то имеем сабж с заисанием этой программы)
вот если бы обработчик по умолчанию был, то (возможно передовая по стэку) тогда бы пульс не вис бы, а падал с ошибкой.
возможно со своей. с логом типа — ошибка 100500, неопознанная ошибка в модуле суперпульс (ioctl вернул ошибку -2, хотя не должен был)

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

169. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –1 +/
Сообщение от slowpoke (?), 29-Дек-12, 15:43 
>если нет обработчика, то ошибка маскируется.

так нужно писать не
int rc = ioctl(...)
if (rc == EINVAL)

а

int rc = ioctl(...)
if (rc == -1)

а поттеринг этот походу man ioctl не читал

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

184. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от ананим (?), 29-Дек-12, 16:16 
rc = ioctl(…)
err = errno; // может и изменится, например в другом потоке. см. например http://elektro-megaportal.ru/kak-sdelat-odnopotochnuyu-progr.../
if (rc == -1)
switch( err )
{
    case -EINVAL:
      …
    default :
      …
}
Ответить | Правка | Наверх | Cообщить модератору

233. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +2 +/
Сообщение от Поттеринг (?), 29-Дек-12, 17:08 
Фигасе! А чё такое default?
:D
Ответить | Правка | Наверх | Cообщить модератору

350. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 01-Янв-13, 06:39 
> Фигасе! А чё такое default?

"Ой, а что, так можно?"

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

260. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 29-Дек-12, 18:06 
errno для каждого потока свой, присвоение лишнее
Ответить | Правка | Наверх | Cообщить модератору

373. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от arisu (ok), 03-Янв-13, 03:22 
> rc = ioctl(…)
> err = errno; // может и изменится, например в другом потоке. см.
> например http://elektro-megaportal.ru/kak-sdelat-odnopotochnuyu-progr.../

какой потрясающий быдлокод! скажи, о юный падаван, а что будет, если контекст исполнения переключится на другой поток после возврата из ioctl(), но перед «сохранением» errno, и этот самый другой поток тоже вызовет ioctl(), который тоже вернёт ошибку?

этот «фикс для многопоточности» напоминает мне «фикс» в php, где на переполнение проверяли при помощи «int i; …; if (i > MAX_INT) …».

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

428. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от slowpoke (?), 09-Янв-13, 10:10 
Ребята не надо тупить)))
Читайте man errno:

errno is thread-local; setting it in one thread does not affect its value in any other thread.

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

429. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от arisu (ok), 09-Янв-13, 10:37 
э… я-то в курсе, что errno — это thread local. отчасти потому и восхищался быдлокодом. а отчасти — тем, как быдлокодер «защищает» глобальное значение, если бы оно было глобальным. два в одном, красота.
Ответить | Правка | К родителю #428 | Наверх | Cообщить модератору

173. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от clown (?), 29-Дек-12, 15:48 
Вы описали один из возможных вариантов поведения, но есть и другой: ошибка напр. функция выделения памяти возвращает ошибку системной функции, которая возвращает ошибку пользовательскому приложению. В теории, на каждом уровне должна быть обработка ошибок. В данном случае PulseAudio этого не делает - ошибка в PulseAudio. Вторая ошибка - у Мауро в неверном коде возврата. Но исходя из тона г-на Торвальдса у меня сложилось впечатление что Мауро сделали ответственным за ошибку в PulseAudio, сделав из него козла отпущения.

Логика высказывания Торвальдса: если бы вы не возвратили неверный код - в PulseAudio не возникла бы ошибка. Это неверный логический вывод.

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

210. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +3 +/
Сообщение от Sem (??), 29-Дек-12, 16:40 
> Вы описали один из возможных вариантов поведения, но есть и другой: ошибка
> напр. функция выделения памяти возвращает ошибку системной функции, которая возвращает
> ошибку пользовательскому приложению. В теории, на каждом уровне должна быть обработка
> ошибок. В данном случае PulseAudio этого не делает - ошибка в
> PulseAudio. Вторая ошибка - у Мауро в неверном коде возврата. Но
> исходя из тона г-на Торвальдса у меня сложилось впечатление что Мауро
> сделали ответственным за ошибку в PulseAudio, сделав из него козла отпущения.
> Логика высказывания Торвальдса: если бы вы не возвратили неверный код - в
> PulseAudio не возникла бы ошибка. Это неверный логический вывод.

У Линуса совсем не такой логический вывод. "Мы не ломаем userspace" - вот его позиция. И она верна.

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

222. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –1 +/
Сообщение от clown (?), 29-Дек-12, 16:54 
Что вы знаете про модульность?
Ответить | Правка | Наверх | Cообщить модератору

351. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –1 +/
Сообщение от qux (ok), 01-Янв-13, 14:46 
В такой формулировке она не просто неверна, она невозможна. Если бы он сказал хотя бы "мы не ломаем ABI"...

А то был, например, файл в sysfs, в следующем релизе исчез. А его кто-то читал. Всё, возвращайте назад.

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

375. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +1 +/
Сообщение от arisu (ok), 03-Янв-13, 03:29 
> В такой формулировке она не просто неверна, она невозможна.

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

и, кстати, действительно изо всех сил не ломают. например, древние функции int 80h до сих пор поддерживаются.

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

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

393. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  –1 +/
Сообщение от qux (ok), 03-Янв-13, 23:11 
> и, кстати, действительно изо всех сил не ломают. например, древние функции int
> 80h до сих пор поддерживаются.

Про ABI я как раз уточнил. Хотя 80h 80h-ем, но i386 вон поддерживать перестали. Какой-то юзерспейс сломался? Несомненно. И что.

Это критика не выкидывания ненужного, а формулировок к процессу разработки типа вышецитированных, если что.

> слова «без достаточных на то обоснований» подразумеваются.
> если наличие «файла в sysfs» было документировано
> если он пропал — то это должно быть *очень* хорошо
> обосновано.

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

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

395. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +1 +/
Сообщение от arisu (ok), 03-Янв-13, 23:59 
> Хотя 80h 80h-ем, но i386 вон
> поддерживать перестали. Какой-то юзерспейс сломался? Несомненно. И что.

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

> А вы за Торвальдса не расписывайтесь, он лучше знает что хотел сказать.

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

а вообще-то — я не просто так дал развёрнутое толкование. но забыл, что это опеннет.

> И что lkml подразумевает это еще вопрос, общение там, понятно, скиллов
> требует, но читать кто угодно может же.

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

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

398. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  –1 +/
Сообщение от qux (ok), 04-Янв-13, 00:12 
> нет, никакой не сломался. в данном случае это неважно, но: представляешь, софт
> от i386 отлично работает на x86 повыше. неудачный ты пример подобрал.

А на не повыше? Точно не сломался?

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

Я его словам ничего не дописывал. В отличие от.

> чтобы было понятно запойному алкашу васе с тремя классами образования
> это опеннет

Это точно. Аналогии впечатляют.

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

399. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +1 +/
Сообщение от arisu (ok), 04-Янв-13, 00:20 
> А на не повыше? Точно не сломался?

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

>> чтобы было понятно запойному алкашу васе с тремя классами образования
>> это опеннет
> Это точно. Аналогии впечатляют.

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

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

401. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  –1 +/
Сообщение от qux (ok), 04-Янв-13, 00:29 
> нет, не сломался. ядро можно запустить, под ним старый софт можно запустить.
> обеспечение этого именно на архитектуре i386 никто не гарантировал, бери x86
> поновее. и всё будет работать. ничего не сломано, прикинь.

Ой, я не поняла. Так работу всего-всего на i386 сломали или нет? (хлопая ресницами)

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

На заметку: иногда коллапс наступает как раз от аналогий и "очевидных" логических цепочек. Серьезно.

> а ты продолжай дезинформировать людей: буквы всё стерпят.

Спасибо. Продолжу обязательно. Не мешайте только.

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

402. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +1 +/
Сообщение от arisu (ok), 04-Янв-13, 01:15 
> Ой, я не поняла. Так работу всего-всего на i386 сломали или нет?
> (хлопая ресницами)

*новых* ядер — да. userland — нет. и то — не сломали: ты можешь портануть назад.

> На заметку: иногда коллапс наступает как раз от аналогий и «очевидных» логических
> цепочек. Серьезно.

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

>> а ты продолжай дезинформировать людей: буквы всё стерпят.
> Спасибо. Продолжу обязательно. Не мешайте только.

на других ресурсах — не буду, я за тобой не охочусь. а здесь — я буду на «дезу» отвечать издевательствами.

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

374. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +1 +/
Сообщение от arisu (ok), 03-Янв-13, 03:25 
> исходя из тона г-на Торвальдса у меня сложилось впечатление что Мауро
> сделали ответственным за ошибку в PulseAudio, сделав из него козла отпущения.

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

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

372. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от arisu (ok), 03-Янв-13, 03:17 
> передовая по стэку

«передовая бригада по стэку», лол.

судя по количеству ошибок в твоём сообщении, одного в лучшем случае «непрограммиста» (а скорее — code monkey) я детектирую вполне определённо.

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

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

370. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от arisu (ok), 03-Янв-13, 03:01 
> Я понял так: получив ENOENT, и не найдя обработчика для этой ошибки,
> Pulse заканчивает работу — в принципе не лишенное смысла действие по
> умолчанию.

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

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

и вот это вот чудо пишет *систему инициализации*. крах которой намного более фатален, нежели крах звукового сервера. а поттерингофаны (я не про тебя сейчас, а в общем) всё ещё не понимают, почему люди не в восторге от системд и от его основного автора-идеолога.

p.s. в данном случае совершенно не важно, рухнула ли пульса или зациклилась. так же, как не особо важно, рухнул ли init или ушёл в медитативное состояние.

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

389. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  –1 +/
Сообщение от freehckemail (ok), 03-Янв-13, 12:46 
>> Я понял так: получив ENOENT, и не найдя обработчика для этой ошибки,
>> Pulse заканчивает работу — в принципе не лишенное смысла действие по
>> умолчанию.
> ага. для звукового сервера. действительно, да ну его нафиг — пытаться не
> падать. подумаешь, звук отвалится: не критично, юзер перезапустит. это же всего
> лишь какой-то там звуковой сервер, который используется кучей софта в системе.

Да что там для звукового сервера. Для ядра тоже вполне приемлемо. Чуть что - Kernel Panic. Какая там обработка ошибок. =)

> и вот это вот чудо пишет *систему инициализации*. крах которой намного более
> фатален, нежели крах звукового сервера. а поттерингофаны (я не про тебя
> сейчас, а в общем) всё ещё не понимают, почему люди не
> в восторге от системд и от его основного автора-идеолога.

К сожалению, эта тема не иллюстрирует этих его качеств. Она вообще непонятно о чем. Ну ошибся мейнтейнер. Ну с кем не бывает? А что касается Поттеринга - udev гентушники форкнули, так что надежда на светлое будущее еще есть. А все остальное его творчество лично в моей системе отсутствует - я и доволен. )

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

390. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от arisu (ok), 03-Янв-13, 12:55 
> Да что там для звукового сервера. Для ядра тоже вполне приемлемо. Чуть
> что — Kernel Panic. Какая там обработка ошибок. =)

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

> К сожалению, эта тема не иллюстрирует этих его качеств.

каких «этих»? что портеринг — косорукий пионэр? да, не иллюстрирует, просто лишний раз подтверждает.

> Ну ошибся мейнтейнер. Ну с кем не бывает?

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

ах, да: ещё о том, что портеринг — косорукий пионэр.

> что касается Поттеринга — udev гентушники форкнули … все остальное его творчество

удев — не его творчество. это GK-H, кажется, и ещё несколько соратников.

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

391. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  –1 +/
Сообщение от freehckemail (ok), 03-Янв-13, 13:00 
>> Да что там для звукового сервера. Для ядра тоже вполне приемлемо. Чуть
>> что — Kernel Panic. Какая там обработка ошибок. =)
> (печально) а вот и есть. у меня когда винт сыпался — бедное
> ядро пыхтело, кряхтело, но в панику кидаться отказывалось. недоработочка-с.

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

>> что касается Поттеринга — udev гентушники форкнули … все остальное его творчество
> удев — не его творчество. это GK-H, кажется, и ещё несколько соратников.

Вы серьезно не понимаете, о чем речь? Вам бы новости почитать - особенно те, что о systemd и udev.

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

392. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра,..."  +/
Сообщение от arisu (ok), 03-Янв-13, 13:05 
> Вы вели речь об ошибках, не предусмотренных программой.

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

> Вы серьезно не понимаете, о чем речь?

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

то, что некий проект слился с неким другим проектом не обозначает автоматически, что один из них становится произведением авторов второго. что тут неясного-то?

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

88. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –4 +/
Сообщение от Аноним (-), 29-Дек-12, 13:14 
Что ты тугой такой, Мауро облажался и исправился, вопрос решен, ошибка ядра исправлена. Кто он тебе, родственник? Родственник, дай рупь, он мне рупь должен был! Юлишь словесами как адвокат наркобарона.
Ответить | Правка | К родителю #67 | Наверх | Cообщить модератору

71. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +2 +/
Сообщение от ананим (?), 29-Дек-12, 12:47 
>2. обработчик ошибки написан без контроля ошибок?
>Для меня является очевидным что обработчик ошибок должен выполнить ровно столько, сколько от него требуется - обработать ошибку

не бывает (не должно быть в принципе) обработчика ошибКИ.
должен быть обработчик ошибОК.
нельзя на одну ошибку реагировать, а на остальные нет.
если ошибка не предвиденная логикой, то должна быть обработка по умолчанию.
нельзя маскировать ошибки, их нужно либо обрабатывать на месте, либо передавать дальше по стэку.
иначе будет как у похтеринга — «стали поступать жалобы пользователей о зависании PulseAudio».

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

80. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от clown (?), 29-Дек-12, 13:01 
На этот же пункт обратил внимание Мауро: программа PulseAudio обрабатывала только код EINVAL, и выдавала ошибку при обработке других кодов. Мауро предложил что это ошибка в PulseAudio, которую требуется устранить. "В ответ на подобные заявления, Линус Торвальдс в достаточно грубой форме устроил мэйнтейнеру показательную "порку", подчеркнув, что главным правилом разработки ядра является недопустимость нарушения работы компонентов на стороне пользователя." Иными словами, г-н Торвальдс прямо заявил что ошибки в ядре он ошибками не считает, по причине того что любая и любая ошибка ядра вызвана ППО. Думаю не нужно объяснять что функции ядра всегда вызываются ППО.
Ответить | Правка | Наверх | Cообщить модератору

90. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +2 +/
Сообщение от Аноним (-), 29-Дек-12, 13:17 
Поздняк метаться, настрочил портянок на весь опеннет, ошибка ядра уже исправлена. Юзерспейс работает как и прежде, до внесения этой ошибки в ядро.
Ответить | Правка | Наверх | Cообщить модератору

100. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +5 +/
Сообщение от ананим (?), 29-Дек-12, 13:28 
во-во, а быдло-код похтеринга так таким и остался.
а тут вальве со стимом всякие грядут и тд, и тп.
во народ матюгатЪся то будет!
и ведь именно на линуса. это его линух квакает, гавкает и течёт, а не похтеринга.
а кто такой похтеринг? не, не знаю.
вот так вот и будет.
Ответить | Правка | Наверх | Cообщить модератору

146. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 29-Дек-12, 15:12 
например тут:
http://steamcommunity.com/app/221410/discussions/0/882966057.../
Ответить | Правка | Наверх | Cообщить модератору

94. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от ананим (?), 29-Дек-12, 13:24 
>На этот же пункт обратил внимание Мауро: программа PulseAudio обрабатывала только код EINVAL, и выдавала ошибку при обработке других кодов.

вот по этому я и шокирован стабильностью пульса. это раз.
второй раз шокирован его попытками лезть за каким-то в uvc.
ну напуркуа, мля?!! есть эльза, нафиг через опу то. поэтому они (эльза с пульсом) видимо так и работают. у кого да, у кого нет.

а сабж с 3.8.0.рк1 на то и рк, чтобы такие мелочи выскакивали.
>"В ответ на подобные заявления, Линус Торвальдс…

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

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

115. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от freehckemail (ok), 29-Дек-12, 13:53 
> На этот же пункт обратил внимание Мауро: программа PulseAudio обрабатывала только код
> EINVAL, и выдавала ошибку при обработке других кодов.

Нет. Между "зависала" и "выдавала ошибку" огромная разница.

> Мауро предложил что
> это ошибка в PulseAudio, которую требуется устранить. "В ответ на подобные
> заявления, Линус Торвальдс в достаточно грубой форме устроил мэйнтейнеру показательную
> "порку", подчеркнув, что главным правилом разработки ядра является недопустимость нарушения
> работы компонентов на стороне пользователя."

Судя по всему, Линуса проблема сильно затронула. Далее он полез в код и обнаружил там откровенный кавардак, о чем он не применул покричать.

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

А не наоборот ли?

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

46. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –3 +/
Сообщение от clown (?), 29-Дек-12, 11:43 
Без анализа кода, твои мысли о правильности использований функций не представляют ценности. На олимпиаде по программированию была поставлена задача определить попадает ли точка с заданными координатами (только целые числа) в геометрическую фигуру высокой сложности. Одним из самых быстрых решений было нарисовать эту фигуру цветом на контрастном фоне и проверить цвет искомой точки. Рисование производилось системными функциями GUI, что обеспечило решению высокую скорость и минимальное количество дописанного кода. Яркий пример разумного использования функций не по назначению.
Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

55. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –1 +/
Сообщение от develop7 (ok), 29-Дек-12, 12:02 
> за каким-то хером пульса (звуковой!!! сервер между прочим) лезет в usb-камеру, где звука в) априори вообще то нет

/me задумчиво посмотрел на USB-камеру со встроенным микрофоном. пойти выбросить, что ли?

UPD: хм, микрофон вроде работает. Но анониму виднее, конечно.

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

147. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от Аноним (-), 29-Дек-12, 15:16 
> /me задумчиво посмотрел на USB-камеру со встроенным микрофоном. пойти выбросить, что ли?
> UPD: хм, микрофон вроде работает. Но анониму виднее, конечно.

и? в видеокартах тоже звуковые чипы распаяны, пусть пульса в DRI лазит!

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

226. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  –1 +/
Сообщение от Аноним (-), 29-Дек-12, 17:00 
>> /me задумчиво посмотрел на USB-камеру со встроенным микрофоном. пойти выбросить, что ли?
>> UPD: хм, микрофон вроде работает. Но анониму виднее, конечно.
> и? в видеокартах тоже звуковые чипы распаяны, пусть пульса в DRI лазит!

Если из-за Мауро и ему подобных работа с этими чипами будет сделана через функции DRI - придется лазить.

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

301. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +/
Сообщение от Аноним (-), 29-Дек-12, 22:47 
> Если из-за Мауро и ему подобных работа с этими чипами будет сделана
> через функции DRI - придется лазить.

если заменить Мауро на Линуса, то всё верно

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

158. "Линус Торвальдс жёстко раскритиковал мэйнтейнера ядра, допус..."  +1 +/
Сообщение от другой аноним (?), 29-Дек-12, 15:31 
> На пальцах — ошибочные ситуации обрабатывает корректно

Как раз некорректно, тебе же в конце новости на пальцах разъяснили - для уже открытого файла, с которым уже идет работа, такой ошибки ядро выдавать не должно. Эта ошибка должна возникать в других ситуациях. Он бы еще при попытке открытия несуществующего файла выдавал ошибку записи в видеопамять или сбой звуковой подсистемы.

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

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

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




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

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