Bug #79252 [NEW]: preloading causes php-fpm to segfault during exit

From: Date: Mon, 10 Feb 2020 12:41:43 +0000
Subject: Bug #79252 [NEW]: preloading causes php-fpm to segfault during exit
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-225476@lists.php.net to get a copy of this message
From: jakub at tuenti dot com Operating system: Linux PHP version: 7.4.3RC1 Package: opcache Bug Type: Bug Bug description:preloading causes php-fpm to segfault during exit Description: ------------ Preloading a class with a static variable causes php-fpm to segfault during exit. I have tested in debian docker images with php 7.4.2 and 7.4.3RC1. Preloading works fine before the exit. root@a37b6a321c52:/# php-fpm -dzend_extension=opcache -dopcache.preload=/preload.php -dopcache.preload_user=root [10-Feb-2020 12:34:41] NOTICE: fpm is running, pid 579 [10-Feb-2020 12:34:41] NOTICE: ready to handle connections ^C[10-Feb-2020 12:34:42] NOTICE: Terminating ... [10-Feb-2020 12:34:42] NOTICE: exiting, bye-bye! Segmentation fault (core dumped) I have included a backtrace for php 7.4.2 Test script: --------------- # /preload.php <?php opcache_compile_file("/test.php"); # /test.php <?php class A { static $x; } Actual result: -------------- #0 zend_cleanup_internal_class_data (ce=0x7f3d0fcbe9a0) at ./Zend/zend_types.h:441 static_members = 0x303a783a746f6f72 p = 0x303a783a746f6f72 end = 0x303a783a746f6f82 #1 0x000055e6aca38988 in destroy_zend_class (zv=<optimized out>) at ./Zend/zend_opcode.c:253 op_array = <optimized out> prop_info = <optimized out> ce = 0x7f3d0fcbe9a0 fn = <optimized out> #2 0x000055e6aca53905 in zend_hash_destroy (ht=0x55e6addef390) at ./Zend/zend_hash.c:1541 p = 0x55e6ade943d0 end = 0x55e6ade943f0 #3 0x000055e6aca43b36 in zend_shutdown () at ./Zend/zend.c:1054 No locals. #4 0x000055e6ac9e372a in php_module_shutdown () at ./main/main.c:2477 module_number = <optimized out> module_number = <optimized out> cb = <optimized out> #5 php_module_shutdown () at ./main/main.c:2454 cb = <optimized out> #6 0x000055e6acad6239 in fpm_php_cleanup (which=<optimized out>, arg=<optimized out>) at ./sapi/fpm/fpm/fpm_php.c:198 No locals. #7 0x000055e6acace9bd in fpm_cleanups_run (type=type@entry=4) at ./sapi/fpm/fpm/fpm_cleanup.c:43 c = 0x55e6adef6580 cl = <optimized out> #8 0x000055e6acad6ee4 in fpm_pctl_exit () at ./sapi/fpm/fpm/fpm_process_ctl.c:71 __func__ = "fpm_pctl_exit" #9 fpm_pctl_action_last () at ./sapi/fpm/fpm/fpm_process_ctl.c:118 No locals. #10 0x000055e6acad7b3b in fpm_pctl (action=2, new_state=0) at ./sapi/fpm/fpm/fpm_process_ctl.c:260 __func__ = "fpm_pctl" #11 fpm_pctl_child_exited () at ./sapi/fpm/fpm/fpm_process_ctl.c:260 No locals. #12 0x000055e6acace51b in fpm_children_bury () at ./sapi/fpm/fpm/fpm_children.c:266 wp = 0x55e6adef6c90 tv1 = {tv_sec = 10543, tv_usec = 512922} tv2 = {tv_sec = 22, tv_usec = 495922} buf = "on signal 15 (SIGTERM)\000\000\060\254\267\204\377\177\000\000\020/\266\204\377\177\000\000\000\304\370\317\001\000\000\000\001\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000\360.\266\204\377\177\000\000@/\266\204\377\177\000\000@J\304\254\346U\000\000\317\367S\343\245\233\304 \020/\266\204\377\177\000\000\366\237\244\031=\177\000\000\f\000\000\000\000\000\000\000\366\237\244\031=\177\000" severity = 1 restart_child = 1 status = 15 pid = 919 child = <optimized out> __func__ = "fpm_children_bury" #13 0x000055e6acad3703 in fpm_event_fire (ev=0x55e6acc44b60 <children_bury_timer>) at ./sapi/fpm/fpm/fpm_events.c:487 No locals. #14 fpm_event_loop (err=err@entry=0) at ./sapi/fpm/fpm/fpm_events.c:467 ev = 0x55e6acc44b60 <children_bury_timer> next = 0x55e6adefffe0 --Type <RET> for more, q to quit, c to continue without paging-- q = 0x55e6adeffd70 ms = <optimized out> tmp = <optimized out> timeout = <optimized out> ret = <optimized out> q2 = <optimized out> now = {tv_sec = 10543, tv_usec = 512855} signal_fd_event = {fd = 5, timeout = {tv_sec = 0, tv_usec = 0}, frequency = {tv_sec = 0, tv_usec = 0}, callback = 0x55e6acad3890 <fpm_got_signal>, arg = 0x0, flags = 2, index = 5, which = 2} __func__ = "fpm_event_loop" #15 0x000055e6acacdd47 in fpm_run (max_requests=0x7fff84b630fc) at ./sapi/fpm/fpm/fpm.c:113 wp = 0x0 #16 0x000055e6ac8adad2 in main (argc=6, argv=0x7fff84b636f8) at ./sapi/fpm/fpm/fpm_main.c:1854 exit_status = 0 c = -1 use_extended_info = 0 file_handle = {handle = {fp = 0x0, stream = {handle = 0x0, isatty = 442194688, reader = 0x1, fsizer = 0x0, closer = 0x7f3d199c3490 <ptmalloc_init>}}, filename = 0x7f3d1a5a7628 "\274", opened_path = 0x7fff84b635f0, type = (ZEND_HANDLE_STREAM | unknown: 442221944), free_filename = 61 '=', buf = 0x7f3d19afec40 <main_arena> "", len = 139900400692384} orig_optind = 1 orig_optarg = 0x0 ini_entries_len = 80 max_requests = 0 requests = 0 fcgi_fd = 0 request = <optimized out> fpm_config = <optimized out> fpm_prefix = 0x0 fpm_pid = 0x0 test_conf = 0 force_daemon = -1 force_stderr = 0 php_information = 0 php_allow_to_run_as_root = 1 ret = <optimized out> __func__ = "main" __orig_bailout = <optimized out> __bailout = <optimized out> __str = <optimized out> -- Edit bug report at https://bugs.php.net/bug.php?id=79252&edit=1 -- Fix committed: https://bugs.php.net/fix.php?id=79252&r=fixed Fixed in release: https://bugs.php.net/fix.php?id=79252&r=alreadyfixed Need backtrace: https://bugs.php.net/fix.php?id=79252&r=needtrace Need Reproduce Script: https://bugs.php.net/fix.php?id=79252&r=needscript Try newer version: https://bugs.php.net/fix.php?id=79252&r=oldversion Not developer issue: https://bugs.php.net/fix.php?id=79252&r=support Expected behavior: https://bugs.php.net/fix.php?id=79252&r=notwrong Not enough info: https://bugs.php.net/fix.php?id=79252&r=notenoughinfo Submitted twice: https://bugs.php.net/fix.php?id=79252&r=submittedtwice register_globals: https://bugs.php.net/fix.php?id=79252&r=globals PHP version support discontinued: https://bugs.php.net/fix.php?id=79252&r=phptooold Daylight Savings: https://bugs.php.net/fix.php?id=79252&r=dst IIS Stability: https://bugs.php.net/fix.php?id=79252&r=isapi Install GNU Sed: https://bugs.php.net/fix.php?id=79252&r=gnused Floating point limitations: https://bugs.php.net/fix.php?id=79252&r=float No Zend Extensions: https://bugs.php.net/fix.php?id=79252&r=nozend MySQL Configuration Error: https://bugs.php.net/fix.php?id=79252&r=mysqlcfg

« previous php.bugs (#225476) next »