Skip to content

조회 수 26742 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
APACHE 에러로그에 아래와 같은 메세지가 출력되면서....아파치는 기하급수적으로 CPU를 점유하고 있었으며 로드는...500을상회하면서 시스템이 먹통이 되는 현상이 발생했다...

[Wed Feb  3 21:24:45 2010] [notice] child pid 21395 exit signal Aborted (6)
*** glibc detected *** double free or corruption (!prev): 0x09e4b620 ***
[Wed Feb  3 21:26:31 2010] [notice] child pid 20723 exit signal Aborted (6)
*** glibc detected *** double free or corruption (!prev): 0x09f1ab80 ***
[Wed Feb  3 21:26:36 2010] [notice] child pid 1315 exit signal Aborted (6)


glibc의 추가된 기능중에 코드의 무결성 체크를 하는 기능
  • Red Hat 엔터프라이즈 리눅스 4에 포함된 버전 glibc는 데이터 손상을 최대할 빨리 검색하여 방지할 수 있도록 내부 정상 감시 기능을 추가로 수행합니다. 데이터 손상이 감지되면 다음과 같은 메시지가 표준 오류로 나타날 것입니다 (만일 표준 오류(stderr)이 열려있지 않은 경우에는 syslog으로 기록됩니다):

    *** glibc detected *** double free or corruption: 0x0937d008 ***

    이 오류 메시지를 생성하는 프로그램은 디폴트로 제거(kill)됩니다; MALLOC_CHECK_ 환경 변수를 이용하여 오류 메시지 생성 여부를 선택하실 수 있습니다. 다음과 같은 설정이 가능합니다:

    • 0 ? 오류 메시지를 생성하지 않고, 프로그램을 제거하지 않음

    • 1 ? 오류 메시지를 생성하지만, 프로그램을 제거하지 않음

    • 2 ? 오류 메시지를 생성하지는 않지만, 프로그램은 제거함

    • 3 ? 오류 메시지를 생성하고 프로그램을 제거함

    • 알림

      만일 MALLOC_CHECK_ 변수를 0이 아닌 다른 값으로 설정할 경우, glibc는 기본 설정 보다 광범위한 검사를 수행하므로결국 시스템 성능에 영향을 미칠 수 있습니다.

      만일 제삼자 ISV의 프로그램로 인해 이러한 데이터 손상 검사가 수행되고 오류 메시지가 나타난다면, 심각한 문제일 수 있으니 어플리케이션의 제조업체에 보고하시기 바랍니다.



      ■ 해결책

       1. 환경변수(environment variable) 설정
           export MALLOC_CHECK_=0

           참조: http://www.jp.redhat.com/support/manuals/RHEL4_RELEASE-NOTES-ja.html

      2. 코드에서 double free가 있거나 double malloc이 있는 경우에 발생합니다. glibc 버전 업이 진행되면서 새로 추가된 기능 중 하나지요. 메모리 보호를 위한 조치랄까요. 일단 malloc_check 을 하지 않게 함으로써 메세지 발생은 막습니다만, 그것으로 문제가 해결된 것은 아닙니다.

       

TAG •

List of Articles
번호 제목 글쓴이 날짜 조회 수
88 (간단한 팁) 우분투에 Apache2 설치하기 ( apt-get ) 로키 2012.04.01 17600
» *** glibc detected *** double free or corruption (!pre... ADMINPLAY 2010.05.03 26742
86 64bit 시스템에 ssl 설치 후 실행 시 X509_free 오류 ADMINPLAY 2008.10.07 15507
85 Address already in use: make_sock:could not bind to ad... ADMINPLAY 2009.01.10 23798
84 apache + oracle (오라클 DB 한글깨짐) ADMINPLAY 2010.02.24 19594
83 Apache - 도메인 포워딩 ADMINPLAY 2010.08.26 18807
82 Apache 1.3.12 httpd.conf 파일 한글설명 ADMINPLAY 2009.03.04 13361
81 apache 2.0.x , 2.2.x 버전대 max client 값 수정시 ADMINPLAY 2008.10.08 14799
80 Apache 2.2.17 (mod_url 하고 mod_rewrite 충돌) file ADMINPLAY 2011.08.18 20396
79 Apache 2.2.21 패치 (mod_proxy_ajp 패치와 apache killer... ADMINPLAY 2012.01.16 19641
78 apache cronolog를 이용한 Apache Log File 날짜 별로 생... ADMINPLAY 2012.01.16 23504
77 Apache expires 설정으로 브라우저 캐시 l2zeo 2013.03.18 11891
76 apache log 정리 ADMINPLAY 2008.12.14 13527
75 apache log에 그림이미지 파일 로그 안남기기 ADMINPLAY 2009.11.26 14666
74 Apache Make시 /usr/lib/libexpat.so: could not read sym... ADMINPLAY 2009.08.07 17943
73 Apache mod_deflate ADMINPLAY 2012.01.16 23376
72 apache server 2.2, Tomcat5.5 로드밸런싱 및 클러스터 ADMINPLAY 2009.12.10 19119
71 Apache Worker 방식의 이해 및 설정법 ADMINPLAY 2012.01.16 16955
70 Apache 로그레벨의 종류 ADMINPLAY 2012.01.16 20842
69 Apache 버전확인 ADMINPLAY 2008.12.23 15428
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234