let in go block leaks memory

Description

When a let binding gets used across a blocking operation, the binding leaks out of the let.

The stuff binding gets stuck into the the state-machine state. This persists across the recur, until the binding is next encountered.

(In our case, a few GBs had accumuled by that time.)

Ideally, the fields in the state that represent local variables would be nulled when the variables go out of scope.

Environment

core.async 0.3.443

Assignee

Unassigned

Reporter

import

Labels

None

Approval

None

Patch

None

Priority

Major
Configure