LINUX.ORG.RU
ФорумTalks

Эпический неуловимый баг в vim неконец-то найден спустя полтора года. Позор.


0

1

Был некогда славный топик в новостях про переполнение в vim:
http://www.linux.org.ru/news/security/3028734
Много лоровцев успели отписаться, но ни у одного «не воспроизвелось». Мейнтейнер vim в pkgsrc на своём NetBSD-amd64 тоже не увидел проблему, и её условно заморозили. Кстати, вот его сайтец:
http://kuparinen.org/martti/bcard/
Спустя полтора года в рассылку pkgsrc поступила жалоба из канады:
http://www.netbsd.org/cgi-bin/query-pr-single.pl?number=42909
Только после этого мейнтейнер зачесался, и проверил именно на i386, ВНЕЗАПНО обнаружив, что проблема-то и в самом деле не надуманная. После этого он отписался апстриму, и за 4 дня дискуссий проблема была решена. Вот егоофициальная переписка с разработчиками vim (ржач):
http://groups.google.com/group/vim_dev/browse_thread/thread/8365a632168dd54a
А вот финальный патч:
http://groups.google.com/group/vim_dev/browse_thread/thread/1eb041ef35881b73
Наглядно демонстрирует все сайд-эффекты от преимущества открытой безответственной разработки. Стоит ещё отметить, что разработчик vim так и не удосужился первым решить проблему, пока ему со стороны не прислали патч.


А теперь главный вопрос: коллективный разум, имея на руках все факты, может теперь объяснить, ПОЧЕМУ эта проблема с vim в Linux это НЕ воспроизводится?

Ответ на: комментарий от hizel

>ну бывает, что вы сразу на пену исходите

Если почитать рассылку, на которую есть ссылка в новости:

1. Мейнтейнера натыкали носом, сказали как воспроизвести, предоставили всю инфу. Мейнтейнера же заломало искать i386-машину (редкий экземпляр в наше время, да), чтобы всё проверить. Несмотря на это, ему даже предложили удалённый доступ по ssh к машине, где можно поразбираться, но он просто ничего не ответил. И это всё при том, что диагностика была похожей на buffer overflow.

2. Мейнтейнер отписался апстриму, только когда кто-то ещё столкнулся с проблемой, хотя мог (и должен был) это сделать сразу.

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

>No payment == no responsibility?
Ты еще скажи, что тебе за проприетарщину, за которую ты отдал свои кровные, кто-то что-то должен и по первому твоему тявканью будет чинить баги :D

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

> No payment == no responsibility?

Тебя это удивляет? Или в твоем городе от мейнтейнера vim'a зависит работа скорой помощи и МЧС?

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

>за проприетарщину, за которую ты отдал свои кровные, кто-то что-то должен и по первому твоему тявканью будет чинить баги :D

Во-первых, я никогда не платил за проприетарщину. Во-вторых, намёк был тоньше, но ты его не понял. Он состоял в следующем: Ответственный разработчик (и вообще, любой ответственный работник) делает свой труд на совесть вне зависимости от того, платят ему за это или нет. Если же он не может сделать хорошо и на славу, он просто не будет браться, дабы не позориться. Честные и ответственные лица, которые дорожат своей репутацией, никогда не поставят свою подпись или авторство под говнецом, и факт их авторства играет роль «сертификата качества». Вспомни хотя бы как Кнут писал. Заземляя эту дискуссию, могу напомнить, что если ты скажешь начальству «покажите мне где здесь ошибка», когда тебя ткнут носом в дебаг твоей же программы, считай, что «ты там работАЛ».

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

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

anotheranonymous ()

С чего бы он должен ковырять баги, которые возникают у 3.5 пользователей RIP'нувшейся платформы и ОС?

P.S. Расскажи-ка, ответственный пользователь, а сколько багрепортов/патчей отослал ты?

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

Можешь пройтись по всем багтрекерам свободных проектов и потыкать безответственных разрабов носом в открытые баги.

Много ты знаешь известных багов в OpenSSH? В базовой системе OpenBSD? Я имею в виду 1) стейбл 2) подтверждённые баги, которые не исправляются.

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

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

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

>С чего бы он должен ковырять баги, которые возникают у 3.5 пользователей RIP'нувшейся платформы и ОС?

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

P.S. Расскажи-ка, ответственный пользователь, а сколько багрепортов/патчей отослал ты?


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

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

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

