アカウント名:
パスワード:
乱数に何を期待しているのか。
慣れないながらもソース読んでみたけど分からんね・hashmap の初期 hash_key に使っている →初期値にだけ使ってるから衝突しないし、衝突しても O(N) になるだけだし問題ない(のが普通だよね)・root パスワード暗号化のソルトに使ってる →暗号強度的なチェックが入っていれば引っかかりそうだけど、見つからず・UUID で使ってる? →コメントでは使っていると書いているけど見つからず。ただ same_entry で同じ UUID がないかのチェックをしていて、これに失敗するとコケるっぽい
UUID がぶつかるのって天文学的確率だし、私も衝突しない前提で書くこと多いけど……バグまで考慮するとそうもいかないのか
ソースコードは読めないペーペーなので、どこで使っているかは確認してませんが、本の虫でリンクされているコードのコメントによると、サービスにinvocationIDを採番する(システムの起動直後ではシステム固有のID(?)が取得できないため乱数に頼るしかないらしい)のに使用しているらしいです。
で、該当のコードのログをたどると、#11810 [github.com]で、UUIDの衝突のために、invocationIDが採番できずに処理が失敗するとあるようです。
# ブートではなくて、終了時の話だけど・・・
英語コメント読めない人間なので捕捉の情報助かりますただ確かに記載の通り、終了時の動きについてのコメントのようですね
報告の画面 [phoronix.net]見ると、UUID の衝突でこんな動きになるのか? と思ってしまいます衝突したらそれ以上起動できないとしてストンと落ちる気がするんだけど……
識者の見解求ム
元コメですが...
採番したかったinvocationIDは、 systemdが起動するすべてのサービスに振られるため [github.com]、ブート時(サービスをたくさん立ち上げる必要がある)にIDが衝突→サービスの起動に失敗が繰り返されるのは不思議ではないのかなとsystemdの仕様は分かりませんが、一部のサービスが起動できなかったからシステム全体を落とすという動きではなく、一部のサービスが実行できなかったとしても可能な限り他のサービスを立ち上げようとした結果、画面のようになったのかなと...
ただ、
ソース読めない、英語コメント読めない人間がコメントするなよ…
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
アレゲは一日にしてならず -- アレゲ見習い
乱数なら-1が連続してもいいのでは (スコア:0)
乱数に何を期待しているのか。
Re: (スコア:0)
慣れないながらもソース読んでみたけど分からんね
・hashmap の初期 hash_key に使っている
→初期値にだけ使ってるから衝突しないし、衝突しても O(N) になるだけだし問題ない(のが普通だよね)
・root パスワード暗号化のソルトに使ってる
→暗号強度的なチェックが入っていれば引っかかりそうだけど、見つからず
・UUID で使ってる?
→コメントでは使っていると書いているけど見つからず。ただ same_entry で同じ UUID がないかのチェックをしていて、これに失敗するとコケるっぽい
UUID がぶつかるのって天文学的確率だし、私も衝突しない前提で書くこと多いけど……バグまで考慮するとそうもいかないのか
UUIDの衝突が原因で失敗したっぽい? (スコア:0)
ソースコードは読めないペーペーなので、どこで使っているかは確認してませんが、
本の虫でリンクされているコードのコメントによると、サービスにinvocationIDを採番する
(システムの起動直後ではシステム固有のID(?)が取得できないため乱数に頼るしかないらしい)のに使用しているらしいです。
で、該当のコードのログをたどると、#11810 [github.com]で、
UUIDの衝突のために、invocationIDが採番できずに処理が失敗するとあるようです。
# ブートではなくて、終了時の話だけど・・・
Re: (スコア:0)
英語コメント読めない人間なので捕捉の情報助かります
ただ確かに記載の通り、終了時の動きについてのコメントのようですね
報告の画面 [phoronix.net]見ると、UUID の衝突でこんな動きになるのか? と思ってしまいます
衝突したらそれ以上起動できないとしてストンと落ちる気がするんだけど……
識者の見解求ム
Re: (スコア:0)
元コメですが...
採番したかったinvocationIDは、 systemdが起動するすべてのサービスに振られるため [github.com]、
ブート時(サービスをたくさん立ち上げる必要がある)にIDが衝突→サービスの起動に失敗が繰り返されるのは不思議ではないのかなと
systemdの仕様は分かりませんが、一部のサービスが起動できなかったからシステム全体を落とすという動きではなく、
一部のサービスが実行できなかったとしても可能な限り他のサービスを立ち上げようとした結果、画面のようになったのかなと...
ただ、
Re: (スコア:0)
ソース読めない、英語コメント読めない人間がコメントするなよ…