2016-04-20 11 views
1

Ich verwende php-7.0.2 mit codeigniter (ein php mvc frame). Ich habe einige Segmentierungsfehler, die Core Dumps verursacht haben. Und ich fand, dass diese Segmentierungsfehler zufällig auftraten, wenn das Kind php-fpm herunterfährt und neu startet. Ich weiß nicht warum.php7.0.2 Programm beendet mit Signal 11, Segmentierungsfehler

Mit gdb "bt", um die Core-Dump anzuzeigen:

Core was generated by `php-fpm: pool www                '. 
Program terminated with signal 11, Segmentation fault. 
\#0 zend_string_release (ht=0x114dae0) at /home/smt/phpng/php-7.0.2/Zend/zend_string.h:269 
269  /home/smt/phpng/php-7.0.2/Zend/zend_string.h: No such file or directory. 
     in /home/smt/phpng/php-7.0.2/Zend/zend_string.h 
Missing separate debuginfos, use: debuginfo-install php7-7.0.2-20160407105024.x86_64 
(gdb) bt 
\#0 zend_string_release (ht=0x114dae0) at /home/smt/phpng/php-7.0.2/Zend/zend_string.h:269 
\#1 zend_hash_destroy (ht=0x114dae0) at /home/smt/phpng/php-7.0.2/Zend/zend_hash.c:1273 
\#2 0x000000000080647b in module_destructor (module=0x14b6ae0) 
    at /home/smt/phpng/php-7.0.2/Zend/zend_API.c:2509 
\#3 0x000000000080075c in module_destructor_zval (zv=<value optimized out>) 
    at /home/smt/phpng/php-7.0.2/Zend/zend.c:615 
\#4 0x000000000080dcff in _zend_hash_del_el_ex (ht=0x1154780) 
    at /home/smt/phpng/php-7.0.2/Zend/zend_hash.c:1013 
\#5 _zend_hash_del_el (ht=0x1154780) at /home/smt/phpng/php-7.0.2/Zend/zend_hash.c:1037 
\#6 zend_hash_graceful_reverse_destroy (ht=0x1154780) at /home/smt/phpng/php-7.0.2/Zend/zend_hash.c:1489 
\#7 0x0000000000800096 in zend_shutdown() at /home/smt/phpng/php-7.0.2/Zend/zend.c:840 
\#8 0x00000000007a2a6a in php_module_shutdown() at /home/smt/phpng/php-7.0.2/main/main.c:2339 
\#9 0x000000000089e45d in main (argc=<value optimized out>, argv=<value optimized out>) 
    at /home/smt/phpng/php-7.0.2/sapi/fpm/fpm/fpm_main.c:1997 
(gdb) quit 

Die php-fpm.log ist wie folgt:

[20-Apr-2016 08:00:02] WARNING: [pool www] child 11751 exited on signal 11 (SIGSEGV - core dumped) after 3600.462022 seconds from start 

Ich bin sehr gespannt auf diesen Fehler.

Bis jetzt bin ich mir sicher, dass die Core-Dumps aufgetreten sind, als die FPM neu gestartet wurde. Die Neustarts wurden durch den Befehl 'kill -10 fpm-master-process-ids' verursacht. Oder das fpm wurde auch neu gestartet, als es 'pm.max_requests' Anfragen bearbeitet hatte.

Die Core-Dumps traten jedoch nicht bei jedem Neustart auf, und die Wahrscheinlichkeit von Core-Dumps war sehr gering. Ich kann die Rolle nicht finden.

Glücklicherweise habe ich die Version 7.0.5 installiert, um die Version 7.0.2 in unserer Produktionsumgebung zu ersetzen, und sie hatte drei Tage lang ohne Core Dumps gearbeitet.

Ich kann keine Änderungen in den Changelogs von 7.0.2 auf 7.0.5 finden. Das ist genau ein sehr seltsamer Fehler und ich möchte den Grund wissen. Wer kann mir etwas über diesen Fehler erzählen?

+0

Dies ist ein Fehler war, wird in 7.0.6 –

+0

Ja festgelegt werden, habe ich diesen Fehler https://bugs.php.net/bug.php?id=71662&edit=3 gefunden es sagte, dies Fehler wurde behoben in 7.0.4, aber wir können nicht in changlog –

+0

finden Was verursacht diesen Fehler? Ich kann die Modifikation für diesen Fehler in 7.0.6-Zweig nicht finden. –

Antwort

0

Nach dem Update auf 7.0.5 ist der Core Dump seit 2 Wochen nicht mehr aufgetreten. Also, dieser Fehler wurde in 7.0.5 behoben!

Ich weiß immer noch nicht, in welchem ​​Fall dieser Fehler.

Ich bin eine neugierige Katze. @ _ @

Verwandte Themen