NI Route CoordinatorがSegfaultエラーで停止し、再起動できない

更新しました Feb 20, 2024

使用製品

オペレーティング・システム

  • Linux

問題

PC でdmesg -Tコマンドを実行すると、NI Route Coordinator (niroco) サービスが以下のエラーで停止し、再起動できません。

niroco[4357]: 0 ip 00007fab6804d84c sp 00007ffe019c4600 エラー 4 in libc.so.6[7fab68028000+175000] コード: 4c 8d 25 77 e2 1a 00 55 48 89 fd 4c 89 e7 でのセグメンテーション違反53 31 デシベル e8 28 84 05 00 eb 0a 66 0f 1f 44 00 00 48 83 c3 01 89 df 48 83 fb 06 74 f4 <48> 8b 74 dd 00 83 7e 30 ff 74 05 e8 54 e5 ff ff 48 83 fb 0c 75 de

この問題の原因は何ですか。また、どうすれば解決できますか。

解決策

このエラーは、 newlocale() が「_locale_ は有効なロケールを参照する文字列ポインターではありません」というエラーを出しているために発生します。つまり、locale() はシステムにインストールされていません。 newlocale() 関数は、新しいロケール オブジェクトを作成するか、既存のオブジェクトを変更し、関数の結果として新しいオブジェクトまたは変更されたオブジェクトへのリファレンスを返します。 newlocale() がインストールされていない場合、プログラムによってこのエラーが発生する可能性があります。

root として次のコマンドを実行してlocaleを再インストールすると、エラーが解決されます。
dnf install glibc-langpack-en

    追加情報

    次のコマンドを実行して、ロケールがインストールされているかどうかを確認します。
    localedef --list-archive | grep en_US.utf8
     
    ※以下のコマンドを実行すると、システムにどのロケールがインストールされているかを確認できます。
    • localedef --list-archive |grep en_US
    • locale -a | grep en_US