Backend/DevOps

AWS ElasticBeanstalk Pytorch libgomp-d22c30c5.so.1: cannot allocate memory in static TLS block 트러블슈팅

mopil 2023. 12. 24. 00:39
반응형

딥러닝 모델을 탑재한 FastAPI 앱을 AWS ElasticBeanstalk으로 배포하는 과정에서 

분명 로컬에서는 잘 되는데 빈스톡 환경에서 import torch하는 부분에

 

libgomp-d22c30c5.so.1: cannot allocate memory in static TLS block

 

에러가 뜨면서 서버가 배포되지 않는 이슈를 맞이했다.

 

https://stackoverflow.com/questions/70446215/torch-lib-libgomp-d22c30c5-so-1-cannot-allocate-memory-in-static-tls-block

 

torch/lib/libgomp-d22c30c5.so.1: cannot allocate memory in static TLS block

I installed YoloV5 on my jetson nano. I wanted to execute my object detection code when this error appeared: python3.8/site-packages/torch/lib/libgomp-d22c30c5.so.1: cannot allocate memory in stati...

stackoverflow.com

 

요 스택오버플로 글을 보고 해결했다.

 

빈스톡 로그를 보면 어느 경로에서 에러가 났는지 나온다.

 

빈스톡은 구성 탭에서 환경변수를 설정할 수 있는데, 거기에 똑같이 넣어주면 된다. (정말 똑같이 넣어야한다.)

 

/var/app/venv/staging-LQM1lest/lib64/python3.8/site-packages/torch/lib/../../torch.libs/libgomp-6e1a1d1b.so.1.0.0

 

내 경우 위와 같은 경로였다.

 

..도 포함해서 넣어준다.

 

 

그러면 잘 배포되는 것을 확인 할 수 있다.

 

LD_PRELOAD랑 libgomp가 도대체 뭐길래 궁금해서 지피티에게 물어봤다.

그렇단다. 넌 모르는게 없구나.

 

메모리가 부족하다길래 인스턴스 램을 32GB까지 올려봤으나 똑같은 오류가 나길래 한 참 해맸다...

 

https://bugzilla.redhat.com/show_bug.cgi?id=1722181

 

 

뭐 대충 이런 버그가 있다고 한다.

 

 

구글링 해도 잘 안나와서 5시간 동안 삽질했다... 생각보다 간단한 에러여서 허무했다 ㅠ.ㅠ

 

ps) 만약 코랩에서 학습한 모델을 서버에 탑재한다면, 코랩 환경의 torch 버전과 동일하게 맞춰주자. 

반응형