2013-09-05 6 views
0

나는 3 시간 동안 봤지만 아무 소용이 없다.`ejabberdctl start` 결과는 "kernel pid terminated"오류가 발생합니다 - 어떻게해야합니까?

apt를 사용하여 설치되지 않은 ejabberd 설치가 있습니다. 소스에서 설치되며 ejabberd라는 프로그램이 없습니다. 시작과 중지 그리고 모든 것은 ejabberdctl을 통해 이루어집니다.

그것은 한 달 동안 완벽하게 실행되었다가 악명 높은

kernel pid terminated error 

언제로 중단 갑자기 일일 모든 나는 erl_crash 파일이 생성됩니다

sudo ejabberdctl start --node [email protected] 

수행하고 난

을하려고 할 때
ejabberdctl 

얻을 수

  • 검사의/etc/호스트와 호스트 이름을 작동하지 않았다 모두가 잘 - 16,
    Failed to connect to RPC at node [email protected] 
    

    지금은 EPMD, ejabberd, 빔의 모든 실행중인 프로세스를 죽이고 새로운 시작 시도

    1. 을 시도 무슨. 호스트 이름이 TEH 호스트 이름을 보장하기 위해 ejabberdctl.conf 파일을 검사는 IP
    2. 로 파일을 호스트에 제공됩니다 실제로 권리와 노드 이름은 권리
    3. .erlange.cookie 파일은 그 안에 내용으로 작성되고 확인

    웹의 모든면에서 검색을 통해 위의 중 하나를 찾았습니다.

    나는 아무데도 갈 곳이 없으며 다른 곳을 모른다. 어떤 도움이라도 대단히 감사 할 것입니다.

  • +0

    표준 (또는 구성된) 포트 (5222, 5269, 5223 등)를 듣고 있지 않습니까? 내 말은, 'ejabberd'의 인스턴스가 실행되지 않는 동안. – kostix

    답변

    1

    왜 실패했는지 추측하기 위해 크래시 덤프를 분석해야합니다.

    이 작업을 수행하려면 얼랑 충돌이의 얼랑 프로세스의 스택 추적을 덤프를로드하고 검사하는 데 사용할 수있는 뷰어 — 덤프 특별 이는 응용 프로그램 —에서 (어,라고 webtool) 특별한 웹툴을 가지고 사고의 시간.

    # apt-get install erlang-webtool erlang-observer 
    
  • 출발하는 얼랑 통역 :

    $ erl 
    

    (. 또한 조치가 촬영)

  • 당신은

    1. 에 필요한 패키지를 설치해야

    2. 웹 도구를 실행하십시오. 가장 간단한 경우 로컬 호스트에서 수신 대기합니다.

      webtool:start(). 
      

      (기간에주의하십시오.) 브라우저에서 탐색하기 위해 URL을 인쇄하여 실행중인 도구에 도달합니다. 이 서버에서 발생, 당신은 오히려 웹툴 일부 로컬이 아닌 호스트 인터페이스에서 수신이하려는 경우

      , 통화 encantation은 까다 것 :

      webtool:start(standard_path, [{port, 8888}, {bind_address, {0, 0, 0, 0}}, {server_name, "server.example.com"}]). 
      

      {0, 0, 0, 0} IP 사양을합니다 모든 것을 듣게하고, {192, 168, 0, 1}과 같은 더 현명한 옥텟을 지정할 수도 있습니다. server_name 절은 임의의 이름을 사용할 수도 있습니다. — 이것은 생성 된 URL 인 서버의 호스트 이름에 인쇄됩니다.

    3. 이제 브라우저로 도구에 연결하고 "시작 도구"메뉴 항목으로 이동하여 크래시 덤프 뷰어를 시작하고 링크를 도구의 최상위 메뉴에 표시합니다. 계속해서 크래시 덤프를로드 할 수있는 링크를 찾으십시오.

    4. 크래시 덤프를로드 한 후 도구의 인터페이스를 사용하여 활성 얼랑 프로세스의 스택 추적을 살펴보십시오. 그들 중 적어도 하나는 물고기 같은 것을 포함해야하며, 질문을 구체화하기 위해 당신이 찾고있는 오류 메시지 — (또는 ejabberd mailing list)을 포함해야합니다.

    5. 은 도구를 종료 실행중인 얼랑 통역에

      webtool:stop(). 
      

      를 실행합니다. 그리고 한 후 Enter 키를 눌러 다음 문자 q를 입력 한 후

      q(). 
      

      을 실행하고 조금 기다리거나 Ctrl-g를 눌러하여 하나를 종료합니다.

    관련 링크는 다음과 같습니다 crash dump viewer manualwebtool manual.