AIX 5.2에서 calloc이 실패하네요...

egonspace의 이미지

프로그램을 구동하면 malloc, calloc등을 여러 곳에서 사용합니다.
구동중에 에러가 나는데,
원인은 calloc(1, 1048)이 실패를 하네요.(NULL이 리턴됨)
메모리 부족 상황은 아니구요.(errno가 세팅이 안되고, 메모리도 많이 남아 있는 상황임)
에러 났을 때 malloc으로 다시 할당하면 문제없이 진행됩니다.

또 한가지 특이한점은
calloc(1, 1048)이 실패했을 때,
다시 다른 size로 calloc을 시도해봤더니
512바이트까지만 되고 513바이트부터 계속 실패를 하더군요.
에러 발생이전엔 64K도 있고 6168바이트짜리 할당도 잘 수행되었습니다.
에러 발생시점까지 총 76M정도 메모리를 할당했고, calloc에 의해 할당된 메모리는 6M가 조금 넘네요.

다른 플랫폼엔 아무 문제가 없는데 AIX 5.2와 AIX 5.3에서 이 문제가 종종 발견되네요.

혹시 AIX에 calloc 관련해서 버그가 있다거나 이에 대해 아시는 분 답변 좀 부탁합니다.

구글링해서 열씨미 찾아보고 있긴한데 잘 없네요 ㅠ

Stand Alone Complex의 이미지

memory fragmentation이 발생해서 실패하는게 아닐까요?

RET ;My life :P