Azolo/websockex

Inbound messages halt after a few seconds on erts-10.3

bfolkens opened this issue · 6 comments

I began noticing a strange issue when connecting / receiving messages after upgrading to erts-10.3. Originally noticed the issue when changing a docker image base from elixir:1.8.0-alpine to elixir:1.8.1-alpine, and did some troubleshooting to isolate that it was the erts-10.3 upgrade from the 10.2 series. Neither the underlying os change (base, -slim, etc) seems to matter, and in fact, the same issue occurs on Mac OSX between the different erts versions. In other words, Elixir 1.8.1 works ok, so long as erts-10.2.x is involved, instead of erts-10.3.

All tested versions of websockex appear to be affected (0.2.x, 0.3.x, 0.4.x).

I've assembled a toy example here:
https://github.com/bfolkens/socketfail

I chose a relatively active public websocket channel (BitMEX), and constructed a very bare test case using mostly example code from the Websockex and Elixir docs. After an initial burst of activity, the responses stop when using the elixir-1.8.1 base image. However, when the base image is switched to elixir-1.8.0, the example continues to run indefinitely.

I confirm the issue, I was having an hard time to understand why my code wasn't working... thank you. downgrading to Erts 10.2 fixes the issue on OS X

Azolo commented

Awesome, thanks for the report. I'll look into it.

I can also confirm that downgrading to erts-10.2 (by installing opt 21.2) fixes this issue.

Looks like this might be related to #84 since running my repro in a Docker container running 1.8.0 has no issues at all

Azolo commented

I think this is fixed.