프로그램이 30시간마다 20초씩 죽는 문제

김정훈@Google의 이미지

안녕하세요.

지금 ip카메라 안에있는 리눅스 시스템에서 돌아가는 프로그램을 구현했습니다.
ip카메라에서 영상을 받아 처리해서 특정 서버로 데이터를 전송하는 프로그램인데요,
이상하게 프로그램이 하루하고 조금있다가 죽어버려서 20초후에 프로그램이 자동으로 재실행 되버립니다.
현재로써는 프로그램 실행파일을 ip캠 안으로 업로드하여 실행만 할수 있고 따로 디버깅같은건 못하는 상황입니다..

보통 이렇게 하루마다 죽는 문제는 메모리 릭때문인것 같은데
버퍼관리가 제대로 안되서 그런걸까요..?

영상 프레임을 받아오는 recv_event가 발생하면
deque에다 저장하고 뮤텍스락 해놓고 하나씩 뽑아쓰고있습니다.

영상을 받아올때 버퍼관리가 크게 문제가 없다면
영상처리후 서버로 데이터 전송할때 문제가 있을꺼같은데
디버깅 툴 없이 메모리 누수찾는게 힘들군요..

메모리 누수 말고는 이렇게 하루마다 프로그램이 죽는 문제는 없겠죠..?

chocokeki의 이미지

20초면 시스템이 리부트 되었을 가능성은 없나요?
메모리 누수 말구 deadlock이 되었을 가능성은 없을까요?
결국에는 디버깅할 수 있는 라인 따서 보셔야 할 꺼 같아요

김정훈@Google의 이미지

지금 디버깅용 펌웨어를 올려서 telnet으로 디버깅할수 있는 라인을 확보했습니다.
20초는 os가 프로그램을 죽이고 자동 재시작하는 시간인데요,
메모리 릭 문제는 아니었고 데드락 문제로 보입니다.
제가 짠 코드가 아니어서 힘들긴 하네요..

shint의 이미지

확인해볼만한 사항
- 인터넷 / 랜선 / 공유기 상태
- 메모리 상태
- 가상메모리 상태 및 하드 용량
- 프로세스 점유율
- 리소스 메모리 점유 상태
- 사용자 권한 계정 접속 상태 및 스케쥴링 히스토리 로그
- 전원 설정
- 인터넷 시간
- 장치 드라이브 설치
- 각 함수에 리턴값 / 인자값 / 오류시 예외처리 / 데이터 상태
- 과열 온도

- 더미 데이터로 별도 PC에서 테스트

----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.

매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.

각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.