RX0321

领域: 执行

错误消息

message[] 发往 %s:信件无法写入发送者自己的堆(%s)

消息中的 %s 表示引擎抛出错误时填入的具体内容。

小故事

你发了一条消息,引擎却说:信件无法写进你自己的堆。这里有个很美的规则:每个进程只在自己的堆里读和写。要发消息,你得先在自己家里把信写好,再请 fedex 送出去。如果你自己家里已经没地方放这封信了,比如内存用光了,或者写信的进程本身已经不在了,那么根本就没有信可送。引擎不会假装发出去了,因为一句假的已发送,比一个真实的错误糟糕得多。括号里会写出堆给出的具体原因。小例子:一个已经结束的进程还想发消息。修法是先查明是内存不足,还是发信的进程已经结束了,再对症处理。

文本来自 Rush 引擎的错误目录。