![「coredumpctl」はコアダンプを読み取ることができず、ファイルが読み取り可能ではないか、またはそのようなファイルまたはディレクトリが存在しないというメッセージを表示します。](https://rvso.com/image/164712/%E3%80%8Ccoredumpctl%E3%80%8D%E3%81%AF%E3%82%B3%E3%82%A2%E3%83%80%E3%83%B3%E3%83%97%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%9A%E3%80%81%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%8C%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%E5%8F%AF%E8%83%BD%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%84%E3%81%8B%E3%80%81%E3%81%BE%E3%81%9F%E3%81%AF%E3%81%9D%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%BE%E3%81%9F%E3%81%AF%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E3%81%8C%E5%AD%98%E5%9C%A8%E3%81%97%E3%81%AA%E3%81%84%E3%81%A8%E3%81%84%E3%81%86%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E8%A1%A8%E7%A4%BA%E3%81%97%E3%81%BE%E3%81%99%E3%80%82.png)
次のコマンドを発行します:
coredumpctl list
Mon 2019-11-18 23:58:19 GMT 19043 1000 1000 31 missing /opt/google/chrome/chrome
Mon 2019-11-18 23:58:19 GMT 19062 1000 1000 31 missing /opt/google/chrome/chrome
Tue 2019-11-19 15:52:55 GMT 22332 1000 1000 6 missing /usr/bin/texstudio
に続く:
coredumpctl gdb 22332
Storage: /var/lib/systemd/coredump/core.texstudio.1000.bb1cfb6b67f2423fac681d721ee1ba02.22332.1574178774000000.lz4 (inaccessible)
File "/var/lib/systemd/coredump/core.texstudio.1000.bb1cfb6b67f2423fac681d721ee1ba02.22332.1574178774000000.lz4" is not readable: No such file or directory
これにより、スタック トレースがダンプされ、ストレージにアクセスできないことと、ファイルが読み取り不可または見つからないことに関する上記の 2 つのメッセージが表示されます。
何か間違ったことをしているのでしょうか?
答え1
よくある間違いは 2 つあります。
多くの場合、コア ダンプは、プログラムが別のユーザー ID で実行されたために「アクセス不能」になります。これは、権限がないことを意味します。簡単な解決策は、coredumpctl
たとえば . を使用して、root として実行することですsudo coredumpctl
。
それはあなたの問題ではないと思います。これらのコアダンプは、ユーザー ID 1000 からのものです。これは、システムで作成された最初の (そしておそらく唯一の) 非ルート ログインであるため、ユーザーの ID は 1000 であると思われます。
第二に、systemd-コアダンプいくつかの設定がありますコアダンプ.conf、使用できるディスク容量について。空きディスク容量が 15% 未満の場合、コア ダンプはまったく作成されないようです。(この設定を変更しない限り)
df -h
またはコマンドを使用して、使用可能なディスク容量を確認できますdf -h /var/lib/systemd/coredump/
。
(コア ダンプで使用される合計絶対サイズを確認するには、 を実行しますdu -sh /var/lib/systemd/coredump/
。)
最大使用数=、空き容量=
外部に保存されたコアダンプが占めるディスク容量の制限を強制します。MaxUse= は、コアダンプが占めるディスク容量の合計がこの制限 (デフォルトはディスク容量全体の 10%) を超えるとすぐに古いコアダンプが削除されるようにします。KeepFree= は、少なくともどれだけのディスク容量を空けておくかを制御します (デフォルトはディスク容量全体の 15%)。コアダンプが処理されている間、コアダンプが使用するディスク容量が一時的にこれらの制限を超える可能性があることに注意してください。古いコアダンプは、systemd-tmpfiles(8) を介して時間に基づいて削除されることにも注意してください。サイズベースのクリーンアップをオフにするには、どちらかの値を 0 に設定します。
答え2
各ダンプにはと表示coredumpctl list
され、最終的なエラー メッセージは であったことに注意してください。missing
No such file or directory
お使いのディストリビューションには、古いコア ダンプをクリーンアップする定期的な cron ジョブ/systemd タイマーがあると思います (毎週でしょうか?)。実際のコア ダンプ ファイルはクリーンアップされ、coredumpctl
そのようなダンプが存在していたことを示す小さなログ エントリだけが残りました。