Skip to content

Rare SendErrors in Certain Zero #188

Description

@NicEastvillage

SendErrors happen when one thread tries to send a message to another thread, and the other thread does not attempt to receive it. In #183 most SendErrors where resolved by

  • making the master thread receive the final assignments even if not interested
  • making workers stop immediately after receiving a terminate message

However, rare SendErrors still happens. I believe this occurs when worker A sends a message to worker B, and worker B has received the terminate message and shut down, while worker A has just started a task requiring communication with B and missed the terminate message.

In order to handle this, we might need another two passes of the token. One pass, where once a worker receives the token, it stops sending messages to other workers, and a second pass where it receives incoming messages and then shuts down.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions