Bug #78918 [Fbk]: Segfault with preloading Laravel

From: Date: Wed, 18 Dec 2019 11:12:14 +0000
Subject: Bug #78918 [Fbk]: Segfault with preloading Laravel
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-224391@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=78918&edit=1

 ID:                 78918
 Updated by:         nikic@php.net
 Reported by:        brent at spatie dot be
 Summary:            Segfault with preloading Laravel
 Status:             Feedback
 Type:               Bug
 Package:            opcache
 Operating System:   macOS 10.14
 PHP Version:        7.4.0
 Block user comment: N
 Private report:     N

 New Comment:

Unfortunately I'm not able to reproduce the segfault on Ubuntu. To make sure we're on the
same page, here's what I do:

 * Clone the git@github.com:brendt/aggregate.stitcher.io.git repo
 * Run ~/php-7.4/sapi/cli/php composer.phar install
 * Patch vendor/nesbot/carbon/src/Carbon/Traits/Date.php to comment out the problematic $days static
property.
 * Run the following command:
   ~/php-7.4/sapi/cli/php -c ~/php-7.4/php.ini -d opcache.preload=preload.php -S localhost:8000 -t
public
 * Open localhost:8000 in the browser

Does this match what you're doing?

> Using gdb I've got this (still no idea if this is useful at all for you)
> 
> 0x00007fff7c4ec61a in ?? () from /usr/lib/system/libsystem_kernel.dylib

Is this the full backtrace? Do you get anything more when typing "backtrace" into gdb?


Previous Comments:
------------------------------------------------------------------------
[2019-12-17 15:36:40] bugreports at gmail dot com

> [2019-12-17 15:01 UTC] brent at spatie dot be
> I've used PHP 7.4.1-dev now (commit https://github.com/php/php-src/commit/5ddcacac)

why?
7.4.1.dev is stone old when it comes to recent fixes
https://git.php.net/?p=php-src.git;a=shortlog;h=refs/heads/PHP-7.4

------------------------------------------------------------------------
[2019-12-17 15:01:17] brent at spatie dot be

Hi Nikita

I've used PHP 7.4.1-dev now (commit https://github.com/php/php-src/commit/5ddcacac)

I'm still getting a segfault:

[1]    86293 segmentation fault  <php path>/bin/php -S localhost:8181 -t public

Using gdb I've got this (still no idea if this is useful at all for you)

0x00007fff7c4ec61a in ?? () from /usr/lib/system/libsystem_kernel.dylib

When I don't preload any classes, yet still provide a preload script, there's another
segfault:

[1]    90260 segmentation fault  <php path>/bin/php -S localhost:8181 -t public

And finally, when opcache.preload and opcache.preload_user options are omitted in php.ini, the
server works fine.

------------------------------------------------------------------------
[2019-12-16 12:02:30] brent at spatie dot be

Hi Nikita

Running it with the built-in server also gives a segfault:

[Preloader] Preloaded 192 classes
[Mon Dec 16 13:00:51 2019] PHP 7.4.1RC1 Development Server (http://localhost:8181) started
[Mon Dec 16 13:00:53 2019] [::1]:54280 Accepted
[Mon Dec 16 13:00:53 2019] [::1]:54281 Accepted
[1]    21300 segmentation fault  /Users/brent/dev/php/build/php-741-RC1/bin/php -S localhost:8181 -t
public

I'll give the 7.4 branch a try later today or tomorrow though.

------------------------------------------------------------------------
[2019-12-16 09:12:39] nikic@php.net

I should probably clarify that 7.4.1 will not contain all the preloading fixes. Some of them will
only make 7.4.2 (current 7.4 branch).

------------------------------------------------------------------------
[2019-12-16 09:07:08] nikic@php.net

@brent: Can you please check whether it works with the built-in web server?

------------------------------------------------------------------------


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=78918


--
Edit this bug report at https://bugs.php.net/bug.php?id=78918&edit=1


Thread (23 messages)

« previous php.bugs (#224391) next »