1. 현상

macOS 상에서 수행 중인 파이썬 프로그램에서 다음과 같은 에러가 발생했습니다.

Python(57868) MallocStackLogging: can't turn off malloc stack logging because it was not enabled.
Python(57901) MallocStackLogging: can't turn off malloc stack logging because it was not enabled.

 


2. 해결방법

에러 메시지를 분석해보면 MallocStackLogging 관련 경고가 발생하고 있습니다. 이는 일반적으로 메모리 할당(alloc)과 해제(free) 로그를 추적하는 기능과 관련이 있습니다.

 

🔍 MallocStackLogging 경고 원인 분석

1. 메모리 할당 디버깅 기능이 비활성화된 상태에서 해제하려고 시도

MallocStackLogging은 macOS에서 메모리 누수 및 오류 추적을 위해 사용되는 기능입니다.

→ 코드에서 MallocStackLogging을 비활성화하려 했으나, 애초에 활성화되지 않았다는 의미입니다.

2. Selenium WebDriver 관련 문제

webdriver.Chrome(options) 실행 시 발생할 가능성이 높음.

malloc stack logging 기능이 활성화되지 않은 환경에서 macOS의 메모리 관리 시스템이 Chrome 드라이버 실행 시 영향을 줄 수 있음.

3. MacOS 환경에서 Python의 메모리 관련 문제

→ 특정한 시스템 환경에서 발생하는 것으로 보이며, 파이썬과 크롬 드라이버 간의 충돌 가능성이 있음.

 

🛠 해결 방법

✅ 1. 크롬 드라이버의 옵션 변경

기존 코드에서 크롬 드라이버를 실행하는 부분을 다음과 같이 변경해보세요.

options = webdriver.ChromeOptions()
options.add_argument("--disable-gpu")  # GPU 비활성화
options.add_argument("--no-sandbox")   # 샌드박스 모드 해제
options.add_argument("--disable-dev-shm-usage")  # 공유 메모리 사용 비활성화
options.add_argument("--disable-software-rasterizer")  # 소프트웨어 가속 비활성화
options.add_argument("--headless=new")  # 최신 headless 모드 사용
driver = webdriver.Chrome(options=options)

--headless=new 옵션을 추가하면 새로운 헤드리스 모드를 사용하여 안정성을 높일 수 있습니다.

 

✅ 2. Python 메모리 할당 관련 환경 변수 설정

터미널에서 다음 명령을 실행 후 다시 시도해보세요.

export MallocStackLogging=0

이후에 Python 스크립트를 실행하면 문제가 해결될 가능성이 높습니다.

 

✅ 3. Python 실행 시 환경 설정 추가

Python 실행 시 MallocStackLogging을 비활성화할 수 있도록 다음과 같이 실행하세요.

MallocStackLogging=0 python3 main.py

이렇게 하면 MallocStackLogging 관련된 경고가 무시될 것입니다.

 


🔥 결론

에러 자체는 크롬 드라이버 실행과 관련된 macOS의 메모리 관리 기능에서 발생한 것으로 보임.

크롬 드라이버 실행 옵션을 조정하거나, macOS에서 MallocStackLogging을 비활성화하면 문제를 해결할 수 있음.

가장 빠른 해결 방법: export MallocStackLogging=0 실행 후 다시 시도.