Electron bad IPC message

Web, Development

어느 날 일렉트론 렌더러가 흰 화면만 띄우는 일이 발생했다. 뭐지 하고 봤더니 시작하고 URL을 로딩하자 크래시된 거였다.

로그를 뒤져보니 다음과 같이 찍혀있었다.

[8212:0719/103655.082:ERROR:bad_message.cc(23)] Terminating renderer for bad IPC message, reason 139

bad_message.cc 를 살펴보니 139번에 해당하는 오류가 BDH_DISALLOWED_ORIGIN라고 써져 있는데 뭔지는 정확하게 모르겠다.

커스텀 프로토콜을 끄니까 뜨지 않는 걸로 봐서는 뭔가 커스텀 프로토콜하고 관련된 문제 같다. 처음 뜰 때는 무시하고서는 파일 프로토콜로 갈아탔었는데, 다른 프로젝트를 하면서 커스텀 프로토콜 상의 Blob URL을 불러올 때도 똑같은 에러가 뜨는 것을 확인했다.

결론만 말하자면 protocol.registerStandardSchemes를 이용해서 표준 스킴에 커스텀 프로토콜들을 넣어주면 에러가 해결된다.