トップ RSS feed

HsbtDiary


2026/10/01 (木) [長年日記]

■ Ruby の Actions のクラッシュをひたすら直す

昨日仕込んでおいたクラッシュダンプのアップロードを朝に確認すると結構な量が溜まっていて、それをぜんぶ claude に分析させたら Windows だけじゃなくて Linux/macOS でも発生するようなバグを直すことができた。

だいぶいい仕組みなので、毎朝のルーチンスキルにしてしばらくはクラッシュしているのを徹底的に直そうとおもう。これ、自分が思いつきで始めたようなことではあるけど、ガチでやってる組織は100人単位かつ数百台のマシンでやっているのだろうなあ。

こういうのをやってる組織とやってない組織とで 10x とか 100x どころではない差がついていくのがなかなか厳しい時代である。

■ Windows の long 問題

Windows には long 問題というのがあり、64bit のマシンでも long が 32bit になってしまうという根深い問題がある。で、これが YJIT にも影響があるだけではなくて、Docker image のような 2GB 以上のファイルをオープンすらできないという厳しい状態になっている。

で、これをちょっと前からちゃんと long long にできないかと考えて nobu や akr さんと話していた内容 を踏まえて進めたら大体いいのができた。

一応すごい非互換だから下準備だけにして 64bit にするのは後で、とは思ったけど mingw ではない mswin で先行して 64bit にぶち込んでもいい気はするんだよなー。どうせ世界で使っているのは僕とusaさんと、あとは nobu か笹田さんの 3-4 人しかいないし...。

■ Netflix の爆弾をみた

週末に Netflix で何かを見るかと思いおすすめを眺めていて、ヒューマンドラマ系がいいなあということでシーズンものではなく映画の爆弾というやつを見た。

https://www.netflix.com/watch/82130725

酔っ払いの小競り合い、みたいなところで取調室に入ることになった容疑者が連続爆破を予言する人物で実行犯なのかなんなのか、みたいなところで、遠隔操作できるはずがないのにちゃんと爆破する爆弾とそれを防ごうとする人たちの駆け引きをしているうちに終わってしまった。

なかなか面白いとは思ったけど、最後、結局どうなったの?というのがわからないまま終わってしまった気がする...。


2026/09/30 (水) [長年日記]

■ GitHub Actions で発生した crash dump を artifact に保存

昨日追加した Win 11 ARM の CI だけど、どうにも安定せずクラッシュして止まることが多いので一旦 merge 条件からは外したのだけど、これだといつまで経っても解決せんな、ということで考えてクラッシュダンプを GitHub の artifact にアップロードするようにした。

で、ついでに Windows だけじゃなくて Linux と macOS についても中途半端にダンプしているのを全部整頓して artifact にアップロードするようにした。なんかダウンロード手順は複雑なんだけど、どうせ claude がダウンロードして分析するので、これでいいか、となった。

■ Win 11 ARM の runner image の msvc だと openssl は壊れる

で、ダンプができたので claude に調べろ、と投げたら openssl のバイナリが壊れているので呼び出したら落ちます、という「えっ」という結果だった。

https://github.com/ruby/ruby/pull/19135

claude はこういうときにアセンブラまで調べるので、その内容によると msvc 14.51 でビルドした ARM の openssl はマシン語が壊れていて常にクラッシュするということだったので 14.44 に落としたらクラッシュしなくなった。

これ、MS のコンパイラのバグなので報告した方がいいです、とはいうけど手元に msvc があるわけじゃないので報告するための材料を揃えるのが大変なんだよなあ。誰か ARM マシンください。


2026/09/29 (火) [長年日記]

■ Ruby office hour

Matz が Rails World から帰ってきて他ので、Euruko も含めてどうでした、って話をして盛り上がっていた。DHH が初日からぶちかましていたので、続くパネルなどの Matz が大変だったよ〜とか言ってて面白かった。

後半は ko1 さんも交えて、AI をガチで使いまくって Ruby を 100 倍早くするってできんの、とかそういう話をしていた。できるといいねえ。

■ Windows 11 ARM の CI を直した

週末の作業の成果として、YJIT 以外にもなぜか動いてなかった Win 11 ARM の CI をちゃんと他の job と同等に全実行して流すようにした。

https://github.com/ruby/ruby/pull/19058

claude、ARM64 マシンはないけどなんとかできないの、とぶん投げると x64 にもクロスコンパイラはあるので実行はできないがビルドエラーならなんとかなる、と頼もしい感じでまずはちゃんとビルドや静的解析でなんとかなるところは直してくれた。

その先は CI のマシンを使って、push しては修正、push しては、という繰り返しではあったけど割とあっさりと完走するようになった。便利。

■ 北斗の拳を読んだ

蒼天の拳に続いて北斗の拳を全巻読んだ。序盤の流れは記憶の通りだけど、サウザーからのラオウの流れがこんなに序盤だったっけという感想だった。で、第二部がんー、って感じのマンネリ感で最後の方は蒼天の拳と同じように精神世界に入っていて、こんな話だったっけ...といううちに終わってしまった。

愛ゆえに人は悲しまねば〜、のセリフ、ラオウが言っているものだと記憶していたのに、実際にはサウザーだった、とアップデートできたのは収穫だった気がする。


https://www.amazon.co.jp/dp/B00YV3ZR3C