5. Отправка сообщений об ошибках#

5. Отправка сообщений об ошибках

5. Отправка сообщений об ошибках

Просьба уведомлять нас об ошибках в Tantor SE. Отчеты об ошибках играют важную роль в повышении надежности Tantor SE, потому что даже самая тщательная проверка не может гарантировать, что все части Tantor SE будут работать на любой платформе в любых обстоятельствах.

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

5.1. Определение ошибок

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

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

  • Программа выдает неправильное выходное значение для любого заданного входного значения.

  • Программа не принимает допустимый ввод (соответствующий документации).

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

  • Tantor SE не удается скомпилировать, собрать или установить в соответствии с инструкциями на поддерживаемых платформах.

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

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

5.2. Содержание сообщения

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

Следующие элементы должны содержаться в каждом отчете об ошибке:

  • Точная последовательность шагов с момента запуска программы, необходимых для воспроизведения проблемы. Это должно быть самодостаточным; недостаточно просто отправить команду SELECT без предшествующих команд CREATE TABLE и INSERT, если вывод должен зависеть от данных в таблицах. У нас нет времени для обратной разработки схемы вашей базы данных, и если нам нужно придумывать собственные данные, мы, вероятно, пропустим проблему.

    Лучший формат для передачи тестового случая касательно проблем, связанных с SQL, - это файл, который можно запустить через фронтенд psql, демонстрирующий проблему. (Убедитесь, что в вашем файле запуска ~/.psqlrc нет ничего). Простой способ создать этот файл - использовать pg_dump для выгрузки объявлений таблиц и данных, необходимых для воспроизведения случая, а затем добавить проблемный запрос. Рекомендуется минимизировать размер примера, но это не обязательное требование. Если ошибка воспроизводима, мы обязательно ее найдем.

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

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

    Примечание

    Если вы передаете сообщение об ошибке, пожалуйста, выгрузите самую подробную форму сообщения. В psql укажите \set VERBOSITY verbose заранее. Если вы выгружаете сообщение из журнала сервера, установите параметр времени выполнения log_error_verbosity в verbose, чтобы все детали были зарегистрированы.

    Примечание

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

  • Выходные данные, которые вы ожидаете, очень важны для состояния.

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

  • Все, что вы делали по-другому от инструкций по установке.

  • Версия Tantor SE. Вы можете выполнить команду SELECT tantor_version(); и SELECT tantor_build(); чтобы узнать версию сервера, к которому вы подключены. Большинство исполняемых программ также поддерживают опцию --version; по крайней мере postgres --version и psql --version должны работать.

  • Информация о платформе. Включает название и версию ядра, библиотеку C, процессор, информацию о памяти и так далее.

Не страшно, если ваше сообщение об ошибке будет достаточно длинным. Лучше всего сразу сообщить все факты.

5.3. Куда сообщать об ошибках

Вы можете отправлять отчеты об ошибках по следующим каналам:

Электронная почта службы поддержки:

Система поддержки клиентов: lk-new.astralinux.ru

Ваш менеджер по работе с клиентами (для корпоративных клиентов)