Amazon Linuxでundefined symbol: PR_GetEnvSecure

  • 2
    いいね
  • 0
    コメント

先週まで動いていたはずのAPIが動かないので
ログを確認すると
以下のエラーが出ていました。

エラー内容

/usr/sbin/httpd: symbol lookup error: /usr/lib64/libnsssysinit.so: undefined symbol: PR_GetEnvSecure

NSSのライブラリ?
触っていない。

見つけた解決策

centOS,Redhatは解決済み
http://stackoverflow.com/questions/42728905/google-client-php-api-err-empty-response-error

でもうちはAmazon Linux..

apatchの再起動しても動かない..

依存関係も確認した。

ldd /usr/lib64/libnsssysinit.so
        linux-vdso.so.1 =>  (0x00007ffefe353000)
        libnssutil3.so => /usr/lib64/libnssutil3.so (0x00007f7e05805000)
        libplc4.so => /lib64/libplc4.so (0x00007f7e05600000)
        libplds4.so => /lib64/libplds4.so (0x00007f7e053fb000)
        libnspr4.so => /lib64/libnspr4.so (0x00007f7e051be000)
        libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7e04fa2000)
        libdl.so.2 => /lib64/libdl.so.2 (0x00007f7e04d9d000)
        libc.so.6 => /lib64/libc.so.6 (0x00007f7e049db000)
        librt.so.1 => /lib64/librt.so.1 (0x00007f7e047d3000)
        /lib64/ld-linux-x86-64.so.2 (0x00005648fb388000)

もう一度stackoverflowを見直すと

解決策

http://stackoverflow.com/questions/29724175/err-empty-response-when-trying-to-access-phpmyadmin/31914962

Fixed by restarting Apache via stop and start (apachectl restart is not sufficient).

restart is not sufficient

リスタートじゃダメだと、バッチリ書いてあった。

[root@ip-xxx-xxx-x-xxx init.d]# sudo service httpd stop
Stopping httpd:                                            [  OK  ]
[root@ip-xxx-xxx-x-xxx init.d]# sudo service httpd start
Starting httpd:                                            [  OK  ]

以上で動くようになりました。

restartとstop&startの違い

http://httpd.apache.org/docs/2.2/stopping.html

https://doruby.jp/users/yokian/entries/Apache_restart_graceful_stop_

原因

定期的にsudo yum security updateしていたので
そのタイミングで動かなくなったようです。