パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

AMDのCPUにおけるRDRAND命令に不具合、Systemdが影響を受ける」記事へのコメント

  • 乱数に何を期待しているのか。

    • by Anonymous Coward

      慣れないながらもソース読んでみたけど分からんね
      ・hashmap の初期 hash_key に使っている
       →初期値にだけ使ってるから衝突しないし、衝突しても O(N) になるだけだし問題ない(のが普通だよね)
      ・root パスワード暗号化のソルトに使ってる
       →暗号強度的なチェックが入っていれば引っかかりそうだけど、見つからず
      ・UUID で使ってる?
       →コメントでは使っていると書いているけど見つからず。ただ same_entry で同じ UUID がないかのチェックをしていて、これに失敗するとコケるっぽい

      UUID がぶつかるのって天文学的確率だし、私も衝突しない前提で書くこと多いけど……バグまで考慮するとそうもいかないのか

      • by Anonymous Coward on 2019年07月17日 19時56分 (#3653190)

        ソースコードは読めないペーペーなので、どこで使っているかは確認してませんが、
        本の虫でリンクされているコードのコメントによると、サービスにinvocationIDを採番する
        (システムの起動直後ではシステム固有のID(?)が取得できないため乱数に頼るしかないらしい)のに使用しているらしいです。

        で、該当のコードのログをたどると、#11810 [github.com]で、
        UUIDの衝突のために、invocationIDが採番できずに処理が失敗するとあるようです。

        # ブートではなくて、終了時の話だけど・・・

        親コメント
        • by Anonymous Coward

          英語コメント読めない人間なので捕捉の情報助かります
          ただ確かに記載の通り、終了時の動きについてのコメントのようですね

          報告の画面 [phoronix.net]見ると、UUID の衝突でこんな動きになるのか? と思ってしまいます
          衝突したらそれ以上起動できないとしてストンと落ちる気がするんだけど……

          識者の見解求ム

          • by Anonymous Coward

            元コメですが...

            採番したかったinvocationIDは、 systemdが起動するすべてのサービスに振られるため [github.com]、
            ブート時(サービスをたくさん立ち上げる必要がある)にIDが衝突→サービスの起動に失敗が繰り返されるのは不思議ではないのかなと
            systemdの仕様は分かりませんが、一部のサービスが起動できなかったからシステム全体を落とすという動きではなく、
            一部のサービスが実行できなかったとしても可能な限り他のサービスを立ち上げようとした結果、画面のようになったのかなと...

            ただ、

            • by Anonymous Coward

              ソース読めない、英語コメント読めない人間がコメントするなよ…

アレゲは一日にしてならず -- アレゲ見習い

処理中...