9/5 以降に Ruby CI の FreeBSD 13 と 14 が止まる症状があって、特に何もしてないのになんだこれは、と3日くらい集中して調べていた。Ruby CI で動かなくなる、というのは大体が下の2つのケース。
今回は FreeBSD なので下のケースだろう、と ssh して ruby/ruby
をビルドしても普通にビルド出来てしまい、chkbuild をマニュアル実行しても実行できてしまうというのが続いていて頭を抱えていた。
で、何度も実行したり、cron での実行ディレクトリの下で生成されているファイルを眺めていたら、ビルドは成功してログは出力されているけどログをパースして生成される html が更新されてない、ということに気がついて、これはパースするフェーズで死んでいるのか?と当たりをつけて行くことにした。
結論としては、ログのいくつかが180MBというとんでもないサイズになっていて中身をみたら fork の処理を変えた箇所が原因で数万桁の stack trace を出して死ぬという処理があり、この巨大なログをパースできずに OOM で落ちていたというのが Ruby CI が止まっていた原因のようだった。
https://bugs.ruby-lang.org/issues/20734#note-2
これは FreeBSD の上で make btest
などを実行すれば容易に再現するので、後は直すだけ、となってよかった。最初はビルド出来て満足してしまったんだよなあ。
妻が昼飯は外で、と言うので近所にあるイタリアンに行ってパスタを食べてきた。
カウンター含めて 5-6人しか入れない店なんだけど、出てみたら数人が並んで待っていたので、普段来ないけど結構繁盛しているんだなあと感心した。
DLC のアップデートが来てから年単位で積んだままだったゼノブレイド3の追加シナリオ、新たなる未来をクリアした。プレイ時間は30hくらい。
ゼノブレイド1と2の主人公であるところのシュルクとレックスが成長した状態で登場したり、マップのあちこちにゼノブレイドで行ったわ...というところが出てきてなかなかに面白かった。雪山以降はストーリーが良くわからないまま終わってしまった気はするけど、実にゼノブレイドらしいゼノブレイドだなあと思った。
原神の次のバージョンアップまでもう少し時間があるので次はゼルダを進めるかな...。