메뉴 건너뛰기

리눅스 관련 모음

본문시작

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

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

국산 통나무 수공예 남원제기, 남원목기

자료가 도움이 되셨다면
혼수용품제수용품 필요시
남원제기 공식 홈페이지 http://남원제기.kr
남원목기 공식 홈페이지 http://otchil.kr
에서 구매 해 주세요
정성껏 모시겠습니다.
 

아파치 프로세스가 가끔씩 또는 자주 error log에 segmentation fault 메세지를 남기면서 죽는 경우는 보통 아파치 모듈에 에러가 있는 경우입니다.
보통 아파치는 여러 개의 모듈이 로딩되고 모듈 자체에서 다시 외부 모듈을 호출하는 경우도 있기 때문에 디버깅을 하기가 쉽지 않습니다.

아파치 프로세스가 죽으면서 error log에 아래와 같은 메세지를 남깁니다.
[Thu Jul 03 16:41:43 2008] [notice] child pid 26827 exit signal Segmentation fault (11)

core 파일 생성을 위해서 httpd.conf 에 아래 내용을 추가합니다.
CoreDumpDirectory /tmp # core 파일을 /tmp에 생성

이제 아파치 프로세스가 죽게되면 error log 메세지가 아래와 같이 바뀌고 /tmp 디렉토리에 core 파일이 생성됩니다.
[Thu Jul 03 17:09:05 2008] [notice] child pid 27723 exit signal Segmentation fault (11), possible coredump in /tmp

만약 core 파일이 생성되지 않을 경우에는 아파치 데몬 소유자의 core limit을 변경해 줍니다. (bash shell에서)
ulimit -c unlimited

이제 gdb를 실행합니다.
gdb /usr/local/httpd/bin/httpd /tmp/core

관련된 파일이 로딩되고 나면, back trace로 어디서 문제가 생겼는지 확인합니다.
(gdb) bt
#0  0x4019f6bf in chunk_free (ar_ptr=0x402537a0, p=0xffffffec) at malloc.c:3226
#1  0x4019f424 in __libc_free (mem=0x82320e4) at malloc.c:3155
#2  0x406b00c3 in zif_zend_aescryptstring () from /usr/local/libexec/api/libaesapi.so
#3  0x405947b3 in execute (op_array=0x825df24)
    at /usr/local/libexec/wwwsrc/php-4.4.4/Zend/zend_execute.c:1675
#4  0x40594957 in execute (op_array=0x825ddd4)
    at /usr/local/libexec/wwwsrc/php-4.4.4/Zend/zend_execute.c:1719
#5  0x40594957 in execute (op_array=0x825da0c)
    at /usr/local/libexec/wwwsrc/php-4.4.4/Zend/zend_execute.c:1719
...

여기서는 zend_aescryptstring 가 php 확장 모듈이기 때문에 3번 프레임의 내용을 확인합니다.

(gdb) frame 3
#3  0x405947b3 in execute (op_array=0x825df24)
    at /usr/local/libexec/wwwsrc/php-4.4.4/Zend/zend_execute.c:1675
1675    /usr/local/libexec/wwwsrc/php-4.4.4/Zend/zend_execute.c: No such file or directory.
        in /usr/local/libexec/wwwsrc/php-4.4.4/Zend/zend_execute.c
(gdb) print (char *)executor_globals.active_op_array->filename (해당 모듈을 호출한 php 파일을 출력합니다.)
$1 = 0x8252e8c "/usr/local/mainwww/webII/lib/class.CryptCookie2.php"
(gdb) print (char *)executor_globals.active_op_array->function_name
$2 = 0x8259c5c "_decrypt" (php 파일 내에서 모듈을 호출한 함수 이름)
(gdb) print (char *)(executor_globals.function_state_ptr->function)->common.function_name
$3 = 0x406b04c0 "zend_aescryptstring" (php 모듈의 함수 이름)

이제 문제가 된 zend_aescryptstring 함수를 찾아서 디버깅하면 됩니다 ^^


참고 자료:
http://bugs.php.net/bugs-generating-backtrace.php
http://httpd.apache.org/dev/debugging.html

   

List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
170 에러해결 리눅스 명령어로 IP 주소 변경하기. 햇빛소년 2015.04.06 856
169 에러해결 IPV4 주소 오류 식별되지 않은 네트워크 인식 문제 햇빛소년 2015.03.08 1055
168 설치관련 redis 2.8.19 설치하기 햇빛소년 2015.02.27 1584
167 에러해결 win8.1 F8 안전모드 부팅하기 햇빛소년 2015.02.22 740
166 에러해결 zone_resigninc:dns_journal_open -> unexpected error secret 햇빛소년 2015.02.07 0
165 설치관련 mysql 계정사용자 추가하기. secret 햇빛소년 2015.01.11 1216
164 에러해결 CentOS7 firewall 사용시 spamd: could not create INET socket on 127.0.0.1:783: 햇빛소년 2014.11.04 3748
163 에러해결 네임서버(NameServer) 설정 및 점검 사이트 햇빛소년 2014.11.01 3459
162 에러해결 [win8] 호스트된 네트워크를 시작할 수 없습니다. 햇빛소년 2014.10.30 3687
161 설치관련 유동IP(DDNS)+공유기+apache서버1+apache서버2+proxy로 도메인 포워딩. secret 햇빛소년 2014.10.28 3480
160 에러해결 CentOS-7 Network 설정에 관하여.... 햇빛소년 2014.10.27 7707
159 에러해결 CentOS 7 rc.local 자동실행 boot 햇빛소년 2014.10.26 23880
158 에러해결 httpd 서비스는 chkconfig 를 지원하지 않습니다. 햇빛소년 2014.10.25 4666
157 에러해결 php5:::configure: error: Cannot find libmysqlclient_r under /usr/local/mysql 햇빛소년 2014.10.24 7510
156 에러해결 centos 7 : modsecurity 컴파일 설치시 iconv 찾지 못하는 에러... 햇빛소년 2014.10.18 3972
155 설치관련 centos 7 : iconv 컴파일 설치시 에러 해결 햇빛소년 2014.10.18 8180
154 에러해결 php 소스컴파일시 - /usr/bin/ld: cannot find -lltdl 에러 날 때. 햇빛소년 2014.10.17 3815
153 설치관련 처음 설치 해 보는 mariadb 소스설치 햇빛소년 2014.10.16 5627
152 설치관련 경영학과의 눈물… 예고된 취업 바늘구멍 햇빛소년 2014.10.12 4048
151 설치관련 html코딩 dtd선언 - <!DOCTYPE HTML PUBLIC 햇빛소년 2014.07.21 4729
Board Pagination Prev 1 2 3 4 5 6 7 8 9 10 Next
/ 10