Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

【Ask_AI】system-coredump raise libc.so.6 malloc_printerrについて

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!

【AIによる回答】

systemd-coredump(または systemd-journald)がシグナル6(SIGABRT)を出力し、スタックトレースに libc.so.6 の malloc_printerr が表示される場合、これはメモリ関連の深刻なバグを示しています。

Red Hat Customer Portal +2
このエラーは通常、システム(systemd)または実行中のアプリケーションがメモリの破損、ダブルフリー(double-free)、または無効なメモリ領域への書き込みを行った際に、libcが「これ以上動作を続けると危険」と判断してプロセスを中断(abort)したことを意味します。

Stack Overflow +1

原因と対策の方向性
  1. メモリ破損(Double Free / Heap Corruption)
    • 原因: プログラムが既に解放したメモリを再度解放した(Double Free)か、確保した領域を超えて書き込んだ(Heap Overflow)。
    • 対策: coredumpctl を使ってスタックトレースを詳細に確認し、どのプロセスが何をしている時にクラッシュしたかを特定する。
  2. 特定のアプリケーションの不具合
    • 事象: 特定のサービス(例えば systemd-networkd や criu)が繰り返し落ちる。
    • 対策: 関連パッケージを最新版に更新する。
  3. カーネルまたはライブラリのバグ(特にRHEL8系など)
    • 事象: 2021-2022年頃のRHEL8(systemd-239以降)では、systemd自体がメモリ管理に失敗してクラッシュするバグが報告されていた。
    • 対策: OSのマイナーアップデート(dnf update)を行う。
  4. システムリソースの限界
    • 事象: pam_systemd がタイムアウトし、セッション作成に失敗してコアダンプが生成される。
      Red Hat Customer Portal +5

デバッグ・解析方法
クラッシュした原因を正確に突き止めるには、以下のステップを踏んでください。
  1. コアダンプの特定:
    bash
    coredumpctl list
    
  2. スタックトレースの確認:
    bash
    coredumpctl info <PID>
    

    (#0 raise、#1 abort、#4 malloc_printerr という流れが典型的)

  3. GDBを使った対話的デバッグ:
    bash
    coredumpctl gdb <PID>
    # GDB内で bt (backtrace) を実行
    

    ※debuginfoパッケージがインストールされていると、より詳細な情報が得られます。

    Red Hat Documentation +2
即効的な回避策(緊急時)
システムが不安定でログインできない、またはサービスが落ち続ける場合は、一時的にコアダンプの生成を停止して安定化を試みます。
  • システム全体でコアダンプを無効化:
    /etc/systemd/coredump.conf で Storage=none を設定する。
  • systemdの再起動:
    システムが動作している場合は、systemctl daemon-reexec を実行。
    Red Hat Documentation +1

注意: ログに “Resource limits disable core dumping” が見られる場合は、ulimit -c の設定を確認してください。

Red Hat Customer Portal
タイトルとURLをコピーしました