コミュニティソリューション

ZimaBoardでZimaOSのbtopに「不正な命令」と表示される:1.3.3のCPUビルドのバグと1.4.0での修正

A 2024 CasaOS tutorial thread that later became a detailed ZimaOS 1.3.3 btop bug report. ZimaBoard and ZimaBlade users with Intel N3450 CPUs saw Press Enter to reconnect and Illegal instruction errors. After browser testing ruled out the frontend, Zima-Giorgio said the binary had been compiled without accounting for the ZimaBoard CPU and that ZimaOS 1.4.0 fixed it.

このスレッドは時間とともに話題が変化しました。2024年のCasaOS向けBTOPインストールチュートリアルとして始まりましたが、2025年3月にZimaOS 1.3.3で内蔵btopパフォーマンスパネルが追加され、複数のZimaBoard/ZimaBladeユーザーが新しいバイナリが次のエラーでクラッシュすることに気づいたことで、はるかに有益な内容になりました。 不正な命令(コアダンプ).

最終的な診断を下したのは、コミュニティの推測ではなくIceWhaleでした。Zima-Giorgioは、btopのコンパイル時にZimaBoardのCPUを考慮していなかったため、問題はZimaOS 1.4.0で修正されると説明しました。つまりこれは、明確なバージョン境界を持つ、CPU互換性に関する過去のバグです。

ZimaOS 1.3.3で内蔵btopパネルを導入

IceWhaleの1.3.3リリースノートでは、ZimaOSダッシュボードに新しいパフォーマンス監視パネルとしてbtopが導入されました。これは、ユーザーが別の監視スタックをインストールしなくても、CPU、メモリ、プロセス、システムアクティビティを確認できるようにすることが目的でした。

ソーススレッドを読む際は、ZimaOS 1.3.3の機能境界を基準にしてください。

ダッシュボードのショートカットを開くと再接続画面が表示された

リソースおよびネットワーク監視へのショートカットが強調表示された、ZimaOSダッシュボードのシステム・ストレージウィジェット
新しいダッシュボードには、リソースおよびネットワーク監視ツールへの直接ショートカットが追加された

影響を受けたシステムでは、ショートカットをクリックすると高い番号の一時ポートが開き、再接続を促すメッセージだけが表示されました。

ZimaOS上のbtopブラウザーウィンドウに、パフォーマンスインターフェースではなく「Enterキーを押して再接続」と表示される
ブラウザー上の症状はttyd/WebSocketの問題のように見えましたが、ターミナルのエラーによって、より根本的なバイナリー互換性の問題が明らかになりました。

btopを直接実行すると不正な命令が発生

重要な診断行は次のとおりです。

btop
不正な命令(コアダンプ)

このメッセージは、CPUがバイナリのビルド時に使用するよう指定された命令を実行しようとしたものの、ハードウェアがその命令をサポートしていなかったことを意味します。ブラウザーキャッシュやWebSocketのタイムアウトとはまったく異なります。

複数のブラウザーでブラウザー固有のバグではないことが判明

ユーザーはFirefox、Chrome/Chromium、Safari、Brave、Opera、Edge、通常のウィンドウ、プライベート/シークレットモードでテストしました。結果は変わりませんでした。

この否定テストは有用でした。IceWhaleが最初に行ったトラブルシューティングの質問は、この問題がブラウザー固有のものかどうかだったためです。

DevToolsにバックエンド停止後のWebSocket障害が表示された

Chrome DevToolsで、btop ttydのWebSocketにおける不正なcloseフレーム、接続拒否、トークン取得の失敗が表示された
フロントエンドがWebSocket接続を失ったのは、btop/ttydバックエンドが正常な状態を維持できなかったためです。したがって、ブラウザーに表示されたエラーは根本原因ではなく、下流で発生した結果でした。

影響を受けたユーザーはIntel Celeron N3450世代のCPUを搭載していた

ZimaBoard 832のユーザー1人とZimaBladeのユーザー1人がハードウェアを比較し、どちらもIntel Celeron N3450クラスのCPUを搭載していることに気付きました。btopバイナリが、より新しいZimaCubeのCPU命令セット向けにコンパイルされていたのかどうかを尋ねました。

