안녕하세요...
이런 듣도보도못한 상황을 봐서...ㅠㅠ 질문올립니다.
우선 Linux에서 서버를 개발중인데... Connection이 적을 땐 문제가 없다가
한 1000개쯤 연결시켜놓고 테스트를 하면 Segmentation fault가 납니다..
그 이유는... 중간에 함수를 거치면서 하나의 중요한 인수가 바껴버립니다...
C++사용중이고 Callback을 하는 부분입니다.
int cbRecvHandler(CLASSNAME *param_a, void *param_b, CLASSNAME2 *param_c, int param_d, char *param_e)
이 함수를 실행하기 전에 param_c에 들어가는 포인터는 0x00007fffec0ddd60 였습니다.
그리고 이 함수에 들어가서는 param_c가 0x80007fffec0ddd60으로 변해져 있습니다...ㅠㅠ
왜이럴까요... 서버보드는 Unbuffered ECC RAM도 달려있습니다.
다른.. 종합적인 문제가 있을까 싶지만 유난히 저것만 바껴있네요..