SHIMADA Hirofumi shimada@mstdn.maud.io

この話、オチだけは面白くない(一同笑い

SHIMADA Hirofumi shimada@mstdn.maud.io

GTK+のメインループとその中の処理の話

SHIMADA Hirofumi shimada@mstdn.maud.io

Rubyのコードだけでこの例外を回避しようと取り組み始めた

SHIMADA Hirofumi shimada@mstdn.maud.io

オチがやばくて:簡単に再現できることをあっきぃ氏から教えてもらって、それで一気に進展した

SHIMADA Hirofumi shimada@mstdn.maud.io

実装した個人しかわからない話のようで絶望していた

SHIMADA Hirofumi shimada@mstdn.maud.io

StackOverflowの記述をそのまま日本語化されているだけのページ

SHIMADA Hirofumi shimada@mstdn.maud.io

(中略)コード上で時間が巻き戻るようなことが起こるため、Cから見るとたまったものではない。それを防ぐため rb_protect が使われているとのこと

SHIMADA Hirofumi shimada@mstdn.maud.io

問題の構造体の解説

SHIMADA Hirofumi shimada@mstdn.maud.io

FiberErrorの出る箇所:CRuby内のrb_protect()から、としぁさんがコードを追って実演しながら解説している

SHIMADA Hirofumi shimada@mstdn.maud.io

CのソースなのでもはやRubyの話ではない

SHIMADA Hirofumi shimada@mstdn.maud.io

Rubyにはpryというインタプリタがあり、Rubyのコードが実行できる。show source でRuby ,Cのソースコードが出てくるなど、おもしろい機能がある。

SHIMADA Hirofumi shimada@mstdn.maud.io

最初に実演していたのはバグのクラッシュ実演であった。というわけで追っかけてこのバグのやばさを解説。

SHIMADA Hirofumi shimada@mstdn.maud.io

クラッシュしているところがマルチスレッドなので、一度絶望して半年塩漬けにする(一同笑い

SHIMADA Hirofumi shimada@mstdn.maud.io

FiberError:参考サイトでも役に立たない(一同笑い)。

SHIMADA Hirofumi shimada@mstdn.maud.io

delayer-deferrd 1.1.0を使うと特定の操作でmikutterが落ちる話の詳細を話しますということ。 FiberErrorというレアなエラー。

SHIMADA Hirofumi shimada@mstdn.maud.io

mikutterのissue閲覧タイム:9年前のTwitpic(一同笑い)のとかとかもある

SHIMADA Hirofumi shimada@mstdn.maud.io

mikutter : もうすぐ10年

SHIMADA Hirofumi shimada@mstdn.maud.io

ということで、mikutterで2年間放置された、クラッシュするバグの話

SHIMADA Hirofumi shimada@mstdn.maud.io

8年前に作った雑なクラッシュ報告画面

SHIMADA Hirofumi shimada@mstdn.maud.io

mikutterが早速落ちて一同爆笑