comparison DOCS/xml/ru/bugreports.xml @ 28557:218bc88cefbb

Synced with r28201.
author bircoph
date Sun, 15 Feb 2009 14:46:32 +0000
parents 1bd23f47e5d0
children 80ecd60e6808
comparison
equal deleted inserted replaced
28556:85d1ab476ad5 28557:218bc88cefbb
1 <?xml version="1.0" encoding="utf-8"?> 1 <?xml version="1.0" encoding="utf-8"?>
2 <!-- synced with r23225 --> 2 <!-- synced with r28201 -->
3 <appendix id="bugreports"> 3 <appendix id="bugreports">
4 <title>Как сообщать об ошибках</title> 4 <title>Как сообщать об ошибках</title>
5 5
6 <para> 6 <para>
7 Хорошие сообщения об ошибках вносят значительный вклад в разработку любого 7 Хорошие сообщения об ошибках вносят значительный вклад в разработку любого
8 программного продукта. Но, как и написание хорошей программы, хорошее сообщение 8 программного продукта. Но, как и написание хорошей программы, хорошее сообщение
9 об ошибке включает в себя некую долю работы. Пожалуйста, осознайте, что 9 об ошибке включает в себя некую долю работы. Пожалуйста, осознайте, что
10 большинство разработчиков &mdash; занятые люди, получающие огромное количество 10 большинство разработчиков &mdash; занятые люди, получающие огромное количество
11 писем. Поэтому, хотя Ваши отзывы необходимы для улучшения <application>MPlayer</application>'а, хотя 11 писем. Поэтому, хотя Ваши отзывы необходимы для улучшения <application>MPlayer</application>'а, хотя
12 они очень приветствуются, пожалуйста поймите, что Вы должны предоставить 12 они очень приветствуются, пожалуйста поймите, что Вы должны предоставить
13 <emphasis role="bold">Всю</emphasis> требуемую нами информацию, поэтому точно 13 <emphasis role="bold">всю</emphasis> требуемую нами информацию, поэтому точно
14 следуйте инструкциям в этом документе. 14 следуйте инструкциям в этом документе.
15 </para> 15 </para>
16 16
17 17
18 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - --> 18 <!-- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -->
20 20
21 <sect1 id="bugreports_security"> 21 <sect1 id="bugreports_security">
22 <title>Отчеты об ошибках безопасности</title> 22 <title>Отчеты об ошибках безопасности</title>
23 23
24 <para> 24 <para>
25 В случае, если вы нашли уязвимость и хотите позволить нам исправить ее до того, как она будет 25 В случае, если Вы нашли уязвимость и хотите позволить нам исправить ее до того, как она будет
26 обнародована, мы будем рады получить ваше уведомление по адресу 26 обнародована, мы будем рады получить Ваше уведомление по адресу
27 <ulink url="mailto:&#115;&#101;&#99;&#117;&#114;&#105;&#116;&#121;&#64;&#109;&#112;&#108;&#97;&#121;&#101;&#114;&#104;&#113;&#46;&#104;&#117;">&#115;&#101;&#99;&#117;&#114;&#105;&#116;&#121;&#64;&#109;&#112;&#108;&#97;&#121;&#101;&#114;&#104;&#113;&#46;&#104;&#117;</ulink>. 27 <ulink url="mailto:&#115;&#101;&#99;&#117;&#114;&#105;&#116;&#121;&#64;&#109;&#112;&#108;&#97;&#121;&#101;&#114;&#104;&#113;&#46;&#104;&#117;">&#115;&#101;&#99;&#117;&#114;&#105;&#116;&#121;&#64;&#109;&#112;&#108;&#97;&#121;&#101;&#114;&#104;&#113;&#46;&#104;&#117;</ulink>.
28 Пожалуйста добавьте [SECURITY] или [ADVISORY] к теме письма. 28 Пожалуйста добавьте [SECURITY] или [ADVISORY] к теме письма.
29 Убедитесь, что ваш отчет содержит полный и подробный анализ ошибки. 29 Убедитесь, что Ваш отчет содержит полный и подробный анализ ошибки.
30 Желательно также прислать и исправление уязвимости. 30 Желательно также прислать и исправление уязвимости.
31 Пожалуйста, не откладывайте отчет для написания подтверждающего ошибку эксплойта. 31 Пожалуйста, не откладывайте отчет для написания подтверждающего ошибку эксплойта.
32 Вы можете отослать его позже другим письмом. 32 Вы можете отослать его позже другим письмом.
33 </para> 33 </para>
34 </sect1> 34 </sect1>
62 пошаговая процедура определения момента возникновения ошибки. 62 пошаговая процедура определения момента возникновения ошибки.
63 Но она <emphasis role="bold">не для</emphasis> рядовых пользователей. 63 Но она <emphasis role="bold">не для</emphasis> рядовых пользователей.
64 </para> 64 </para>
65 65
66 <para> 66 <para>
67 Во-первых, вам нужно получить исходный код MPlayer из Subversion. 67 Во-первых, Вам нужно получить исходный код MPlayer из Subversion.
68 Инструкции могут быть найдены в 68 Инструкции могут быть найдены в
69 <ulink url="http://www.mplayerhq.hu/design7/dload.html#svn">разделе Subversion 69 <ulink url="http://www.mplayerhq.hu/design7/dload.html#svn">разделе Subversion
70 страницы закачки</ulink>. 70 страницы закачки</ulink>.
71 </para> 71 </para>
72 72
73 <para> 73 <para>
74 После этого в каталоге mplayer/ вы будете иметь образ дерева Subversion. 74 После этого в каталоге mplayer/ Вы будете иметь образ дерева Subversion.
75 Теперь обновите этот образ на желаемую дату: 75 Теперь обновите этот образ на желаемую дату:
76 <screen> 76 <screen>
77 cd mplayer/ 77 cd mplayer/
78 svn update -r {"2004-08-23"} 78 svn update -r {"2004-08-23"}
79 </screen> 79 </screen>
80 Формат даты: YYYY-MM-DD HH:MM:SS. 80 Формат даты: YYYY-MM-DD HH:MM:SS.
81 Использование этого формата, гарантирует, что вы сможете извлечь патчи по дате их 81 Использование этого формата, гарантирует, что Вы сможете извлечь патчи по дате их
82 внесения, которые указаны в 82 внесения, которые указаны в
83 <ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-cvslog/">архиве MPlayer-cvslog</ulink>. 83 <ulink url="http://lists.mplayerhq.hu/pipermail/mplayer-cvslog/">архиве MPlayer-cvslog</ulink>.
84 </para> 84 </para>
85 85
86 <para> 86 <para>
91 </screen> 91 </screen>
92 </para> 92 </para>
93 93
94 <para> 94 <para>
95 Для непрограммистов, читающих эту страницу, сообщим, то самый быстрый способ найти место 95 Для непрограммистов, читающих эту страницу, сообщим, то самый быстрый способ найти место
96 возникновения ошибки - использование бинарного поиска, т.е. поиск даты, 96 возникновения ошибки &mdash; использование бинарного поиска, т.е. поиск даты,
97 деля интервал поиска пополам раз за разом. 97 деля интервал поиска пополам раз за разом.
98 Например, если проблема возникла в 2003 году, начните с середины года и 98 Например, если проблема возникла в 2003 году, начните с середины года и
99 выясните присутствует ли проблема. Если да, то переходите к проверке 99 выясните присутствует ли проблема. Если да, то переходите к проверке
100 начала Апреля, иначе - к началу Октября. Повторяйте этот процесс, уменьшая интервал 100 начала Апреля, иначе &mdash; к началу Октября. Повторяйте этот процесс, уменьшая интервал
101 поиска вдвое, пока не выясните искомую дату. 101 поиска вдвое, пока не выясните искомую дату.
102 </para> 102 </para>
103 103
104 <para> 104 <para>
105 Если у вас имеется достаточно свободного места на жестком диске (полная 105 Если у Вас имеется достаточно свободного места на жестком диске (полная
106 компиляция требует около 100Мб, или 300-350 если включена отладочная 106 компиляция требует около 100Мб, или 300-350 если включена отладочная
107 информация), скопируйте последнюю работающую версию перед обновлением, 107 информация), скопируйте последнюю работающую версию перед обновлением,
108 это сэкономит время при необходимости вернуться назад. 108 это сэкономит время при необходимости вернуться назад.
109 (Как правило необходимо выполнять 'make distclean' до перекомпиляции 109 (Как правило необходимо выполнять 'make distclean' до перекомпиляции
110 более ранней версии, поэтому при отсутствии сохраненной копии 110 более ранней версии, поэтому при отсутствии сохраненной копии
111 вам придется перекомпилировать весь проект.) 111 Вам придется перекомпилировать весь проект.)
112 </para> 112 </para>
113 113
114 <para> 114 <para>
115 Как только вы нашли дату, продолжайте поиск, используя архив mplayer-cvslog 115 Как только Вы нашли дату, продолжайте поиск, используя архив mplayer-cvslog
116 (отсортированный по дате) до получения более точного времени, включая 116 (отсортированный по дате) до получения более точного времени, включая
117 час, минуту, секунду: 117 час, минуту, секунду:
118 <screen> 118 <screen>
119 svn update -r {"2004-08-23 15:17:25"} 119 svn update -r {"2004-08-23 15:17:25"}
120 </screen> 120 </screen>
121 Это позволит легко выделить патч, явившийся источником проблемы. 121 Это позволит легко выделить патч, явившийся источником проблемы.
122 </para> 122 </para>
123 123
124 <para> 124 <para>
125 Если вы нашли нужный патч, то вы практически победили; сообщите о нем в 125 Если Вы нашли нужный патч, то Вы практически победили; сообщите о нем в
126 <ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilla</ulink> или 126 <ulink url="http://bugzilla.mplayerhq.hu/">MPlayer Bugzilla</ulink> или
127 подпишитесь на 127 подпишитесь на
128 <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-users</ulink> 128 <ulink url="http://lists.mplayerhq.hu/mailman/listinfo/mplayer-users">MPlayer-users</ulink>
129 и отправте сообщение туда. 129 и отправте сообщение туда.
130 Есть шанс, что автор исправит ошибку. 130 Есть шанс, что автор исправит ошибку.
234 Вам необходимо включить лог, конфигурацию или примеры файлов в сообщение 234 Вам необходимо включить лог, конфигурацию или примеры файлов в сообщение
235 об ошибке. Если что-то из этого большое, то лучше загрузить это на наш 235 об ошибке. Если что-то из этого большое, то лучше загрузить это на наш
236 <ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">FTP сервер</ulink> 236 <ulink url="ftp://upload.mplayerhq.hu/MPlayer/incoming/">FTP сервер</ulink>
237 в сжатом виде (предпочтительно gzip или bzip2) и включить в сообщение 237 в сжатом виде (предпочтительно gzip или bzip2) и включить в сообщение
238 об ошибке только путь и имя файла. На наших рассылках стоит ограничение размера 238 об ошибке только путь и имя файла. На наших рассылках стоит ограничение размера
239 сообщения в 80Кб. Если у Вас что-то большее, то сожмите или загрузите это. 239 сообщения в 80КБ. Если у Вас что-то большее, то сожмите или загрузите это.
240 </para> 240 </para>
241 241
242 <!-- ********** --> 242 <!-- ********** -->
243 243
244 <sect2 id="bugreports_system"> 244 <sect2 id="bugreports_system">
368 368
369 <sect2 id="bugreports_playback"> 369 <sect2 id="bugreports_playback">
370 <title>Проблемы при воспроизведении</title> 370 <title>Проблемы при воспроизведении</title>
371 <para> 371 <para>
372 Пожалуйста, включите вывод <application>MPlayer</application>'а с уровнем 372 Пожалуйста, включите вывод <application>MPlayer</application>'а с уровнем
373 "многословности" [verbose] 1, но запомните: <emphasis role="bold">не 373 "избыточности" [verbose] 1, но запомните: <emphasis role="bold">не
374 сокращайте вывод</emphasis>, когда Вы его вставляете в почту. Разработчикам 374 сокращайте вывод</emphasis>, когда Вы его вставляете в почту. Разработчикам
375 понадобятся все сообщения, чтобы правильно диагностировать проблему. Вы можете 375 понадобятся все сообщения, чтобы правильно диагностировать проблему. Вы можете
376 направить вывод в файл, например так: 376 направить вывод в файл, например так:
377 <screen> 377 <screen>
378 mplayer -v <replaceable>options</replaceable> <replaceable>filename</replaceable> &gt; mplayer.log 2&gt;&amp;1 378 mplayer -v <replaceable>опции</replaceable> <replaceable>имя-файла</replaceable> &gt; mplayer.log 2&gt;&amp;1
379 </screen> 379 </screen>
380 </para> 380 </para>
381 381
382 <para> 382 <para>
383 Если проблема специфична для одного или нескольких файлов, 383 Если проблема специфична для одного или нескольких файлов,
386 </para> 386 </para>
387 387
388 <para> 388 <para>
389 Также загрузите маленький текстовый файл с базовым именем как у Вашего файла и 389 Также загрузите маленький текстовый файл с базовым именем как у Вашего файла и
390 расширением <filename>.txt</filename>. Опишите проблему, возникающую у Вас 390 расширением <filename>.txt</filename>. Опишите проблему, возникающую у Вас
391 с соответствующим файлом и включите ваш электронный адрес и вывод 391 с соответствующим файлом и включите Ваш электронный адрес и вывод
392 <application>MPlayer</application>'а 392 <application>MPlayer</application>'а
393 с уровнем "многословности" 1. Куска файла размером 1-5 Мб обычно 393 с уровнем "избыточности" 1. Обычно первых 1-5 МБ файла
394 бывает достаточно, чтобы воспроизвести проблему, но чтобы быть уверенными, 394 бывает достаточно, чтобы воспроизвести проблему, но чтобы быть уверенными,
395 мы просим вас сделать: 395 мы просим Вас сделать:
396 <screen> 396 <screen>
397 dd if=<replaceable>yourfile</replaceable> of=<replaceable>smallfile</replaceable> bs=1024k count=5 397 dd if=<replaceable>Ваш-файл</replaceable> of=<replaceable>малый-файл</replaceable> bs=1024k count=5
398 </screen> 398 </screen>
399 Это запишет первые 5 Мб файла '<emphasis role="bold">your-file</emphasis>' и 399 Это запишет первые 5 МБ '<emphasis role="bold">Вашего-файла</emphasis>'
400 запишет в файл '<emphasis role="bold">small-file</emphasis>'. Теперь снова 400 в файл '<emphasis role="bold">малый-файл</emphasis>'. Теперь снова
401 попытайтесь с эти маленьким файлом, и если проблема все ещё проявляется, 401 попытайтесь с эти маленьким файлом, и если проблема все ещё проявляется,
402 тогда этого примера будет достаточно для нас. Пожалуйста, 402 тогда этого примера будет достаточно для нас. Пожалуйста,
403 <emphasis role="bold">никогда</emphasis> не отсылайте эти файлы по почте! 403 <emphasis role="bold">никогда</emphasis> не отсылайте эти файлы по почте!
404 Загрузите его и отошлите только путь/имя файла не FTP-сервере. Если файл 404 Загрузите его и отошлите только путь/имя файла на FTP-сервере. Если файл
405 доступен по сети, тогда просто пришлите <emphasis role="bold">точный</emphasis> 405 доступен по сети, тогда просто пришлите <emphasis role="bold">точный</emphasis>
406 URL, и этого будет достаточно. 406 URL, и этого будет достаточно.
407 </para> 407 </para>
408 </sect2> 408 </sect2>
409 409
410 <!-- ********** --> 410 <!-- ********** -->
411 411
412 <sect2 id="bugreports_crash"> 412 <sect2 id="bugreports_crash">
413 <title>Краши[crash]</title> 413 <title>Падения</title>
414 <para> 414 <para>
415 Вы должны запустить <application>MPlayer</application> внутри <command>gdb</command> 415 Вы должны запустить <application>MPlayer</application> внутри <command>gdb</command>
416 и прислать нам полный вывод, или , если у Вас есть <filename>core</filename> 416 и прислать нам полный вывод, или , если у Вас есть дамп поломки
417 dump поломки, Вы можете извлечь необходимую полезную информацию из файла 417 <filename>core</filename>, Вы можете извлечь необходимую полезную информацию из файла
418 core. Вот как: 418 core. Вот как:
419 </para> 419 </para>
420 420
421 421
422 <sect3 id="bugreports_debug"> 422 <sect3 id="bugreports_debug">
423 <title>Как сохранить информацию о воспроизводимом краше</title> 423 <title>Как сохранить информацию о воспроизводимом падении</title>
424 424
425 <para> 425 <para>
426 Перекомпилируйте <application>MPlayer</application> с включённым кодом отладки: 426 Перекомпилируйте <application>MPlayer</application> с включённым кодом отладки:
427 <screen> 427 <screen>
428 ./configure --enable-debug=3 428 ./configure --enable-debug=3
429 make 429 make
430 </screen> 430 </screen>
431 и запустите <application>MPlayer</application> внутри gdb: 431 и запустите <application>MPlayer</application> внутри gdb:
432 <screen>gdb ./mplayer</screen> 432 <screen>gdb ./mplayer</screen>
433 Теперь вы в gdb. Наберите: 433 Теперь Вы в gdb. Наберите:
434 <screen> 434 <screen>
435 run -v <replaceable>опции-для-mplayer</replaceable> <replaceable>имя-файла</replaceable> 435 run -v <replaceable>опции-для-mplayer</replaceable> <replaceable>имя-файла</replaceable>
436 </screen> 436 </screen>
437 и воспроизведите краш. Как только Вы это сделаете, gdb вернёт Вас к приглашению 437 и воспроизведите крах программы. Как только Вы это сделаете, gdb вернёт Вас к приглашению
438 командной строки, где Вы должны набрать 438 командной строки, где Вы должны набрать
439 <screen> 439 <screen>
440 bt 440 bt
441 disass $pc-32 $pc+32 441 disass $pc-32 $pc+32
442 info all-registers 442 info all-registers
444 </para> 444 </para>
445 </sect3> 445 </sect3>
446 446
447 447
448 <sect3 id="bugreports_core"> 448 <sect3 id="bugreports_core">
449 <title>Как извлечь полезную информацию из дампа [core dump]</title> 449 <title>Как извлечь полезную информацию из дампа core</title>
450 450
451 <para> 451 <para>
452 Создайте следующий командный файл: 452 Создайте следующий командный файл:
453 <screen> 453 <screen>
454 bt 454 bt
471 <sect1 id="bugreports_advusers"> 471 <sect1 id="bugreports_advusers">
472 <title>Я знаю, что я делаю...</title> 472 <title>Я знаю, что я делаю...</title>
473 <para> 473 <para>
474 Если Вы создали правильное сообщение об ошибке так, как рассказано выше, и Вы 474 Если Вы создали правильное сообщение об ошибке так, как рассказано выше, и Вы
475 уверены, что это ошибка в <application>MPlayer</application>'е, а не ошибка компилятора или плохой файл, 475 уверены, что это ошибка в <application>MPlayer</application>'е, а не ошибка компилятора или плохой файл,
476 Вы уже прочли всю документацию и не можете найти решение, ваши звуковые драйвера 476 Вы уже прочли всю документацию и не можете найти решение, Ваши звуковые драйвера
477 в порядке, тогда Вы можете подписаться на рассылку mplayer-advusers и прислать 477 в порядке, тогда Вы можете подписаться на рассылку mplayer-advusers и прислать
478 сообщение об ошибке туда, чтобы получить более точный и быстрый ответ. 478 сообщение об ошибке туда, чтобы получить более точный и быстрый ответ.
479 </para> 479 </para>
480 480
481 <para> 481 <para>