Bug #72451 [Fbk->Csd]: Wordpress/ stream_get_wrappers causes crash

[email protected]
Newsgroups php.bugs
Message-ID <[email protected]>
Edit report at https://bugs.php.net/bug.php?id=72451&edit=1

 ID:                 72451
 Updated by:         [email protected]
 Reported by:        oldbucsfan at hotmail dot com
 Summary:            Wordpress/ stream_get_wrappers causes crash
-Status:             Feedback
+Status:             Closed
 Type:               Bug
 Package:            Apache2 related
 Operating System:   Windows Server 2012 R2
 PHP Version:        7.0.7
 Assigned To:        ab
 Block user comment: N
 Private report:     N

 New Comment:

The fix for this bug has been committed.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
http://snaps.php.net/.

 For Windows:

http://windows.php.net/snapshots/
 
Thank you for the report, and for helping us make PHP better.

Actually can be closed.


Previous Comments:
------------------------------------------------------------------------
[2017-03-29 12:16:12] [email protected]

Please try using this snapshot:

  http://snaps.php.net/php-trunk-latest.tar.gz
 
For Windows:

  http://windows.php.net/snapshots/



------------------------------------------------------------------------
[2017-03-08 17:47:06] [email protected]

Please check the current master snapshots, a comprehensive patch fixing this kind of issues has landed there.

thanks.

------------------------------------------------------------------------
[2017-02-27 15:19:18] stumpe at gmail dot com

Hello,

i came across this error and can reproduce it. i compiled apache and php myself (on Linux hostname 3.12.62-60.64.8-default #1 SMP Tue Oct 18 12:21:38 UTC 2016 (42e0a66) x86_64 x86_64 x86_64 GNU/Linux) and saw this error pop up in the wordpress-instance

PHP Fatal error:  Allowed memory size of 6442450944 bytes exhausted (tried to allocate 15126708878888855354 bytes) in wp-includes/functions.php on line 5161

which is this function:

function wp_is_stream( $path ) {
        $wrappers = stream_get_wrappers();
        $wrappers_re = '(' . join('|', $wrappers) . ')';

        return preg_match( "!^$wrappers_re://!", $path ) === 1;
}


so i tried this code - to take a look if this is a wordpress-problem

<?php
print_r(stream_get_wrappers());
?>

first time i called the URL for this code i got error 500 and another PHP Fatal Error in the log

apache let the corrupted child die

[Mon Feb 27 15:50:34.341436 2017] [core:notice] [pid 10599:tid 139796708411136] AH00052: child pid 5329 exit signal Segmentation fault (11)

second time calling the script i got the output:

Array ( [0] => https [1] => ftps [2] => compress.zlib [3] => php [4] => file [5] => glob [6] => data [7] => http [8] => ftp [9] => phar [10] => zip )

something is still weird

apache 2.4.25
php 7.1.2
openssl 1.0.2k

------------------------------------------------------------------------
[2017-01-31 15:47:16] boldini at softcodex dot ch

hi, I tried to run also ab and abs with -n 1000 -c 10 with the code

$wrappers = stream_get_wrappers();
print_r($wrappers);
$wrappers_re = '(' . join('|', $wrappers) . ')';
print($wrappers_re);

but no crash happens!
I can say my cash happen every 2/3 weeks

Only have 1 site with phpmyadmin that use https, so few connections per day..
All other are normal http

------------------------------------------------------------------------
[2017-01-12 19:33:39] oldbucsfan at hotmail dot com

Thanks ab. All Apache/PHP/etc are all using OpenSSL/1.0.2j. So they aren't different versions. I have made sure that the right dlls are being loaded, so it's not a missing or conflicting dll. I'll get another backtrace for you.

Apache 2.4.25 (x64 vc14 ApacheLounge binaries)
PHP 7.1.0 (x64 thread safe from php.net)

boldini, are you also running with https enabled in Apache? It sounds like your error is much less frequent, but I was getting hit over https a few times a second, so a server with less load may not have this error appear but sparingly. It may be something where you need to have all 4 of these to get the error.

1. Apache enabled and fairly often hit over https
2. PHP 7
3. Windows Server 2012? - may or may not be a requirement
4. Some sort of code that triggers the error like the stream_get_wrappers(), although this may be more of a symptom than the source of the problem.

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


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


--
Edit this bug report at https://bugs.php.net/bug.php?id=72451&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.