Я только что нашел ответ:
Супервизор действительно регистрирует выход ошибки как отчет о сбое.
Проблема в том, что оболочка не показывает эти отчеты о сбоях.Просто чтобы сбить меня с толку, он показывает информацию / предупреждения и отчеты об ошибках, но никаких отчетов о сбоях и отчетов о сбоях от супервизора.
Если я загляну в журнал на диске, там будет подробный отчет о сбое:
10> rb:show(4).
CRASH REPORT <0.53.0> 2011-01-20 17:33:52
===============================================================================
Crashing process
initial_call {usb_mux,init,['Argument__1']}
pid <0.53.0>
registered_name []
error_info
{exit,{undef,[{usb_port,get_gw_hw_spec,[<0.59.0>]},
...
Причиной того, что события SASL не отображались на экране, была ошибка в файле -config
, которая выглядела следующим образом:
[{sasl, [
{sasl_error_logger, false}, %% no SASL error logger installed
{error_logger_mf_dir,"./log"},
{error_logger_mf_maxbytes,10485760}, % 10 MB
{error_logger_mf_maxfiles, 10}
]}].
То есть была установлена многофайловая программа регистрации ошибок (все записи error_logger_mf_*
), но нет записи на экране для событий SASL.
Изменение записи, как это, исправило ее:
{sasl_error_logger, tty}, %% SASL reports to tty
Из справочной страницы sasl:
sasl_report_tty_h:
Форматирует и записывает отчеты супервизора, отчеты о сбоях и отчеты о ходе работы в stdio.