その仮説は後にIceWhaleによって確認されました。

IceWhaleはコンパイル対象が誤っていたことを確認した

3月27日、Zima-Giorgioは、問題の原因が特定され、ZimaOS 1.4.0で解決される予定だと投稿しました。元のbtopビルドがZimaBoardのCPUを考慮していなかったためです。

これは最も確かな情報源に基づく結論であり、ブラウザーの再インストールや、別のbtopバイナリを不変のZimaOSホストに手動でインストールするといった推測的な修正方法に取って代わるべきです。

変化する高位ポートは意図的なものだった

IceWhaleのCorrectRoadHは、btopを開くたびに異なる高位ポートが使われるのは、短時間の監視セッションをそのまま再利用しにくくするためのセキュリティ機能だと説明しました。

したがって、ポートが変わること自体は、障害の証拠ではありませんでした。

1.3.3のバグだけで現在のbtopを診断しない

現在のZimaOSは1.3.3/1.4.0をはるかに上回るバージョンです。現在btopが失敗する場合は、現在のZimaOSバージョン、CPUモデル、ターミナルに表示された正確なエラー、ダッシュボードのショートカットだけが影響を受けるのか、CLIも影響を受けるのかを記録してください。

An 不正な命令 最新のビルドでもCPU互換性を示している可能性はありますが、以前の2025年版パッケージの問題だと決めつけず、新たなリグレッションとして調査すべきです。

CPUエラーの後にWebSocketエラーが表示された理由

ダッシュボードは、btop用の対話型ターミナル形式のセッションを起動します。btopプロセスが不正なCPU命令ですぐに終了すると、フロントエンドは通信を想定していたバックエンドを失います。そのため、WebSocketの切断や接続拒否のメッセージは、クラッシュしたプロセスによる二次的な影響である可能性があります。

これは、一般的なトラブルシューティングに役立つ教訓です。最初にブラウザーのコンソールに表示されたエラーが、必ずしも根本原因とは限りません。基盤となるコマンドを直接実行した場合の挙動と比較してください。

ネットワークマネージャーのショートカットも失敗したことが新たな手がかりになった

ある影響を受けたユーザーは、リソースマネージャーとネットワークマネージャーのショートカットの両方で同じ再接続動作が発生した一方、通常のWebターミナル自体は動作したと述べました。これは、障害が完全なttydの停止ではなく、ショートカットから起動されるツール環境に関連していることを示唆していました。

IceWhaleには、直接実行することがまだ必要でした btop クラッシュとN3450のハードウェア情報を共有し、実際のコンパイル対象の問題を特定しました。

同じ1.3.3ビルドを再インストールしてもCPU命令は変わらない

IceWhaleが、バイナリ自体がZimaBoardのCPUを考慮せずにコンパイルされていたことを確認した後では、ブラウザーの再インストール、キャッシュの消去、同じシステムバージョンの再インストールでは、実行ファイルの命令セットを修正できませんでした。

恒久的な修正には、新たにコンパイルしたバイナリを次のZimaOSリリースで提供する必要がありました。

ハードウェア互換性にはカーネルドライバーだけでなくユーザー空間バイナリも含まれる

互換性に関する議論では、NIC、GPU、ストレージドライバーに焦点が当たることが多くあります。この事例は、汎用x86オペレーティングシステムでも、バンドルされたアプリケーションがハードウェアで実装されていない命令を使ってコンパイルされていると、古いCPU上で動作しなくなる可能性があることを示しています。

サードパーティ製のx86マシンの場合、 不正な命令 したがって、このメッセージは重要な証拠であり、サポートレポートにそのまま含めるべきです。

btop互換性FAQ

ソースの問題はFirefoxまたはChromeが原因でしたか?

いいえ。ユーザーは複数のブラウザーやプライベートモードで再現しました。

IceWhaleは根本原因を何だと説明しましたか?

btopのバイナリは、ZimaBoardのCPU命令セットを考慮せずにコンパイルされていました。

それを修正するはずだったのは、どのバージョンですか?

Zima-Giorgioは、修正版のbtopがZimaOS 1.4.0に搭載されると述べました。