В базовой системе OpenBSD?

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

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

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

Ну что ж, давай посмотрим: заходим на страницу
http://www.openssh.com/report.html
Смотрим, куда она там ведёт:
https://bugzilla.mindrot.org/buglist.cgi?bug_status=RESOLVED&product=Portable...
https://bugzilla.mindrot.org/buglist.cgi?bug_id=1706,1677,1588,1648,1611,1573...
Там у всех статус FIXE, RESO? Это намёк?

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

>ам у всех статус FIXE, RESO? Это намёк?
Ты тупой? Что ты пытаешься доказать показывая только пофикшеные баги, если там кроме этих есть еще другие?

anotheranonymous ()

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

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

>Что ты пытаешься доказать показывая только пофикшеные баги, если там кроме этих есть еще другие?

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

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

https://bugzilla.mindrot.org/show_bug.cgi?id=378

Reported:    2002-08-02

Modified:    2004-12-20

внимание, Modified - это первый и единственный ответ. Да, баг наблюдается на IRIX, но почему же он до сих пор не исправлен? Как, у маинтейнера нету ириски под рукой? Ай-ай-ай, как же так? И кстати, почему у автора баг-репорта не запросили доп.инфу?

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

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

не-а. ты нам показал ссылку, которая

list of bugs fixed since the last release

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

>но проблему-то решили, или как?

Решили.

мейнтейнер вообще кому-то что-то должен?


Да, наверное, он чем-то отличается от дяди Васи с улицы в плане «должнотЫ».

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


Передёргиваешь. Они были предоставлены полтора года назад, причём все. Недавно лишь он (мейнтейнер) получил вновь те же доказательства, но от другого репортера. Только после этого он зачесался, и проверил сам такую «экзотическую конфигурацию» как NetBSD+i386, «воспроизведя самостоятельно» давно известные «доказательства».

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

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

>не-а. ты нам показал ссылку, которая

list of bugs fixed since the last release


Внимательнее смотри: http://www.openssh.com/report.html

Check the list of bugs fixed since the last release and known bugs reported since the last release.


Там есть две ссылки, и обе я привёл.

Да, баг наблюдается на IRIX, но почему же он до сих пор не исправлен? Как, у маинтейнера нету ириски под рукой? Ай-ай-ай, как же так?


IRIX - оупенсорс? Корректно ли его равнять с свободнообщедоступными системами типа Linux/BSD? А если я напишу свою ОС на которой не пойдёт ssh, что тогда? Толсто.

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

Там есть две ссылки, и обе я привёл.

Да, вторая ссылка ведет на баги, найденные со времени последнего релиза. Ну-ка, напомните, когда 5.4 вышел? Вам показать страничку с ОТКРЫТЫМИ багами, или сами найдете?

IRIX - оупенсорс?

openssh под нее есть? Есть. Официально? Официально. «Взялся за гуж - не говори, что не дюж» (с)

А если я напишу свою ОС на которой не пойдёт ssh, что тогда?

Вот это как раз толсто.

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

>Да, наверное, он чем-то отличается от дяди Васи с улицы в плане «должнотЫ».

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

если бы хотя бы десять процентов производителей проприетарного софта хоть как-то реагировали на такие вот «мифические» ошибки!

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

не ну нормально, когда баг подтверждается из двух и более источников, сразу и внимания к нему больше.
вот у меня бага на freebsd -STABLE выползла с rc скриптами natd так что удаленный кантупер отпал после обновления. через пару суток смотрю в список рассылки, а там человек написал об этой баге. ну я и приписал, что «здарова братцы, звиняйте мой английский, но у меня такая же бага» и сразу в этой ветке активность и мелтешенье мантейнеров\коммитеров.

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

>Да, вторая ссылка ведет на баги, найденные со времени последнего релиза. Ну-ка, напомните, когда 5.4 вышел?

В OpenBSD-team принято поддерживать только последний релиз, который считается стейбл. Раз релиз вышел, кто не обновился - его проблемы. При посылке PR первым делом требуется, чтобы бага была проверена на последнем релизе со всеми применёнными фиксами.

Check the list of bugs fixed since the last release and known bugs reported since the last release.

