web-dev-qa-db-ja.com

カーネルoopsesが汚染され、ABRTでのレポートを禁止するのはなぜですか?

ラップトップにFedora28を新たにインストールしました。起動時に、報告したいカーネルoopsが表示されます。ただし、ABRTは、カーネルがフラグGWで汚染されていると認識しているため、報告を拒否します。 abrtドキュメント を見ると、Wは「以前にカーネルによって警告が発行された」という意味であると書かれています。一方、Gは、GPL互換モジュールのみがロードされていることを示しています(予想どおり、カーネルモジュールを自分でインストールしていません)。

しかし、これは正確にはどういう意味ですか?カーネルからbugzillaに警告が出されましたか?このメッセージは、新しくインストールしたLinuxで、報告できないエラーが発生する理由を理解するのに役立ちません...

cat /proc/sys/kernel/taintedは、値512を与えるだけです。 e。 sysctlドキュメント によるとカーネル警告のみがあります。

では、どうすれば正確に何が起こったのかを知ることができ、なぜABRTで報告できないのですか?

編集2012年からのこのコメント によるとRedHat Bugzilla

「w」は、警告がすでに発生していることを意味します。私たちは、abrtがすでに提出しているはずの最初のものだけを気にします。

したがって、汚染されたレポートで何かを見つけて、ABRTが「最初のもの」を報告し、 FAFに関するこのレポート -を見つけた場所を見つけましたが、カーネルは「汚染された」とマークされています「同様に、レポートはおそらく修正の対象とは見なされないでしょう、そして私はまだ、理由がわかりません。

4
Zollern

問題は、abrtdの起動が遅すぎて、起動時に発生したoopsをキャッチできないことである可能性があります。 oopsが発生すると、W taintフラグが設定され、abrtdが起動すると、Wフラグが表示され、検出したoopsが最初のものであるかどうかがわかりません。

1つのabrtdが表示する前に別のループがあった場合、最初のoopの原因が何かの結果である可能性があるため、表示されたものを報告しても意味がない可能性があります。存在しなかったことをご存知かもしれませんが、abrtdはその決定を自動的に行うことはできません。

そのため、特に起動プロセスの早い段階で発生した場合は、起動時のoopsを手動で報告する必要がある場合があります。

カーネルだけでは、Bugzillaに何も報告しません。 W taintフラグは、1つ以上のoopsメッセージがカーネルによってすでにログに記録されていることを意味するだけです。

3
telcoM