Skip to content
This repository was archived by the owner on Sep 3, 2024. It is now read-only.
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

Description

@hyperthunk

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions