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 [정보] [Apache+PHP] Segmentation Fault가 발생할 경우 ADMINPLAY 2012.07.27 47811
87 Apache 웹페이지 한글깨짐, AddDefaultsCharset 설정 file ADMINPLAY 2009.01.03 30520
86 서비스 제한측면의 아파치 활용 예제 ADMINPLAY 2012.06.26 30318
85 make[2]: *** [htpasswd] 오류 1 , make[1]: *** [all-rec... ADMINPLAY 2009.08.07 27098
» *** glibc detected *** double free or corruption (!pre... ADMINPLAY 2010.05.03 26742
83 Address already in use: make_sock:could not bind to ad... ADMINPLAY 2009.01.10 23798
82 AWSTATS 설치 ADMINPLAY 2008.12.25 23632
81 apache cronolog를 이용한 Apache Log File 날짜 별로 생... ADMINPLAY 2012.01.16 23504
80 Apache mod_deflate ADMINPLAY 2012.01.16 23376
79 apache, tomcat 가상디렉토리 설정 file ADMINPLAY 2010.09.17 23003
78 APM 기본설치후 아파치 실행에러 httpd: Could not determ... ADMINPLAY 2009.08.08 21875
77 Unclean shutdown of previous Apache run? ADMINPLAY 2009.08.05 21795
76 Apache: client denied by server configuration ADMINPLAY 2010.10.25 21665
75 mod_deflate 설정 ADMINPLAY 2011.03.18 21236
74 apache 외부링크 차단 ADMINPLAY 2010.08.31 21221
73 [LINUX] Apache 2.2 + mod jk 1.2 + Tomcat 5.x 연동 ADMINPLAY 2009.05.07 21037
72 아파치에서 멀티도메인 설정 방법 1 l2zeo 2012.10.09 20972
71 Apache 로그레벨의 종류 ADMINPLAY 2012.01.16 20842
70 APM + Snort + ADODB + BASE + oinkmaster 설치 l2zeo 2010.05.29 20816
69 리눅스 개인계정 로딩시 틸드(~)기호없이 그냥 사용 ADMINPLAY 2010.09.22 20684
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234