2014-04-14 1 views
1
우리가 얻을

매일이 같은 오류 (때로는 한 번 이상) :유니콘 오류 : "ERROR : - 수확 # : 노동자 <프로세스 :: 상태 12345 SIGABRT (신호 6) PID> = 2"

Apr 13 12:16:31 app1 unicorn.log: E, [2014-04-13T12:16:31.302011 #17269] ERROR -- : reaped #<Process::Status: pid 17300 SIGABRT (signal 6)> worker=2 

우리는 Ruby on Rails 앱과 함께 Unicorn 4.8.2를 사용합니다.

배포 도중이나 배포 직후와 같이 명백한시기에는 발생하지 않는 것 같습니다.

문제를 디버깅하는 방법에 대해 잘 모르겠습니다. 문제의 원인이나 디버깅 방법에 대한 제안이 있습니까?

+1

아마 당신은 알고있을 것입니다. 그러나 힙 오버 플로우 나 잘못된 메모리 접근과 관련된 다른 문제가있을 때'SIGABRT' 신호가 보통 호출됩니다. 솔직히 C를 디버깅하는 방법을 모르지만 나는 범인을 알아 내기 위해 1) 루비 업데이트 2) 유니콘 업데이트/다른 앱 서버 사용 3) C 확장을 포함하는 보석 사용 안함, 기상합니다 – mdesantis

+1

감사합니다. Ruby와 Unicorn을 업데이트했습니다. 이전에 Unicorn 4.8.0을 사용하여 Ruby 1.9.3을 사용했습니다. 그렇다면 우리는 SIGIOT와 거의 같은 이슈를 가지고있었습니다. 그런 다음 Ruby를 2.1.1로 업그레이드했습니다. 나는 SIGABRT로 바뀌 었다고 믿는다. 그런 다음 Unicorn을 4.8.2로 업그레이드하지 않았습니다. C gem을 비활성화하는 것은 좋은 생각이지만 조금 까다로울 수 있습니다. 그것을 들여다 볼 것입니다. –

답변

1

프로세스가 너무 많은 메모리를 사용했을 때 우리 monit이 "kill -6"(SIBABRT)을했을 뿐이라는 것을 알았습니다. 그래서 우리는 지금 그 한계에 부딪 혔습니다.

아직 많은 메모리를 사용한 이유를 아직 연구하지 않았습니다.