トップ «前の日記(2024/09/29 (日) ) 最新 次の日記(2024/10/01 (火) )» 編集 RSS feed

HsbtDiary


2024/09/30 (月) [長年日記]

Ruby の snapshot 作成スクリプトが壊れていたので直した

Ruby の開発では、PR やコミットごとに実行される CI とは別に daily でリリース用の snapshot パッケージが作成できるか、それらのテストが通るか、などをチェックしているのだけど、週末を挟んで snapshot 作成のスクリプトが壊れていたので調べて直した。

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

おそらくは ubuntu-latest でインストールされる 7zip のバージョンが変わったから、などが原因で -l オプションをつけると落ちてしまうという症状だったので、素朴にオプションを消すことで対処した。7zip のリリースノートなどを探してみたけど、それらしいものは見つけられなかったんだよなあ。おそらくは -l オプションが、というより関係ないオプションを付けたときにエラーとなるようにした、とかそういう話とは思う。

9/26 ごろから RHEL8 などで CI が落ちるのを見つけて mame さんが直した

Ruby CI を監視していると、9/26 ごろから Amazon Linux 2 というようなやや古めの Linux で fork の際にメモリが足りなくてエラー、というようにテストが落ちるようになってしまった。最初は mame さんと、よくわからんのでスワップ追加で、と雑に対応していたんだけど、RHEL8 でも同じ症状がでるようになって、さすがにこれは何かが起きているだろう、と mame さんが調べたところ、メモリリークを起こしているのを見つけて直すことができた。

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

大本の原因は nobu の修正の if 条件が逆だった、ということなんだけど、新し目の Linux だとあからさまなメモリリークではなくてテストは通ってしまうという症状だったらしく、久しぶりに古めの OS でも色々テストを流すことの意義を感じて、いい出来事だった。

ruby/docker-images の Ubuntu イメージがビルドできなくなっていたので直した

なんかこの日はこんなのばかり。何もしてないのに壊れた系。daily で作っている master の HEAD を使った Ubuntu のイメージが何故かビルドに失敗するようになったので調べて直した。

https://github.com/ruby/docker-images/pull/107

イメージのビルドスクリプトは触ってないので、ubuntu のベースイメージで何か変わったのか?というあたりだけど、--enable-shared をつけてビルド & インストールしたときに /usr/local/lib の下にある.so ファイルが見つからなくて ruby というコマンドが実行できないということだったので LD_LIBRARY_PATH を更新することで動くようにした。

/usr/local/libLD_LIBRARY_PATH から外れることなんてあるの?という感じではあるけど、一旦はこれで。