[erlang-questions] has anyone else seen Erlang 19 break 'bash' after exit?
Igor Clark
igor.clark@REDACTED
Tue Mar 14 21:51:47 CET 2017
Hi Lukas, I just tried with erlang R17 to check, and it seems to work
fine with the newer homebrew version of bash as well as the older
default /bin/bash. So maybe this helps confirm your suspicion.
best,
Igor
On 14/03/2017 15:40, Lukas Larsson wrote:
> Hello,
>
> I think that it may be a change done in Erlang/OTP 18 that causes this
> behaviour. Specifically OTP-12239. Using non-blocking I/O on
> stdin/stdout seems to kind of work, until it doesn't. Different
> platforms and tools handle it very differently.
>
> The only "solution" that I can think of right now is to use dedicated
> read and/or write threads within the VM to handle stdin/stdout, but I
> was hoping to avoid having to do that.
>
> The problem, for those that are interested, is that the O_NONBLOCK
> flag is set on the file description, not the file descriptor. Which
> causes all kinds of problems, I thought I had handled them all, but
> apparently not enough.
>
> Lukas
>
> On Tue, Mar 14, 2017 at 1:35 PM, Igor Clark <igor.clark@REDACTED
> <mailto:igor.clark@REDACTED>> wrote:
>
> Hello Matthias,
>
> Not sure if it's related, but I see bash v4.4.5 terminal I/O get
> really messed up on Mac OSX after the erlang runtime aborts. It
> happens whether through a NIF segfault during dev, or just by
> doing ^C and 'abort'. The terminal input becomes unusable, vim
> buffers don't display roughly half the text; 'reset' makes no
> difference, I have to close the Terminal.app window and start
> over. Haven't had time to dig into it at all, just kind of got
> used to it.
>
> I thought it might be R19, but I switched back to R18 and it still
> happened. Which made me wonder if it's anything to do with tmux,
> but I tried it in a standard Terminal window without tmux, and it
> happened then too. So I tried using the default OSX /bin/bash
> (which is v3.2.57) instead of the homebrew version (4.4.5) - and
> it didn't happen at all.
>
> Which is a long-winded way of saying, maybe this might also be a
> "recent bash" issue, rather than an erlang issue?
>
> Cheers,
> Igor
>
>
> On 13/03/2017 20:32, Matthias Lang wrote:
>
> Hi,
>
> Erlang 19.1 and 19.2 seems to break something to do with terminal
> input on some but not all of my Debian x86-64 machines. I took
> a quick
> look through the recent mailing list archives and haven't seen any
> mention of this. Maybe I missed it. Maybe it's just me.
>
> Example:
>
> | ~ >uname -a
> | Linux hec 4.9.0-2-amd64 #1 SMP Debian 4.9.13-1
> (2017-02-27) x86_64 GNU/Linux
> | ~ >read x
> | hello world
> | ~ >erl
> | Erlang/OTP 19 [erts-8.1] [source] [64-bit] [smp:4:4]
> [async-threads:10] [hipe] [kernel-poll:false]
> |
> | Eshell V8.1 (abort with ^G)
> | 1>
> | BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
> | (v)ersion (k)ill (D)b-tables (d)istribution
> | a
> | ~ >read x
> | bash: read: read error: 0: Resource temporarily unavailable
>
> The "read error: 0: Resource temporarily unavailable" part is
> unexpected.
> Using 'cat' instead of 'read' produces a similar error:
>
> | cat: -: Resource temporarily unavailable
>
> 'strace' tells me something is screwy about stdin:
>
> | read(0, 0x7f1010dbb000, 131072) = -1 EAGAIN
> (Resource temporarily unavailable)
>
> read(2) tells me EAGAIN suggests that stdin has been left in
> with O_NONBLOCK.
> Is that Erlang's problem to clean up, or is that supposed to
> happen on
> program exit? I haven't read up on that.
>
> Doing the same thing on 17.4 works fine.
>
> Debian 3.16.39-1 and erts-8.2.1 produces a related by
> different strangeness:
>
> | 1>
> | BREAK: (a)bort (c)ontinue (p)roc info (i)nfo (l)oaded
> | (v)ersion (k)ill (D)b-tables (d)istribution
> | a
> | $ sh: turning off NDELAY mode
>
> Can anyone else see this? Any idea what's up?
>
> Matt
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED <mailto:erlang-questions@REDACTED>
> http://erlang.org/mailman/listinfo/erlang-questions
> <http://erlang.org/mailman/listinfo/erlang-questions>
>
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED <mailto:erlang-questions@REDACTED>
> http://erlang.org/mailman/listinfo/erlang-questions
> <http://erlang.org/mailman/listinfo/erlang-questions>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20170314/6811bac2/attachment.htm>
More information about the erlang-questions
mailing list