RX0140

Domínio: Execução

Mensagem de erro

um membro do fan escreveu fora do seu próprio heap: %s

Na mensagem, %s marca um valor que o motor preenche quando levanta o erro.

A história

Um membro do fan escreveu fora do próprio heap, e o motor barrou. Vamos entender. No rush, todos os irmãos da árvore rodam em paralelo, como um fan, sem exceções. A regra de como um membro escreve algo que não é dele é: toda escrita é uma cópia no seu próprio heap. Toda porta de escrita faz essa cópia: um bind, uma regra, um append numa coleção. A cópia fica como uma sombra, e o escritor central a junta no final. Mas, por baixo, os mutadores do substrato conferem de quem é o ser que vão escrever. Se uma escrita escapou das portas e tentou tocar um ser nascido fora do heap do membro, ela é recusada ali. Dois workers escrevendo o mesmo ser ao mesmo tempo seria uma corrida, com um resultado que ninguém saberia nomear. Transformar a corrida em recusa é o motor falando a verdade sobre ela. A mensagem informa a escrita barrada e o ser. Se você constrói o motor, a correção é dar a essa porta o seu COW.

Texto do catálogo de erros do motor do Rush.