php-windows Digest 21 Jul 2013 21:55:54 -0000 Issue 4115

Topics (messages 31046 through 31050):

Re: CLI Crash Bug
        31046 by: Jan Ehrhardt
        31047 by: Jan Ehrhardt
        31048 by: Keith Davis
        31049 by: Keith Davis
        31050 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 ---
Hi Keith,

Long tme, no hear.

Keith Davis in php.windows (Sat, 20 Jul 2013 07:14:39 -0500):
>We are trying to move to 5.5, but are stopped by this bug which we reported:
>
>https://bugs.php.net/bug.php?id=65247
>
>Description:
>------------
>If Opcache is enabled for CLI, php.exe crashes on shutdown every single time, 
>on 3 
>different machines.
>
>No crashes on FastCGI (IIS 7.5), and no crashes on CLI if opcache is disabled.
>
>Always happens on shutdown, tested with XDebug, after script completes (as far 
>as 
>I can tell.)

Since this is PHP run from the commandline, you are not bound to the x86
versions (as you are under IIS). You might try one of the x64 versions,
posted here:
http://www.apachelounge.com/viewtopic.php?t=5480

Do not use php_opcache.dll, but php_opcache64.dll. The Windows version
of opcache uses a semaphore file, that is the same if a user tries to
load a second instance of opcache. By just changing the name of the
semaphore file (which does php_opcache64.dll) I was able to run two
instances of opcache on the same machine, under the same user: PHP 5.3
NTS x86 (for Drupal6) and PHP 5.5 NTS x64 (for Drupal7).

There is also a difference in the mmap_base of the x86 and x64 versions.
On x86 is looks really fixed, x64 seems to choose a mmap_base on its
own.

At the moment I am trying to load a PHP 5.4 x64 with opcache as well
(with yet another semaphore file), but that one randomly crashes.

Jan

--- End Message ---
--- Begin Message ---
Keith Davis in php.windows (Sat, 20 Jul 2013 07:14:39 -0500):
>We are trying to move to 5.5, but are stopped by this bug which we reported:

BTW: my NTS builds of 5.5 also contain a php_wincache.dll, compiled from
the most recent sources.

Jan

--- End Message ---
--- Begin Message ---
The problem with using the x64 version just for command line is we are running 
PHPUnit and composer and we need the build to be the same as production - which 
is running IIS.

We are planning on doing some straight command line stuff on a production box 
as well, and this x64 info is good to know, but we still need the bug fixed in 
the x86 version.

Keith Davis - (214) 906-5183


-----Original Message-----
From: Jan Ehrhardt [mailto:php...@ehrhardt.nl]
Sent: Saturday, July 20, 2013 8:45 AM
To: php-wind...@lists.php.net
Subject: [PHP-WIN] Re: CLI Crash Bug

Hi Keith,

Long tme, no hear.

Keith Davis in php.windows (Sat, 20 Jul 2013 07:14:39 -0500):
>We are trying to move to 5.5, but are stopped by this bug which we reported:
>
>https://bugs.php.net/bug.php?id=65247
>
>Description:
>------------
>If Opcache is enabled for CLI, php.exe crashes on shutdown every single
>time, on 3 different machines.
>
>No crashes on FastCGI (IIS 7.5), and no crashes on CLI if opcache is disabled.
>
>Always happens on shutdown, tested with XDebug, after script completes
>(as far as I can tell.)

Since this is PHP run from the commandline, you are not bound to the x86 
versions (as you are under IIS). You might try one of the x64 versions, posted 
here:
http://www.apachelounge.com/viewtopic.php?t=5480

Do not use php_opcache.dll, but php_opcache64.dll. The Windows version of 
opcache uses a semaphore file, that is the same if a user tries to load a 
second instance of opcache. By just changing the name of the semaphore file 
(which does php_opcache64.dll) I was able to run two instances of opcache on 
the same machine, under the same user: PHP 5.3 NTS x86 (for Drupal6) and PHP 
5.5 NTS x64 (for Drupal7).

