В отчете о сбое Erlang SASL, что именно означает поле «сообщения:»?

#erlang #error-logging #sasl

#erlang #регистрация ошибок #sasl

Вопрос:

Является ли поле сообщений в отчете о сбое sasl текущим содержимым почтового ящика сообщений, то есть неотчитанных сообщений?

Или это история сообщений, последние полученные сообщения?

Если в нем отображаются полученные сообщения, в каком порядке они отображаются?

 =CRASH REPORT==== 8-May-2011::09:00:38 ===
  crasher:
    initial call: most_msgs:-connect/4-fun-0-/0
    pid: <0.181.0>
    registered_name: []
    exception exit: {tx_succ_timeout,mcm}
      in function  most_msgs:wait_tx_succ/4
    ancestors: [<0.178.0>,<0.177.0>,<0.175.0>,<0.174.0>,<0.173.0>,<0.172.0>]
    messages: [{send,{most_mcm,{most_fdh,mcm,undefined,undefined,968,6,255},
                                  80,set,undefined,undefined,
                                  <<244,239,62,2>>}},
                  {recv,{most_icm,768,status,<<2>>}},
                  {recv,{most_fifo_status,mcm,0,net_off,1}},
                  {send,{most_mcm,{most_fdh,mcm,undefined,undefined,968,6,255},
                                  80,set,undefined,undefined,
                                  <<244,223,62,128>>}},
  

Комментарии:

1. используйте это «erlang:process_info(list_to_pid(PID),message_queue_len).» во время выполнения, чтобы проверить, не перегружается ли почтовый ящик неполученными сообщениями.. Я думаю, что это было содержимое почтового ящика до сбоя.

Ответ №1:

http://www.erlang.org/doc/man/erlang.html#process_info-2

{сообщения, MessageQueue}

MessageQueue — это список сообщений процессу, которые еще не были обработаны.


Большая часть информации поступает из process_info (библиотека /stdlib/src/proc_lib.erl). Однако не уверен в порядке сообщений.

Ответ №2:

это сообщения в очереди сообщений на момент сбоя процесса.

Комментарии:

1. Есть какие-либо ссылки? У меня тоже есть догадка, но я не нашел документально подтвержденного, как это на самом деле.

2. Только опыт и логика, поскольку на самом деле это не может быть ничем другим. Была бы серьезная нагрузка на память, если бы обработанные сообщения сохранялись для всех процессов.