[ruby-core:71761] [Ruby trunk - Bug #11444] STDIN.each_codepoint hangs indefinitely on certain codepoints

From: nagachika00@...
Date: 2015-11-30 17:36:51 UTC
List: ruby-core #71761
Issue #11444 has been updated by Tomoyuki Chikanaga.

Backport changed from 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: REQUIRED to 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: DONE

Backported r51594 into `ruby_2_2` branch at r52804.

----------------------------------------
Bug #11444: STDIN.each_codepoint hangs indefinitely on certain codepoints
https://bugs.ruby-lang.org/issues/11444#change-55171

* Author: Andrew Cantino
* Status: Closed
* Priority: Normal
* Assignee: 
* ruby -v: ruby 2.3.0dev (2015-08-13 trunk 51569) [x86_64-linux]
* Backport: 2.0.0: REQUIRED, 2.1: REQUIRED, 2.2: DONE
----------------------------------------
Piping certain Unicode data into Ruby and calling `each_codepoint` on `STDIN` results in a hang.  Control-c does not exit, but control-z will.  I've tested this in 2.2.0, 2.2.2, and trunk.

Please see https://gist.github.com/cantino/48f977bee6a39e33f80f for reproduction.  There is an example file with various Unicode Emoji characters in it (borrowed from http://apps.timwhitlock.info/emoji/tables/unicode).

I'd like to help fix this if anyone can point me in the right direction.  I fiddled with the file until I found a state where it works if one character is removed from the front of the file, so hopefully that's useful information.



-- 
https://bugs.ruby-lang.org/

In This Thread

Prev Next