LinuxForum.Fans
Тема

php[16463]: segfault at ffffffff ip 000000000058b19f sp 00007fffc76660

Автор: shahriyar_r 4 сообщений 1885 просмотров
10.10.2014 14:29 · отредактировано #395799

уважаемые эксперты,
я обнаружил критическую проблему , после новой установки Nginx, PHP-FPM.


Release : CentOS release 6.5 (Final)
Kernel : 2.6.32-431.29.2.el6.x86_64

text

[root@web3 ~]# nginx -v
nginx version: nginx/1.6.2
[root@web3 ~]# php-fpm -v
PHP 5.3.3 (fpm-fcgi) (built: Sep 30 2014 05:57:02)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies

Есть несколько php script-ов, работающих на cron-e. через некоторое время есть ошибки в виде:
от dmesg:

text

php[25666]: segfault at ffffffff ip 000000000058b19f sp 00007fffbaee4570 error 4 in php[400000+2c0000]
php[26630]: segfault at ffffffff ip 000000000058b19f sp 00007fffc9f12db0 error 4 in php[400000+2c0000]
php[27588]: segfault at ffffffff ip 000000000058b19f sp 00007fffa2ce31f0 error 4 in php[400000+2c0000]
php[28527]: segfault at ffffffff ip 000000000058b19f sp 00007fff98a5e9c0 error 4 in php[400000+2c0000]
php[29498]: segfault at 43a11 ip 000000000058b1f9 sp 00007fffeedbe290 error 4 in php[400000+2c0000]
php[31074]: segfault at ffffffff ip 000000000058b19f sp 00007fff7edd0050 error 4 in php[400000+2c0000]
php[32250]: segfault at ffffffff ip 000000000058b19f sp 00007fffb1750660 error 4 in php[400000+2c0000]
php[885]: segfault at ffffffff ip 000000000058b19f sp 00007fffa7ab4ba0 error 4 in php[400000+2c0000]
php[2083]: segfault at ffffffff ip 000000000058b19f sp 00007fff2c575840 error 4 in php[400000+2c0000]
php[2969]: segfault at 167c5 ip 000000000058b1f9 sp 00007fff79015a40 error 4 in php[400000+2c0000]
php[5533]: segfault at 18 ip 000000000058b1f9 sp 00007fff312123f0 error 4 in php[400000+2c0000]
php[7156]: segfault at ffffffff ip 000000000058b19f sp 00007ffff4053b20 error 4 in php[400000+2c0000]
php[7227]: segfault at ffffffff ip 000000000058b19f sp 00007fff8c7739c0 error 4 in php[400000+2c0000]
php[8859]: segfault at ffffffff ip 000000000058b19f sp 00007fff03f38c70 error 4 in php[400000+2c0000]
php[10189]: segfault at ffffffff ip 000000000058b19f sp 00007fffb25b23c0 error 4 in php[400000+2c0000]
php[11542]: segfault at ffffffff ip 000000000058b19f sp 00007fffebcc0460 error 4 in php[400000+2c0000]
php[13235]: segfault at ffffffff ip 000000000058b19f sp 00007fffe54f7fe0 error 4 in php[400000+2c0000]
php[14543]: segfault at ffffffff ip 000000000058b19f sp 00007fffe67ff600 error 4 in php[400000+2c0000]

от /var/log/messages:

text

Oct 10 11:54:51 web3 kernel: php[25666]: segfault at ffffffff ip 000000000058b19f sp 00007fffbaee4570 error 4 in php[400000+2c0000]
Oct 10 11:54:52 web3 abrtd: Directory 'ccpp-2014-10-10-11:54:51-25666' creation detected
Oct 10 11:54:52 web3 abrt[25667]: Saved core dump of pid 25666 (/usr/bin/php) to /var/spool/abrt/ccpp-2014-10-10-11:54:51-25666 (48975872 bytes)
Oct 10 11:55:17 web3 abrtd: Sending an email...
Oct 10 11:55:17 web3 abrtd: Email was sent to: root@localhost

