Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.

Prioritised process mailbox handling can block indefinitely #12

Closed
hyperthunk opened this issue Feb 20, 2017 · 0 comments
Closed

Prioritised process mailbox handling can block indefinitely #12

hyperthunk opened this issue Feb 20, 2017 · 0 comments
Assignees

Comments

@hyperthunk
Copy link
Member

To simulate this, create a sender that simply goes forever $ cast serverPid () and watch your machine run out of memory (while not much else happens).

Control flow has never been part of Erlang's gen_server API, and neither should it be applicable here. However, we won't have a change to notice that we're overloaded if the server never gets around to responding to any of its inputs, and that's what is happening here.

We enter a loop to drain the mailbox, but do not break out of it. There is a policy item that references this situation, but the pserve implementation ignores it!

Notes: this is only broken for prioritised mailboxes, and will be a fairly simple fix.

@hyperthunk hyperthunk self-assigned this Feb 20, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant