지원 티켓 만들기
팔로우

Q100177 : ProcessManager 및 AssetProcessManager 오류 문제 해결

조짐

Katana를 실행할 때 터미널에 다음과 같은 오류가 나타날 수 있습니다.

ProcessManager: Error communicating with process 0x7f8b04001410 (attempt 1 of 5).
ProcessManager: Error verifying alive status of process 0x7f8b04001410.
ProcessManager: Error verifying 'getwork' status of process 0x7f8b04001410.
ProcessManager: Failed to spawn as many processes as requested.
ProcessManager: Process acquisition failed.
AssetProcessManager: Error acquiring interpreter to run command 'isFileSequence' on 'FileSeq'.
AssetProcessManager: Error communicating with sub-process.
AttributeScriptInterpreter: unable to communicate with the parent process

다음 메시지 중 하나를 사용하여 장면 그래프에서 오류 위치를 찾을 수도 있습니다.

Error spawning Python interpreter
Error executing AttributeScript: The interpreter process could not be reached.

이러한 오류는 AttributeScripts와 Python Asset Plug-ins 및 Katana를 처리하기 위해 생성 된 자식 Python 프로세스 간의 통신이 실패했음을 나타내며 충돌로 이어질 수 있습니다.

원인

Katana 2.0 이상은 AttributeScripts와 Python Asset Plug-in을 별도의 하위 프로세스로 실행합니다. Katana 의 내부 프로세스 관리자는 이러한 활성 프로세스를 유지 관리하고 요청시 새로운 프로세스 관리자를 할당합니다. 경우에 따라 이러한 프로세스가 시작될 때 예상보다 오래 걸릴 수 있습니다 (예 : 네트워크로드가 많음). 터미널에 인쇄 된 "부모 프로세스와 통신 할 수 없음"오류 메시지가 표시 될 수 있습니다.

일반적으로 주어진 시간에 Katana의 ProcessManager에 의해 시작된 Python 하위 프로세스가 두 개 있습니다. 하나는 AttributeScript 처리 전용이고 다른 하나는 Python Asset Plug-in 처리 전용입니다. 각 프로세스는 느리게 시작됩니다 (필요할 때만 실행됩니다). 장면에 Python Asset Plug-ins을 사용하지 않거나 AttributeScript 노드가 없으면 생성 된 ProcessManager 하위 프로세스 또는 오류가 표시되지 않아야합니다.
그러나 프로세스가 시작되면 Katana UI / render 세션의 지속 기간 동안 존재하게되며 이러한 오류가 발생할 수 있습니다.

해결

  • 맞춤 플러그인으로 이러한 오류가 표시되는 경우 KATANA_RESOURCES 내의 올바른 폴더에 오류가 있는지 확인하십시오. 예를 들어 애셋 플러그인이 실수로 "AssetPlugins"폴더 대신 "Plugins"폴더에있는 경우 이러한 오류가 나타날 수 있습니다.
이 문제를 해결할 다른 방법은 실행중인 Katana 버전에 따라 다릅니다.
KATANA 2.0 및 2.1
Katana 2.0 및 2.1에서는 이러한 프로세스가 응답하지 않으면 ProcessManager에 의해 이러한 프로세스가 종료됩니다.
그러나 우리는 Katana가 응답하기 위해 자식 프로세스를 생성 한 후 충분히 오래 기다리지 않을 것이며 자식 프로세스를 조기에 죽은 것으로 선언하는 문제에 대해 알고 있습니다.
여전히 AttributeScript 노드 또는 Python 프로세스를 생성하는 Python Asset Plug-in을 사용하는 동안 워크 플로 요구 사항에 따라 다음 두 환경 변수를 설정하여이 동작을 수정할 수 있습니다.

- KATANA _IPC_MAX_SPAWN_ATTEMPTS - ProcessManager가보고 할 수없는 프로세스를 생성하려고 시도해야하는 최대 횟수입니다. 기본값은 5입니다.

- KATANA _IPC_MAX_VERIFY_ATTEMPTS - ProcessManager가 프로세스가 활성 상태이고 작업을 수락 할 준비가되었는지 확인해야하는 최대 횟수입니다. 기본값은 101입니다.

- ProcessManager는 프로세스가 살아 있고 각 KATANA _IPC_MAX_SPAWN_에 대한 작업을 수락 할 준비가되었는지 확인하려고 시도합니다 시험 시간.

- 모든 KATANA _IPC_MAX_VERIFY_ ATTEMPTS가 실패하면 (주어진 스폰 시도에 대해) 콘솔에 "프로세스와 통신 중 오류 발생"메시지가 기록됩니다.

환경 변수 KATANA_IPC_MAX_VERIFY_ATTEMPTS 를 1000으로 설정하는 것이 좋습니다. 이로 인해 Katana는 새로 생성 된 하위 프로세스와 최대 1 분간 통신을 계속 유지해야합니다. Katana가 자식 프로세스와의 통신을 시도하는 동안 각 렌더링 시작시 지연이 증가 할 수 있지만 일회성 이벤트 여야합니다.

KATANA 2.5
Katana 2.5는 Python Asset Plug-ins 및 AttributeScript의 신뢰성 향상에 대한 일반적인 개선 사항을 포함하고 있습니다. 특히:
  • Katana 는 5 초 이상 걸리면 AttributeScripts 또는 Python Asset Plug-ins을 실행하는 하위 프로세스를 더 이상 종료하지 않습니다.
  • 이러한 하위 프로세스 중 하나가 충돌하면 Katana 가 더 이상 중단되지 않습니다.
Katana가 회신하기를 기다리는 Katana의 기간에 간접적으로 영향을주는 KATANA _IPC_MAX_VERIFY_ATTEMPTS 환경 변수는 Katana 2.5에서 더 이상 사용되지 않습니다.
Katana가 서브 프로세스가 시작될 때까지 기다리는 시간 (기본적으로 1 분)을 제어하는 새로운 환경 변수가 있습니다 : KATANA _IPC_SPAWN_TIMEOUT_S
이것은 초 단위로 값을 취하고 최소 5 초를 허용합니다.
이 버전을 사용하여 AttributeScripts 및 Python Asset Plug-in 성능 향상을 활용하는 것이 좋습니다.
다음 단계
이러한 오류가 발생하면 실행중인 Katana 버전에 대해 적절한 환경 변수를 설정하십시오. 그래도 문제가 발생하면 지원 티켓을 열고 발생한 문제 및 지금까지 수행 한 문제 해결 단계를 알려주십시오.
지원 티켓을 여는 방법에 대한 자세한 내용은 ' 지원 포털 사용 '문서를 참조하십시오.

도움이 되었습니까?
/

We're sorry to hear that!

Please tell us why.
0명 중 0명이 도움이 되었다고 했습니다.

댓글