Core dump가 남지 않는 문제

CoreDump 관련 문제

안녕하세요 처음 글 쓰게 되네요
현재 ubuntu 20.04 버전으로 eks에 서버를 올려 테스트 중에 있습니다.
문제는 프로그램 강제 종료 되었을 때 core dump가 eks에 올린 프로세서에서만 남지 않는 문제가 있어서 질문 드립니다.

core dump가 남을 수 있는 세팅을 아래와 같이 확인했습니다

  1. ulimit -c
    → unlimited

  2. cat /proc/sys/kernel/core_pattern
    → core

  3. /etc/security/limits.conf 파일에 “* soft core unlimited” 추가

이 상태에서 eks에 서버를 띄운 후 kill -11 pid 명령어로 이미 올라가 있는 서버 프로그램을 죽이면
“Segmentation fault (core dumped)” 로그가 뜨지만 실제로 실행파일 밑에 core.%pid로 core dump파일이 생기지 않습니다.

제가 디버깅 했던 방식은 아래와 같습니다.

  1. 로컬에서 같은 프로그램을 같은 방식으로 테스트 했을 경우에는 올바로 core 파일이 남고 있습니다.
  2. eks에 올린 프로그램을 강제 종료 했을 때만 core dump가 남고 있지 않습니다.
  3. eks에 올린 컨터이너에 접속해서 새롭게 서버 프로세스를 띄운후 그 서버를 kill -11 pid로 죽이면 core 파일이 올바로 남습니다.
  4. core dump 파일 생성에 시간이 필요해서 그런가 싶어서 sleep으로 기다려보았지만 생성되지 않았습니다.

혹시 제가 놓치고 있는 부분이 있거나 확인해보고 싶으신 부분이 있으면 알려주시기 바랍니다.
감사합니다

자답하겠습니다.

coredump 남는 곳에 권한이 eks환경과 로컬환경이 달라서 생긴 문제였습니다.

혹시 누군가 같은 문제를 겪고 계신다면 아래와 같이 확인해보시면 좋을 것 같습니다.

  1. 로그에 Segmentation fault (core dumped) 처럼 (core dumped)가 남는지 확인
  2. 실행파일 위치에 coredump 파일 남는지 확인
  3. 2번 실패 시 /proc/sys/kernel/core_pattern 파일의 내용을 변경해 coredump 파일이 쓰일 수 있는 권한이 있는 곳에 생길 수 있도록 수정
  4. 다시 테스트 후 /proc/sys/kernel/core_pattern 파일의 내용 위치에 coredump 생기는지 확인