AI Image

ComfyUI Impact Pack findInputSlot is not a function 오류 해결 방법

루피캣 2026. 10. 7. 23:42
반응형

ComfyUI에서 기존 워크플로우를 열거나 ComfyUI에서 생성한 이미지를 다시 불러왔을 때 아래와 같은 오류가 발생할 수 있다.

Loading aborted due to error reloading workflow data
TypeError: t.findInputSlot is not a function

오류 메시지에는 다음 파일이 함께 표시될 수 있다.

/extensions/ComfyUI-Impact-Pack/impact-pack.js

내 경우 오류 스택에서 impact-pack.js:639가 직접 표시됐다.

오류 발생 원인

ComfyUI 프론트엔드와 Impact Pack의 일부 Switch 계열 노드 사이에서 발생하는 호환성 문제다.

특히 다음과 같은 노드가 포함된 워크플로우에서 문제가 발생할 수 있다.

ImpactSwitch
LatentSwitch
SEGSSwitch

 

관련 GitHub 이슈:

https://github.com/ltdrdata/ComfyUI-Impact-Pack/issues/1223

 

ImpactSwitch aborts workflow loading on frontend >=1.47 - "TypeError: t.findInputSlot is not a function" (slot-0 hack in onConne

Environment: ComfyUI 0.28.0, frontend 1.47.9, Impact-Pack 8.28.3 (700821e), Windows 11 Symptom Any workflow containing an ImpactSwitch (also LatentSwitch/SEGSSwitch) whose input1 (slot 0) has a con...

github.com

 

Impact Pack 내부 코드에서 node.connect() 호출 시 대상에 노드 객체가 아닌 node.id 값이 전달되고, 이후 findInputSlot() 호출 과정에서 오류가 발생한다.

문제가 되는 코드는 impact-pack.js의 다음 부분이다.

let origin_type = node.outputs[link_info.origin_slot]?.type;

if(link_info.target_slot == 0 && this.inputs.length > 3) {
        origin_type = this.inputs[1].type;
        node.connect(link_info.origin_slot, node.id, 'input1');
}

해결 방법

먼저 impact-pack.js 파일을 백업한다.

보통 파일 위치는 다음과 같다.

ComfyUI
└─ custom_nodes
   └─ comfyui-impact-pack
      └─ js
         └─ impact-pack.js

impact-pack.js 파일을 열고 위 코드를 찾는다.

 

수정 전:

let origin_type = node.outputs[link_info.origin_slot]?.type;

if(link_info.target_slot == 0 && this.inputs.length > 3) {
        origin_type = this.inputs[1].type;
        node.connect(link_info.origin_slot, node.id, 'input1');
}

node.connect()가 들어간 한 줄만 주석 처리한다.

 

수정 후:

let origin_type = node.outputs[link_info.origin_slot]?.type;

if(link_info.target_slot == 0 && this.inputs.length > 3) {
        origin_type = this.inputs[1].type;
        // node.connect(link_info.origin_slot, node.id, 'input1');
}

GitHub 이슈에서는 관련 처리 부분을 제거하는 방법도 제안하고 있지만, 내 환경에서는 아래 한 줄만 주석 처리해도 기존 워크플로우를 정상적으로 불러올 수 있었다.

// node.connect(link_info.origin_slot, node.id, 'input1');

ComfyUI 재시작

파일을 수정한 뒤 ComfyUI를 완전히 종료하고 다시 실행한다.

이후 브라우저를 새로고침하고 문제가 발생했던 워크플로우를 다시 열어본다.

필요하다면 Ctrl + F5로 강력 새로고침을 해도 된다.

기존 워크플로우가 정상적으로 열리고 ImpactSwitch 등의 연결이 그대로 유지되는지 확인한다.

임시 해결 방법

이 방법은 정식 패치가 아닌 임시 우회 방법이다.

향후 ComfyUI Impact Pack이 업데이트되면 수정한 impact-pack.js 파일이 다시 원본으로 덮어써질 수 있다.

업데이트 후에는 우선 별도의 수정 없이 기존 워크플로우를 열어보고, 문제가 해결됐다면 이 수정은 다시 적용할 필요가 없다.

동일한 오류가 계속 발생한다면 위 방법을 다시 확인하면 된다.

반응형