Перевожу специально для тебя:
Первая ссылка ведёт на «баги, пофиксенные со времени последнего релиза», а вторая - на «известные баги, отрепорченные со времени выхода последнего релиза». Логично предопложить, что здесь слово known (известные) подразумевает ВСЕ известные, а не только те, о которых отрепортили со времени его выхода (иначе нужно признать что новый релиз выпускается при том, что есть не закрытые репорты, что бред (или репорты малозначительны, типа фича-реквест)). Т.е. ссылка показывает наличие всех проблем с последним релизом. Именно эти ссылки я смотрел, и никаких открытых проблем не увидел.

Так что поэтому мне не ясно что ты имеешь в виду под

Вам показать страничку с ОТКРЫТЫМИ багами, или сами найдете?

cryptos ()

>>именно на i386

i386 не нужно.

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

>openssh под нее есть? Есть. Официально? Официально. «Взялся за гуж - не говори, что не дюж» (с)

Чаще пишут ни к чему не обязывающую фразу «it was reported about succesful run also on the systems: <list>»

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

>если бы хотя бы десять процентов производителей проприетарного софта хоть как-то реагировали на такие вот «мифические» ошибки!

Ошибка была не мифическая. Она выоезала бы постоянно и у любого, кто использует vim на netbsd на i386 (самая распространённая конфигурация). В связи с этим мне остаётся только гадать, почему никто не писал о репортах.

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

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

Это всё прекрасно, если бы мейнтейнер в итоге так и сказал: извини, я занят, пока об этой же проблеме не напишут другие, я на это тратить время не буду. Вместо этого, он просто замолчал, когда ему предложили воспользоваться ssh и поковыраяться самому, раз он НИКАК не может найти на свете i386-машину. Т.е. вы говорите челу о какой-то проблеме, а он молча разворачивается и уходит, и это при том, что он назначен ответственным за решение этих проблем.

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

> Она выоезала бы постоянно и у любого, кто использует vim на netbsd на i386 (самая распространённая конфигурация). В связи с этим мне остаётся только гадать, почему никто не писал о репортах.

потому что таковых всего двое?

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

>Перевожу специально для тебя:

Спасибо, я как-нибудь сам справлюсь.

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

Именно так оно и происходит. Есть release-critical баги, которые закрываются в обязательном порядке, а есть такие, на которые просто забивают.

Так что поэтому мне не ясно что ты имеешь в виду под

Вам показать страничку с ОТКРЫТЫМИ багами, или сами найдете?

https://bugzilla.mindrot.org/buglist.cgi?product=Portable+OpenSSH&bug_status=NEW

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

>потому что таковых всего двое?

По моим оценка во всём мире работает около 10ти тысяч машин с NetBSD. Логично предположить, что из них больше 2ух с i386 (ps: бага никак не связана с локализацией vim, проявляется при дефолтной сборке из портов).

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

>https://bugzilla.mindrot.org/buglist.cgi?product=Portable+OpenSSH&bug_status=NEW

Абсолютно не репрезентативно. Ткнул в первые 5 штук: всё это либо пропозалы, либо экзотика типа AIX. Я же выше просил 1) баги 2) баги, которые в самом openssh, а не в том, что он не подружился с данной экзотической конфигурацией (могу напомнить, что vim-баг, обсуждаемый теме топика, был в самом vim, и не проявлялся в друг ОС/архитектурах, лишь по чистой случайности).

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

>>если бы хотя бы десять процентов производителей проприетарного софта хоть как-то реагировали на такие вот «мифические» ошибки!

Ошибка была не мифическая. Она выоезала бы постоянно и у любого, кто использует vim на netbsd на i386 (самая распространённая конфигурация). В связи с этим мне остаётся только гадать, почему никто не писал о репортах

Для него она была вполне мифической. Самая распространенная конфигурация на netBSD и никто кроме одного персонажа об этом не репортит. не странно ли?

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

>Для него она была вполне мифической. Самая распространенная конфигурация на netBSD и никто кроме одного персонажа об этом не репортит. не странно ли?

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

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

>там линукса и фряхи как грязи. https://bugzilla.mindrot.org/show_bug.cgi?id=1436

Platform:    All Linux


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

cryptos ()

BSD уже настолько RIP, что даже мейнтейнеры там мертвые. :)

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

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

eugene2k ()

Одни дебилы остались на рипнутой платформе. А сразу Брэму написать что, мама не велела?

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

>а можно ли поинтересоваться кому должен майнтайнер вима и что еще он должен кроме этого?

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

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