いけむランド

はてダからやってきました

表参道.rb #43 に行ってみた

omotesandorb.connpass.com

LT 枠が空いていたので飛び込みでやってみました。

スライドは用意してなかったので喋りたいことのベースとなる内容を表示したブラウザタブを何枚か用意して、切り替えながら発表しました。


▼ここから

Ruby の最新は 2.6 系なのですが、世の中には公式が配布してるバイナリパッケージがまだ 2.3 系の環境というものもあります。

cygwin.com

というわけで最新に追従してほしいという PR を書いてみました。

github.com

(PR を書いた時は 2.6 系はまだ出てなかった。)

すると中の人から「32 bit 版だけ rdoc 中に SEGV が発生するんだよねー」という返事がありました。

ちなみにチケットはすでにあります。 (← これは喋ってない)

bugs.ruby-lang.org

bugs.ruby-lang.org

手元でも再現したんですけど、cygwin 環境での stack trace のとり方を知らないので、原因がさっぱりわからず、放置気味にしてたところで昨年末に 2.6 が出ました。

2.6 だと 32 bit 版でも rdoc でコケずに make が成功することが確認できたのでやった!と思ってたら test で SEGV が...。

github.com

今度は調べられそうだったのでゴニョゴニョいじってたら、どうも環境変数 RUBY_FIBER_MACHINE_STACK_SIZE がセットされていると SEGV が出ることがわかりました。
(2.5 の rdoc も同様の原因なのかは調べられていないです。)

というわけでとりあえず報告したのですが、このあとどうすればいいのだろう...。

bugs.ruby-lang.org

▲ここまで


これは CI 環境構築の機運ですかね。