|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2019-01-16 05:59 UTC] girgias@php.net
Description: ------------ It seems like PHP's built-in web server segfaults immediately when trying to access any web page. This issue seems to present from PHP 7.3.0 This may be related to Bug #77430 Tried to produce a gdb backtrace but didn't manage so I can try to produce one again with some instructions. I don't think that any extensions have an impact on this but can always provide the extension list. Actual result: -------------- php -S localhost:8000 -t public/ -d display_errors=1 PHP 7.3.1-1+ubuntu18.04.1+deb.sury.org+1 Development Server started at Wed Jan 16 06:50:35 2019 Listening on http://localhost:8000 Document root is /mnt/c/Dev/Sites/personal/public Press Ctrl-C to quit. Segmentation fault (core dumped) PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Tue Dec 02 18:00:01 2025 UTC |
Okay, I think I have narrowed down from where the problem comes. Or it comes from Guzzle ("guzzlehttp/psr7": "^1.5") Or it comes from first instantiating an object. gdb backtrace for the following code example: <?php require '../vendor/autoload.php'; $response = new GuzzleHttp\Psr7\Response(200, [], 'Hello World'); gdb output: gdb --args php -S localhost:8000 -t public/ -d display_errors=1 GNU gdb (Ubuntu 8.1-0ubuntu3) 8.1.0.20180409-git Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from php...(no debugging symbols found)...done. (gdb) r Starting program: /usr/bin/php -S localhost:8000 -t public/ -d display_errors=1 [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". PHP 7.3.1-1+ubuntu18.04.1+deb.sury.org+1 Development Server started at Wed Jan 16 12:19:29 2019 Listening on http://localhost:8000 Document root is /mnt/c/Dev/Sites/test-bug/public Press Ctrl-C to quit. [Wed Jan 16 12:19:30 2019] 127.0.0.1:56899 [200]: / [Wed Jan 16 12:19:30 2019] 127.0.0.1:56900 [404]: /favicon.ico - No such file or directory Program received signal SIGPIPE, Broken pipe. 0x00007ffffd2f2c4d in __libc_send (fd=5, buf=0x8a1aaf8, len=55, flags=0) at ../sysdeps/unix/sysv/linux/send.c:28 28 ../sysdeps/unix/sysv/linux/send.c: No such file or directory. I will try to figure out if it's only related to Guzzle or if it's a general problem.The SIGPIPE you're seeing is likely harmless and only shows up because you're running under gdb. You can skip it using "c" (maybe multiple times) or instruct gdb to not stop on it ("handle SIGPIPE nostop"). Or try running without gdb and see if it runs through clearly. It seems to me that xdebug is the culprit though. Quite a few people are hitting bug #77287.