от coredump:

text

Core was generated by `/usr/bin/php /home/menbe/public_html/Grab/index-console.php Test *****'.
Program terminated with signal 11, Segmentation fault.
#0  zend_mm_remove_from_free_list (heap=<value optimized out>, mm_block=0x2c43d78) at /usr/src/debug/php-5.3.3/Zend/zend_alloc.c:826
826                ZEND_MM_CHECK_TREE(mm_block);

(gdb) bt #0 zend_mm_remove_from_free_list (heap=<value optimized out>, mm_block=0x2c43d78) at /usr/src/debug/php-5.3.3/Zend/zend_alloc.c:826 #1 0x000000000058b3b5 in _zend_mm_free_int (heap=0x26582b0, p=0x2c43d28) at /usr/src/debug/php-5.3.3/Zend/zend_alloc.c:2019 #2 0x00000000005b4b91 in zend_hash_destroy (ht=0x50618b8) at /usr/src/debug/php-5.3.3/Zend/zend_hash.c:531 #3 0x00000000005a052a in destroy_zend_class (pce=<value optimized out>) at /usr/src/debug/php-5.3.3/Zend/zend_opcode.c:191 #4 0x00000000005b4835 in zend_hash_apply_deleter (ht=0x2658c00, p=0x2d14040) at /usr/src/debug/php-5.3.3/Zend/zend_hash.c:609 #5 0x00000000005b4939 in zend_hash_reverse_apply (ht=0x2658c00, apply_func=0x59b750 <clean_non_persistent_class>) at /usr/src/debug/php-5.3.3/Zend/zend_hash.c:758 #6 0x000000000059c45e in shutdown_executor () at /usr/src/debug/php-5.3.3/Zend/zend_execute_API.c:312 #7 0x00000000005a8c22 in zend_deactivate () at /usr/src/debug/php-5.3.3/Zend/zend.c:890 #8 0x0000000000556805 in php_request_shutdown (dummy=<value optimized out>) at /usr/src/debug/php-5.3.3/main/main.c:1634 #9 0x0000000000631214 in main (argc=4, argv=0x7fffbaee4e98) at /usr/src/debug/php-5.3.3/sapi/cli/php_cli.c:1373

(gdb) bt full #0 zend_mm_remove_from_free_list (heap=<value optimized out>, mm_block=0x2c43d78) at /usr/src/debug/php-5.3.3/Zend/zend_alloc.c:826 rp = <value optimized out> cp = <value optimized out> prev = 0x2fbac30 next = 0x2fbac30 #1 0x000000000058b3b5 in _zend_mm_free_int (heap=0x26582b0, p=0x2c43d28) at /usr/src/debug/php-5.3.3/Zend/zend_alloc.c:2019 mm_block = 0x2c43d18 next_block = 0x2c43d78 size = 96 #2 0x00000000005b4b91 in zend_hash_destroy (ht=0x50618b8) at /usr/src/debug/php-5.3.3/Zend/zend_hash.c:531 p = 0x505ea78 q = 0x2c43d28 #3 0x00000000005a052a in destroy_zend_class (pce=<value optimized out>) at /usr/src/debug/php-5.3.3/Zend/zend_opcode.c:191 ce = 0x5061888 #4 0x00000000005b4835 in zend_hash_apply_deleter (ht=0x2658c00, p=0x2d14040) at /usr/src/debug/php-5.3.3/Zend/zend_hash.c:609 retval = <value optimized out> #5 0x00000000005b4939 in zend_hash_reverse_apply (ht=0x2658c00, apply_func=0x59b750 <clean_non_persistent_class>) at /usr/src/debug/php-5.3.3/Zend/zend_hash.c:758 result = 1 p = 0x2d140e0 q = 0x2d14040 #6 0x000000000059c45e in shutdown_executor () at /usr/src/debug/php-5.3.3/Zend/zend_execute_API.c:312 __orig_bailout = 0x0 __bailout = {{__jmpbuf = {9618720, 2173076702337174189, 140736329576223, 0, 0, 140736329576223, -2173227788673480019, 2173076671519001261}, __mask_was_saved = 0, __saved_mask = {__val = {47177776, 104, 5813072, 46623608, 140388458062080, 88, 5813072, 3328, 5813072, 9620224, 9617240, 9618536, 0, 0, 5928661, 9620224}}}} #7 0x00000000005a8c22 in zend_deactivate () at /usr/src/debug/php-5.3.3/Zend/zend.c:890 No locals. #8 0x0000000000556805 in php_request_shutdown (dummy=<value optimized out>) at /usr/src/debug/php-5.3.3/main/main.c:1634 report_memleaks = 1 '\001' #9 0x0000000000631214 in main (argc=4, argv=0x7fffbaee4e98) at /usr/src/debug/php-5.3.3/sapi/cli/php_cli.c:1373 exit_status = 0 c = <value optimized out> file_handle = {type = ZEND_HANDLE_MAPPED, filename = 0x7fffbaee6f1f "/home/menbe/public_html/Grab/index-console.php", opened_path = 0x0, handle = {fd = 42667528, fp = 0x28b0e08, stream = {handle = 0x28b0e08, isatty = 0, mmap = {len = 585, pos = 0, map = 0x7faec7efd000, buf = 0x7faec7efd000 <Address 0x7faec7efd000 out of bounds>, old_handle = 0x28da640, old_closer = 0x5bd500 <zend_stream_stdio_closer>}, reader = 0x5bdb10 <zend_stream_stdio_reader>, ---Type <return> to continue, or q <return> to quit--- fsizer = 0x5bd5b0 <zend_stream_stdio_fsizer>, closer = 0x5bdaa0 <zend_stream_mmap_closer>}}, free_filename = 0 '\000'} behavior = <value optimized out> reflection_what = <value optimized out> orig_optind = 1 orig_optarg = 0x0 arg_free = <value optimized out> arg_excp = <value optimized out> script_file = <value optimized out> interactive = <value optimized out> module_started = 1 request_started = 1 lineno = 1 exec_direct = <value optimized out> exec_run = <value optimized out> exec_begin = <value optimized out> exec_end = <value optimized out> param_error = <value optimized out> hide_argv = <value optimized out> ini_entries_len = <value optimized out>

Пожалуйста, помогите мне в поиске суть проблемы.

15.10.2014 15:00 · отредактировано #396682

далее выяснили:

text
[root@linuxsrv2 ~]# gdb /usr/bin/php
.
.
(gdb) run /usr/share/nginx/html/Grab/index-console.php Test xxxxxxx
Starting program: /usr/bin/php /usr/share/nginx/html/Grab/index-console.php Test deyerlerorg
[Thread debugging using libthread_db enabled]
zend_mm_heap corrupted

Program exited with code 01.

выключения "garbace collector"-a решил эту проблему:

text
[PHP]
zend.enable_gc = 0
text
(gdb) run /usr/share/nginx/html/Grab/index-console.php Test xxxxxx
Starting program: /usr/bin/php /usr/share/nginx/html/Grab/index-console.php Test deyerlerorg
[Thread debugging using libthread_db enabled]

Program exited normally..

это хорошая идея выключить "garbace collector" навсегда?

15.10.2014 17:15 #396698

дело в том что у меня стандартные скрипты, меняю только action:

text

/usr/share/nginx/html/Grab/index-console.php Test Action1
/usr/share/nginx/html/Grab/index-console.php Test Action2
/usr/share/nginx/html/Grab/index-console.php Test Action3

решил отключить глобально. посмотрим как будет работать.

спасибо большое за ответ.

Войдите или зарегистрируйтесь, чтобы ответить.