UiPath 0xc0000005 오류

RPA 2024. 11. 25. 11:49
반응형

UiPath를 개발하다보면, 해당 툴에서 제공하는 Try Catch [액티비티]로도 잡히지 오류들이 있다.

제목에 언급한 오류가 바로 그것인데, 이 오류는 필자가 겪었을 때엔 그냥 액티비티가 실행 되자마자 Executor가 종료되는 현상이었다. 마치, 본격적인 액티비티가 시작도 못하고 죽는 느낌이 들었다.

 

Extract Table Data

해당 오류는 요 녀석이 문제였다.

과제 상 그리고 보안상 모든 로직을 다 공개할 수는 없지만 요 녀석이 조건에 맞게 반복적으로 테이블을 리스트업하면서 내부에서 데이터들이 계속 누적되는 듯 하다.

 

해당 데이터까지만 활용이 가능하고 비교를 위해 Copy()를 치는 순간 다음 Extract Table Data, Click 혹은 기타 셀렉터 작용 등에서 매우 더뎌지더니 오류가 난다. 이는 디버그 란에서 더 많은 옵션을 켜기 시작하면 더 잘 볼 수 있다.

 

결론, 윈도우 메시지에 진입한다.

해당 오류는 UiPath에서 나는 오류가 아니었다. 무언가 Copy 작용이 일어나면서, UiPath의 GC나 혹은 다른 메모리 처리자가 Window 영역을 건드리게 되면서 Window가 강제로 UiPath를 종료시키는 모양새다.

 

윈도우 메시지 창은 [실행(Win + R)]을 열고 [eventvwr.msc]를 열면 된다.

윈도우 메시지 열기 창
윈도우 메시지 창 일부

그럼 대략 위와 같은 창이 뜨는 데, [Windows 로그] > [응용 프로그램] 을 보면 여태 일어난 이벤트를 쭉 볼 수 있다. 그 중 빨간 느낌표가 바로 봐야할 이벤트 들이다.

 

윈도우 메시지 오류 창
저 80131506 이슈가 핵심이다.
스레드 스택 오류

 

Citrix 메모리 최적화로 인해 80131506 오류 발생 - .NET Framework | Microsoft Learn

 

Citrix 메모리 최적화로 인해 80131506 오류 발생 - .NET Framework

소수의 경우 Citrix Virtual Memory Optimization Service와 함께 .NET Framework 애플리케이션을 실행하면 관리 프로세스에서 메모리 손상이 발생할 수 있습니다.

learn.microsoft.com

뭐, 제목에도 보이다시피 메모리 최적화로 인한 오류란다... Extract Table Data UiPath 코어 단에서 어떻게 처리되는지는 모르겠지만, 가져온 테이블을 또 Copy를 하는 행위는 매우 많은 자원을 소모하는 것으로 보인다.

 

핵심은 필자가 활용하는 테이블은 그리 큰 데이터가 아니라 덮어쓰기 빈도가 매우 잦았던 것이었다.

 

해결책, Copy를 직접 하지말고 LINQ에서 CopyToDataTable()을 통해 가져오니 또 잘 된다. 아무래도 LINQ와 추출 테이블은 메모리 영역이 다른 것도 같다. 쨌든, LINQ로 처리하니 모든 셀렉터와 추출 과정이 다시 원상복구되어 그만 파고들기로 했다.

반응형

'RPA' 카테고리의 다른 글

UiPath Document Understanding: Taxonomy, Digitize, Classify  (0) 2025.01.22
UiPath Excel to HTML  (2) 2024.11.27
Content Generation - 생성형 인공지능  (0) 2024.09.04
UiPath Image 처리  (0) 2024.08.23
Activate, Set Focus - (유용했던) Activity  (0) 2024.08.23
Posted by heaeny
,