Skip to content

조회 수 26743 추천 수 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
번호 제목 글쓴이 날짜 조회 수
48 RedirectMatch (도메인포워딩) ADMINPLAY 2009.01.23 15435
47 mod_gzip, mod_deflate ADMINPLAY 2010.07.29 19117
46 mod_deflate 설정 ADMINPLAY 2011.03.18 21236
45 make[2]: *** [htpasswd] 오류 1 , make[1]: *** [all-rec... ADMINPLAY 2009.08.07 27119
44 KeepAlive 설정 및 정의 ADMINPLAY 2012.01.16 19891
43 httpd.conf 파일에 대한 설명 / 번역 ADMINPLAY 2008.10.08 14196
42 h264 스트리밍 서버 구축(리눅스,아파치) (실시간 아님, ... ADMINPLAY 2012.08.13 17176
41 expires설정으로 브라우저캐시 ADMINPLAY 2009.04.18 14662
40 CGI 퍼미션 으로 웹페이지 열리지 않음 ADMINPLAY 2009.01.12 14674
39 CGI 오류: Premature end of script headers (Internal Se... 1 ADMINPLAY 2008.12.14 14127
38 CentOS 5.X 에 MRTG설치 할때 한글 문제 ADMINPLAY 2014.06.06 6881
37 AWSTATS 설치 ADMINPLAY 2008.12.25 23808
36 AWSTATS 국가별 사용자 분석 ADMINPLAY 2008.12.25 14463
35 APM설치 후 80포트가 연결이 안되요....ㅜㅜ 1 kimbongsoo 2013.02.14 9803
34 APM 기본설치후 아파치 실행에러 httpd: Could not determ... ADMINPLAY 2009.08.08 21875
33 APM + Snort + ADODB + BASE + oinkmaster 설치 l2zeo 2010.05.29 20816
32 Apache의 Indexes된 페이지에서 한글표시 file ADMINPLAY 2009.05.07 16291
31 apache가 worker 모드인지 prefork 모드로 동작하는지 확인 1 file l2zeo 2013.01.21 17469
30 Apache: client denied by server configuration ADMINPLAY 2010.10.25 21665
29 apache2 worker 방식 client 수치 설정법 ADMINPLAY 2009.11.26 16069
Board Pagination Prev 1 2 3 4 5 Next
/ 5

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234