celery를 이용하여 주기적인 task를 돌리는 기능을 진행했다.
그런데, circleCI에서 계속해서 migrate하는 부분에서 segmentation fault가 뜨는 것이다.
이 기능을 해결하기 위해 장장 3일이 걸렸는데, 해결하고 나니 너무 허무했다...
깊게 생각해보지 않으려 했던 나 자신을 원망한다.
찾아보니 보통 C로 작성했을 때 보통 아래와 같은 원인으로 난다고 한다.
일반적인 파이썬 프로그램 자체는 C로 작성한 프로그램 처럼
Segmentation Fault 를 발생하며 죽는 경우는 거의 없지만, 아래와 같은 이유로 날 수 있다고 한다.
install_apps.py에서 django-celery-beat를 지웠더니 해당 에러가 나지 않았음을 확인했기 때문에 2번을 참고하여 celery와 관련된 라이브러리를 다운그레이드해서 에러를 잡을 수 있었다.
# before
django-celery-beat==2.4.0
django-celery-results==2.4.0
django-timezone-field==5.0
# after
django-celery-beat==2.0.0
django-celery-results==2.2.0
django-timezone-field==4.2.3
참고사이트
https://codingfriend.tistory.com/18
https://gem1n1.tistory.com/197