php-windows Digest 2 Jan 2014 16:16:40 -0000 Issue 4177

Topics (messages 31236 through 31239):

Re: Opcache crashes. Was: [PHP-WIN] 64 bit platform improvements
        31236 by: Jan Ehrhardt
        31237 by: Jan Ehrhardt
        31238 by: Dmitry Stogov
        31239 by: Jan Ehrhardt

Administrivia:

To subscribe to the digest, e-mail:
        php-windows-digest-subscr...@lists.php.net

To unsubscribe from the digest, e-mail:
        php-windows-digest-unsubscr...@lists.php.net

To post to the list, e-mail:
        php-wind...@lists.php.net


----------------------------------------------------------------------
--- Begin Message ---
Jan Ehrhardt in php.windows (Mon, 30 Dec 2013 00:03:40 +0100):

with mod_fcgid:
>[Sun Dec 29 23:21:14.027470 2013] [fcgid:warn] [pid 9568:tid 2264] (OS
>       109)The pipe has been ended.  : [client
>       2a02:348:4f:66e2::1:7:61557] mod_fcgid: get overlap result
>       error
>[Sun Dec 29 23:21:14.027470 2013] [core:error] [pid 9568:tid 2264]
>       [client 2a02:348:4f:66e2::1:7:61557] End of script output before
>       headers: index.php

If I load php-cgi directly (without mod_fcgid), the Apache logs show
this:

[Mon Dec 30 00:11:16.669862 2013] [cgi:error] [pid 47304:tid 2264]
        [client 2a02:348:4f:66e2::1:7:62191] End of script output before
        headers: php-cgi.exe
[Mon Dec 30 00:11:16.669862 2013] [cgi:error] [pid 47304:tid 2264]
        [client 2a02:348:4f:66e2::1:7:62191] AH01215: zend_mm_heap
        corrupted

Jan

--- End Message ---
--- Begin Message ---
Jan Ehrhardt in php.windows (Mon, 30 Dec 2013 00:17:22 +0100):
>If I load php-cgi directly (without mod_fcgid), the Apache logs show
>this:
>
>[Mon Dec 30 00:11:16.669862 2013] [cgi:error] [pid 47304:tid 2264]
>       [client 2a02:348:4f:66e2::1:7:62191] End of script output before
>       headers: php-cgi.exe
>[Mon Dec 30 00:11:16.669862 2013] [cgi:error] [pid 47304:tid 2264]
>       [client 2a02:348:4f:66e2::1:7:62191] AH01215: zend_mm_heap
>       corrupted

I bisected to find the commit that caused the crash. It is this one:
https://github.com/zendtech/ZendOptimizerPlus/commit/b73b6a5559d6ca4925a09ed284a4e93be06726ed

For Dmitry: the crash happens when I try to access a Drupal7 website,
not just when running aan phpinfo script. Maybe it is the same crash I
was experiencing with the experimental 64 bit platform build, but I did
not check that yet.

php_opcache.dll for PHP 5.3 from the current git head runs flawlessly,
so there is a difference between the 5.3 and 5.5 php_opcache.dll's.

Jan

--- End Message ---
--- Begin Message ---
Hi Jan,

Thank you for report and tracking it down to particular commit.
Unfortunately, I can't imagine what is wrong just analyzing the code.
I suspect, that something must be wrong with optimization of some
particular instruction.
Anyway, I need to reproduce the problem

Does PHP crashes on a first request to homepage of fresh Drupal 7
installation?
If it depends on your data, I can't reproduce it.

I know, debugging on Windows is a pain :(
I would very appreciate, if you provide more or less compact reproducable
case.

Thanks. Dmitry.


On Mon, Dec 30, 2013 at 5:22 AM, Jan Ehrhardt <php...@ehrhardt.nl> wrote:

> Jan Ehrhardt in php.windows (Mon, 30 Dec 2013 00:17:22 +0100):
> >If I load php-cgi directly (without mod_fcgid), the Apache logs show
> >this:
> >
> >[Mon Dec 30 00:11:16.669862 2013] [cgi:error] [pid 47304:tid 2264]
> >       [client 2a02:348:4f:66e2::1:7:62191] End of script output before
> >       headers: php-cgi.exe
> >[Mon Dec 30 00:11:16.669862 2013] [cgi:error] [pid 47304:tid 2264]
> >       [client 2a02:348:4f:66e2::1:7:62191] AH01215: zend_mm_heap
> >       corrupted
>
> I bisected to find the commit that caused the crash. It is this one:
>
> https://github.com/zendtech/ZendOptimizerPlus/commit/b73b6a5559d6ca4925a09ed284a4e93be06726ed
>
> For Dmitry: the crash happens when I try to access a Drupal7 website,
> not just when running aan phpinfo script. Maybe it is the same crash I
> was experiencing with the experimental 64 bit platform build, but I did
> not check that yet.
>
> php_opcache.dll for PHP 5.3 from the current git head runs flawlessly,
> so there is a difference between the 5.3 and 5.5 php_opcache.dll's.
>
> Jan
>

--- End Message ---
--- Begin Message ---
Dmitry Stogov in php.windows (Mon, 30 Dec 2013 11:23:19 +0400):
>Thank you for report and tracking it down to particular commit.
>Unfortunately, I can't imagine what is wrong just analyzing the code.
>I suspect, that something must be wrong with optimization of some
>particular instruction.
>Anyway, I need to reproduce the problem

I know. I have now been able to reproduce the problem on my laptop and
on my development server. On the devserver, I have a setup, where the
https version of the site uses PHP 5.3 TS as mod_php and the http site
uses PHP 5.5.7 NTS from mod_fcgid. They are using exactly the same code.
I differentiate by direectories that are symlinked (directory junction
in MS speak).

This made it easy to switch the second PHP version and test when the
500-error occurs. A bit to my surprise it only happens for the NTS
versions of PHP 5.4 and PHP 5.5. The NTS version of PHP 5.3 runs without
problems with the opcache form git-head.

And all the TS versions of 5.3/5.4/5.5 do not produce an error 500.

>Does PHP crashes on a first request to homepage of fresh Drupal 7
>installation?

No, alas. I tried other Drupal7 sites, but they do not crash.

>If it depends on your data, I can't reproduce it.

The site contains sensitive data, so free access is not possible. On the
other hand, logging in is not even required to reproduce the cash. Any
call to the Drupal7 of this site is enough to bring it down.

>I know, debugging on Windows is a pain :(

With the debugging tools I cannot even get a backtrace. There are no
segfaults just an end of script before the headers. So any tool that is
monitoring segfaults does not notice anything. Do you have any tips how
I can get a backtrace anyway?

>I would very appreciate, if you provide more or less compact reproducable
>case.

I will try to remove the sensitive data from the dev-database, hoping
that it will still crash after that.

Jan

--- End Message ---

Reply via email to