There is also a difference in the mmap_base of the x86 and x64 versions.
On x86 is looks really fixed, x64 seems to choose a mmap_base on its own.

At the moment I am trying to load a PHP 5.4 x64 with opcache as well (with yet 
another semaphore file), but that one randomly crashes.

Jan

--
PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: 
http://www.php.net/unsub.php



This message (including any attachments) may contain confidential or otherwise 
privileged information and is intended only for the individual(s) to which it 
is addressed. If you are not the named addressee you should not disseminate, 
distribute or copy this e-mail. Please notify the sender immediately by e-mail 
if you have received this e-mail by mistake and delete this e-mail from your 
system. E-mail transmission cannot be guaranteed to be secured or error-free as 
information could be intercepted, corrupted, lost, destroyed, arrive late or 
incomplete, or contain viruses. The sender therefore does not accept liability 
for any errors or omissions in the contents of this message or that arise as a 
result of e-mail transmission. If verification is required please request a 
hard-copy version from the sender.

www.pridedallas.com



--- End Message ---
--- Begin Message ---
Good to know.

Keith Davis - (214) 906-5183


-----Original Message-----
From: Jan Ehrhardt [mailto:php...@ehrhardt.nl]
Sent: Saturday, July 20, 2013 8:50 AM
To: php-wind...@lists.php.net
Subject: [PHP-WIN] Re: CLI Crash Bug

Keith Davis in php.windows (Sat, 20 Jul 2013 07:14:39 -0500):
>We are trying to move to 5.5, but are stopped by this bug which we reported:

BTW: my NTS builds of 5.5 also contain a php_wincache.dll, compiled from the 
most recent sources.

Jan

--
PHP Windows Mailing List (http://www.php.net/) To unsubscribe, visit: 
http://www.php.net/unsub.php



This message (including any attachments) may contain confidential or otherwise 
privileged information and is intended only for the individual(s) to which it 
is addressed. If you are not the named addressee you should not disseminate, 
distribute or copy this e-mail. Please notify the sender immediately by e-mail 
if you have received this e-mail by mistake and delete this e-mail from your 
system. E-mail transmission cannot be guaranteed to be secured or error-free as 
information could be intercepted, corrupted, lost, destroyed, arrive late or 
incomplete, or contain viruses. The sender therefore does not accept liability 
for any errors or omissions in the contents of this message or that arise as a 
result of e-mail transmission. If verification is required please request a 
hard-copy version from the sender.

www.pridedallas.com



--- End Message ---
--- Begin Message ---
Keith Davis in php.windows (Sat, 20 Jul 2013 07:14:39 -0500):
>We are trying to move to 5.5, but are stopped by this bug which we reported:
>
>https://bugs.php.net/bug.php?id=65247

A tip: there is yet another way to get backtraces. I once used it to
track segfaults in httpd.exe, but there is a chance it will also work
with php.exe.

Description here: https://bugs.php.net/bugs-generating-backtrace.php
Versions for debugging 32-bits and 64-bits programs can be found here:
http://x32.elijst.nl/gdb.zip

Usage something like:
gdb php.exe
(gdb) run anyscript.php

Or you can run php interactively. Simple example is php -r exit():

D:\phpdev\php54nts.x32>gdb32.exe php.exe
GNU gdb (GDB) 7.5.1
Copyright (C) 2012 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 "i686-w64-mingw32".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from D:\phpdev\php54nts.x32\php.exe...(no debugging
symbols found)...done.

(gdb) run -r exit();
Starting program: D:\phpdev\php54nts.x32\php.exe -r exit();
[New Thread 3024.0x1314]
[New Thread 3024.0x904]
[Inferior 1 (process 3024) exited normally]
(gdb)

After a crash 'bt' at the (gdb) prompt should give you a backtrace.

Jan

--- End Message ---

Reply via email to