web-dev-qa-db-ja.com

SLES 10 ulimitはコアダンプを無制限に表示しますが、ダンプは発生しません

通常の/etc/security/limits.confメカニズムを使用しているユーザーのコアダンプ制限は無効になっています。

# ulimit -a  
core file size        (blocks, -c) unlimited

ただし、segfaultテストを実行すると、コアがダンプされていないことが示されます。

/tmp/a.out  
Segmentation fault

「コアダンプ」メッセージはありません。うーん。 /etc/security/limits.confは次のようになります。

username            -        core            unlimited

誰かがこれに遭遇したことがありますか?これはSLESのバグですか?ありがとう。

1
mikemaccana

コアダンプは有効になっていますが、ファイル名に使用されているcore_patternは、存在しないディレクトリを指しています。

これにより、コアダンプがサイレントに失敗します。

# cat /proc/sys/kernel/core_pattern
/cores/core.%p

# ls -la /cores
/bin/ls: /cores: No such file or directory

修正は簡単です。指定されたディレクトリを作成するか、それに応じてsysctl.confを変更します。

# mkdir /cores
# /tmp/a.out                              
Segmentation fault (core dumped)
0
mikemaccana