A.6. Что сообщать

Вам необходимо включить лог, конфигурацию или примеры файлов в сообщение об ошибке. Если что-то из этого большое, то лучше загрузить это на наш HTTP сервер в сжатом виде (предпочтительно gzip или bzip2) и включить в сообщение об ошибке только путь и имя файла. На наших рассылках стоит ограничение размера сообщения в 80КБ. Если у Вас что-то большее, то сожмите или загрузите это.

A.6.1. Системная информация

  • Ваш дистрибутив Linux или операционная система и версия, например:

    • Red Hat 7.1

    • Slackware 7.0 + пакеты разработки из 7.1 ...

  • версию ядра:

    uname -a

  • версию libc:

    ls -l /lib/libc[.-]*

  • версии gcc и ld:

    gcc -v
    ld -v

  • версия binutils:

    as --version

  • Если у Вас проблемы с полноэкранным режимом:

    • Тип оконного менеджера и версия

  • Если у Вас проблема с XVIDIX:

    • глубина цвета X'ов:

      xdpyinfo | grep "depth of root"

  • Если глючит только GUI:

    • версия GTK

    • версия GLIB

    • ситуация с GUI, в которых проявляется проблема

A.6.2. Аппаратура и драйверы

  • Информация о CPU (это сработает только под Linux):

    cat /proc/cpuinfo

  • Производитель и модель видео карты, например:

    • ASUS V3800U чип: nVidia TNT2 Ultra pro 32MB SDRAM

    • Matrox G400 DH 32MB SGRAM

  • Тип драйвера и версия, например:

    • Встроенный в X'ы

    • nVidia 0.9.623

    • Utah-GLX CVS 2001-02-17

    • DRI из X 4.0.3

  • Тип и драйвер звуковой карты, например:

    • Creative SBLive! Gold с OSS драйверами от oss.creative.com

    • Creative SB16 с OSS драйверами из ядра

    • GUS PnP с ALSA OSS эмуляцией

  • Если Вы сомневаетесь, на Linux системах включите вывод lspci -vv.

A.6.3. Проблемы конфигурации

Если Вы получаете ошибку при выполнении ./configure, или если автоопределение чего-то не срабатывает, прочитайте config.log . Там Вы можете обнаружить ответ, например если у Вас стоят несколько версий одной библиотеки, или если Вы забыли установить пакет разработки (тот самый, с суффиксом -dev). Если Вы думаете, что это ошибка, включите в сообщение файл config.log.

A.6.4. Проблемы компиляции

Пожалуйста, включите эти файлы:

  • config.h

  • config.mak

A.6.5. Проблемы при воспроизведении

Пожалуйста, включите вывод MPlayer'а с уровнем "избыточности" [verbose] 1, но запомните: не сокращайте вывод, когда Вы его вставляете в почту. Разработчикам понадобятся все сообщения, чтобы правильно диагностировать проблему. Вы можете направить вывод в файл, например так:

mplayer -v опции имя-файла > mplayer.log 2>&1

Если проблема специфична для одного или нескольких файлов, пожалуйста, загрузите проблемные файлы на: http://streams.videolan.org/upload/

Также загрузите маленький текстовый файл с базовым именем как у Вашего файла и расширением .txt. Опишите проблему, возникающую у Вас с соответствующим файлом и включите Ваш электронный адрес и вывод MPlayer'а с уровнем "избыточности" 1. Обычно первых 1-5 МБ файла бывает достаточно, чтобы воспроизвести проблему, но чтобы быть уверенными, мы просим Вас сделать:

dd if=Ваш-файл of=малый-файл bs=1024k count=5

Это запишет первые 5 МБ 'Вашего-файла' в файл 'малый-файл'. Теперь снова попытайтесь с эти маленьким файлом, и если проблема все ещё проявляется, тогда этого примера будет достаточно для нас. Пожалуйста, никогда не отсылайте эти файлы по почте! Загрузите его и отошлите только путь/имя файла на FTP-сервере. Если файл доступен по сети, тогда просто пришлите точный URL, и этого будет достаточно.

A.6.6. Падения

Вы должны запустить MPlayer внутри gdb и прислать нам полный вывод, или , если у Вас есть дамп поломки core, Вы можете извлечь необходимую полезную информацию из файла core. Вот как:

A.6.6.1. Как сохранить информацию о воспроизводимом падении

Перекомпилируйте MPlayer с включённым кодом отладки:

./configure --enable-debug=3
make

и запустите MPlayer внутри gdb:

gdb ./mplayer

Теперь Вы в gdb. Наберите:

run -v опции-для-mplayer имя-файла

и воспроизведите крах программы. Как только Вы это сделаете, gdb вернёт Вас к приглашению командной строки, где Вы должны набрать

bt
disass $pc-32,$pc+32
info all-registers

A.6.6.2. Как извлечь полезную информацию из дампа core

Создайте следующий командный файл:

bt
disass $pc-32,$pc+32
info all-registers

Теперь просто выполните такую команду:

gdb mplayer --core=core -batch --command=командный-файл > mplayer.bug