Bug #77590 [Fbk->NoF]: SIGSEGV in zend_hash_str_find_bucket

From: Date: Sun, 25 Jul 2021 04:22:12 +0000
Subject: Bug #77590 [Fbk->NoF]: SIGSEGV in zend_hash_str_find_bucket
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-235325@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=77590&edit=1 ID: 77590 Updated by: php-bugs@lists.php.net Reported by: gravydish at gmail dot com Summary: SIGSEGV in zend_hash_str_find_bucket -Status: Feedback +Status: No Feedback Type: Bug Package: Built-in web server Operating System: Fedora 29 PHP Version: 7.2.15 Assigned To: cmb Private report: N New Comment: No feedback was provided. The bug is being suspended because we assume that you are no longer experiencing the problem. If this is not the case and you are able to provide the information that was requested earlier, please do so and change the status of the bug back to "Re-Opened". Thank you. Previous Comments: ------------------------------------------------------------------------ [2021-07-13 15:51:01] cmb@php.net Does this still happen with any of the actively supported PHP versions[1]? [1] <https://www.php.net/supported-versions.php> ------------------------------------------------------------------------ [2019-04-16 13:27:11] jkavalik at gmail dot com getting the same intermittently on PHP 7.1.28-1+ubuntu16.04.1+deb.sury.org+3 (cli) (built: Apr 10 2019 10:49:52) ( NTS ) running as $ php7.1 -S localhost:8000 -t www I trigger it most often by accessing multiple similar url in parallel that need heavy execution (Nette+ORM+mariadb). gdb bt: #0 zend_hash_str_find_bucket (h=<optimized out>, len=13, str=0x55dfb02a0940 "Europe/Berlin", ht=0x55dfb02a0940) at /build/php7.1-JdcYxT/php7.1-7.1.28/Zend/zend_hash.c:510 #1 zend_hash_str_find (ht=ht@entry=0x7f645ab73af0, str=str@entry=0x55dfb02a0940 "Europe/Berlin", len=13) at /build/php7.1-JdcYxT/php7.1-7.1.28/Zend/zend_hash.c:1970 #2 0x000055dfb006acbb in zend_hash_str_find_ptr (len=<optimized out>, str=0x55dfb02a0940 "Europe/Berlin", ht=<optimized out>) at /build/php7.1-JdcYxT/php7.1-7.1.28/Zend/zend_hash.h:748 #3 php_date_parse_tzfile (formal_tzname=0x55dfb02a0940 "Europe/Berlin", tzdb=0x55dfb1bc42c0) at /build/php7.1-JdcYxT/php7.1-7.1.28/ext/date/php_date.c:946 #4 0x000055dfb006cf46 in get_timezone_info () at /build/php7.1-JdcYxT/php7.1-7.1.28/ext/date/php_date.c:1042 #5 0x000055dfb006f01d in php_format_date (format=format@entry=0x55dfb02f8dec "r", format_len=format_len@entry=1, ts=1555335406, localtime=localtime@entry=1) at /build/php7.1-JdcYxT/php7.1-7.1.28/ext/date/php_date.c:1295 #6 0x000055dfb0298ffb in append_essential_headers (buffer=buffer@entry=0x7ffcff84eb00, client=client@entry=0x55dfb1c1efd0, persistent=persistent@entry=1) at /build/php7.1-JdcYxT/php7.1-7.1.28/sapi/cli/php_cli_server.c:359 #7 0x000055dfb029bf95 in php_cli_server_begin_send_static (client=0x55dfb1c1efd0, server=0x55dfb05ed800 <server>) at /build/php7.1-JdcYxT/php7.1-7.1.28/sapi/cli/php_cli_server.c:2074 #8 php_cli_server_dispatch (client=0x55dfb1c1efd0, server=0x55dfb05ed800 <server>) at /build/php7.1-JdcYxT/php7.1-7.1.28/sapi/cli/php_cli_server.c:2215 #9 php_cli_server_recv_event_read_request (server=0x55dfb05ed800 <server>, client=0x55dfb1c1efd0) at /build/php7.1-JdcYxT/php7.1-7.1.28/sapi/cli/php_cli_server.c:2410 #10 0x000055dfb029c6b9 in php_cli_server_do_event_for_each_fd_callback (_params=_params@entry=0x7ffcff84ec50, fd=fd@entry=6, event=event@entry=1) at /build/php7.1-JdcYxT/php7.1-7.1.28/sapi/cli/php_cli_server.c:2495 #11 0x000055dfb029d479 in php_cli_server_poller_iter_on_active (poller=0x55dfb05ed808 <server+8>, callback=0x55dfb029c5c0 <php_cli_server_do_event_for_each_fd_callback>, opaque=0x7ffcff84ec50) at /build/php7.1-JdcYxT/php7.1-7.1.28/sapi/cli/php_cli_server.c:846 #12 php_cli_server_do_event_for_each_fd (whandler=0x55dfb029a540 <php_cli_server_send_event>, rhandler=0x55dfb029bc90 <php_cli_server_recv_event_read_request>, server=0x55dfb05ed800 <server>) at /build/php7.1-JdcYxT/php7.1-7.1.28/sapi/cli/php_cli_server.c:2513 #13 php_cli_server_do_event_loop (server=0x55dfb05ed800 <server>) at /build/php7.1-JdcYxT/php7.1-7.1.28/sapi/cli/php_cli_server.c:2523 #14 do_cli_server (argc=<optimized out>, argv=<optimized out>) at /build/php7.1-JdcYxT/php7.1-7.1.28/sapi/cli/php_cli_server.c:2645 #15 0x000055dfb0065b23 in main (argc=5, argv=0x55dfb18c7410) at /build/php7.1-JdcYxT/php7.1-7.1.28/sapi/cli/php_cli.c:1384 loading .gdbinit and running zbacktrace comes empty ------------------------------------------------------------------------ [2019-03-25 13:51:39] nikic@php.net Can't reproduce this (including no errors under valgrind). Does this require anything beyond accessing a static page via built-in server? ------------------------------------------------------------------------ [2019-02-20 20:00:33] kontakt at beberlei dot de The problem is that static requests don't initialize the DATEG(tzcache) global variable, which leads to the DATEG(tzcahce) probably pointing to invalid memory when its used in php_format_date -> get_timezone_info() instead of NULL, and it never gets correctly initialized. ------------------------------------------------------------------------ [2019-02-11 17:17:42] gravydish at gmail dot com I wanted to add that I am able to observe the same SIGSEGV on the same request on the version of PHP that ships with MacOS, 7.1.23. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=77590 -- Edit this bug report at https://bugs.php.net/bug.php?id=77590&edit=1

« previous php.bugs (#235325) next »