zmq.error.ZMQError: Interrupted system call 해결

python 애플리케이션에서 다음 에러가 발생했다.

이 내용이 중요한 것 같다.

zmq.error.ZMQError: Interrupted system call

환경:

  • CentOS release 5.8 (Final)

Centos 6에서는 문제가 없는 앱이었는데, Centos 5에서만 이런 문제가 생겼다. 그래서 trace를 하게 되었다.

app.py는 다음과 같이 하나의 스레드로 0mq 소켓으로 수신 받고 있었다. strace를 하면 아래에 표시된 부분에서 에러가 발생했다.

다음과 같이 두 개의 터미널을 띄워놓고, 순서대로 커맨드를 실행했다.

try로 에러코드를 확인했다.

4번을 표준 errno 시스템 심볼을 확인하니 다음으로 나타났다.

errno.EINTR

Interrupted system call

Centos 6에서는 문제가 발생하지 않았다.

Centos 5에서는 strace 할 때 무엇인가 signal을 보내면서 문제가 발생하는 것으로 보인다. 그래서 우선 예외처리하는 것으로 문제를 해결했다.

 

답글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다