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 À» ÇÏÁö ¾Ê°Ô ÇÔÀ¸·Î½á ¸Þ¼¼Áö ¹ß»ýÀº ¸·½À´Ï´Ù¸¸, ±×°ÍÀ¸·Î ¹®Á¦°¡ ÇØ°áµÈ °ÍÀº ¾Æ´Õ´Ï´Ù.