php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #79693 Segmentation fault with preload of laminas-uri\laminas-validator
Submitted: 2020-06-11 23:58 UTC Modified: 2020-06-12 22:22 UTC
Votes:1
Avg. Score:4.0 ± 0.0
Reproduced:1 of 1 (100.0%)
Same Version:1 (100.0%)
Same OS:1 (100.0%)
From: maposov at adobe dot com Assigned:
Status: Closed Package: opcache
PHP Version: 7.4.6 OS: MacOS Mojave 10.14.6
Private report: No CVE-ID: None
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If this is not your bug, you can add a comment by following this link.
If this is your bug, but you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: maposov at adobe dot com
New email:
PHP Version: OS:

 

 [2020-06-11 23:58 UTC] maposov at adobe dot com
Description:
------------
Nginx + php-fpm
Reproduced with 7.4.5 and 7.4.6

Get segmentation fault with preloading of certain classes from laminas. That was detected as part of bigger project. Here is short way to reproduce it:

- include laminas-uri\laminas-validator in your project
        "name": "laminas/laminas-validator",
        "version": "2.13.4",
        "name": "laminas/laminas-uri",
        "version": "2.7.1",

- add following to preload:
     100501 => '/path/vendor/laminas/laminas-uri/src/UriInterface.php',
     100502 => '/path/vendor/laminas/laminas-uri/src/Uri.php',
     100503 => '/path/vendor/laminas/laminas-validator/src/Translator/TranslatorAwareInterface.php',
     100504 => '/path/vendor/laminas/laminas-validator/src/ValidatorInterface.php',
     100505 => '/path/vendor/laminas/laminas-validator/src/AbstractValidator.php',
     100506 => '/path/vendor/laminas/laminas-validator/src/Ip.php',
     100507 => '/path/vendor/laminas/laminas-uri/src/Http.php',

- add following to index.php
     $http = new \Laminas\Uri\Http();
     $http->setHost("test");
- open index.php in browser

Notes:
removing 'static' from "static $regex = '/^\[.*\]$/';" (vendor/laminas/laminas-uri/src/Uri.php:1201) makes php-fpm working

Expected result:
----------------
php-fpm continue to work

Actual result:
--------------
WARNING: [pool www] child 32757 exited on signal 11 (SIGSEGV) after 11.794965 seconds from start
NOTICE: [pool www] child 32784 started

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2020-06-12 07:30 UTC] nikic@php.net
Just to double check, this does also occur on 7.4.7, not just 7.4.6? I remember fixing something that sounds very related (especially to the use of "static").
 [2020-06-12 22:16 UTC] maposov at adobe dot com
Just in time! :)
Did not have upgrade for to 7.4.7 yesterday for Mac.
I can confirm that I could not reproduce it with 7.4.7 on Mac and php:7.4.7-fpm docker
 [2020-06-12 22:19 UTC] maposov at adobe dot com
(for history: it can be reproduced on 7.4.5 and 7.4.6)
 [2020-06-12 22:22 UTC] maposov at adobe dot com
-Status: Open +Status: Closed -PHP Version: 7.4.7 +PHP Version: 7.4.6
 [2020-06-12 22:22 UTC] maposov at adobe dot com
fixed in 7.4.7
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Wed Apr 24 23:01:34 2024 UTC