Uploaded image for project: 'Erlang/OTP'
  1. Erlang/OTP
  2. ERL-891

Remote Shells can get stuck in compute extensive busy loop

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Help Wanted
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: 21.1
    • Fix Version/s: None
    • Component/s: erts
    • Labels:
      None

      Description

      I originally posted this on the Elixir Forum (https://elixirforum.com/t/remote-shells-going-rogue/20970). The problem seems to be related to ERL-472 but regrettably I am not able currently to easily reproduce it.

      The setup is the following. We have a node running on a machine A. We connect from the same machine multiple remote shells to A and then close the connection to the remote shells (e.g. close TCP connection to machine A) such that the remote shells remain alive but in theory unused.

      After a while we see that the remote shells may become fully consumed in a busy loop. (The "getting stuck" in `group.erl` `more_data/6` (https://github.com/erlang/otp/blob/master/lib/kernel/src/group.erl#L665). The `group.erl` process seems to get many empty messages from `user_drv` of the form `{#PID<0.73.0>, {:data, []}}` causing the load of the remote shell to go up to 100%.

      The annoying part is that we are not able to easily reproduce the issue, but have now run into it a few times.

        Attachments

          Activity

            People

            Assignee:
            otp_team_vm Team VM
            Reporter:
            arnomi Arno Mittelbach
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated: