php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #39960 dllhost.exe application error
Submitted: 2006-12-27 00:39 UTC Modified: 2007-01-11 09:58 UTC
From: chv at cverdow dot com Assigned:
Status: Not a bug Package: IIS related
PHP Version: 6CVS-2006-12-27 (CVS) OS: Windows XP SP2
Private report: No CVE-ID: None
View Add Comment Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
You can add a comment by following this link or if you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: chv at cverdow dot com
New email:
PHP Version: OS:

 

 [2006-12-27 00:39 UTC] chv at cverdow dot com
Description:
------------
I'm basically opening this to let you know that the problem still exists. This references both what appears to be the latest production version (5.2.0 dated 02-Nov-2006), and 6CVS-2006-12-27 (17:30 GMT). 

I don't have MSVC6 or any other C dev environment on this machine, so I am unable to provide the backtrace you prefer. I have been unable to capture this in any of the dumps and logs that are available to me, possibly due to the place in the shutdown process this occurs. The problem is repeatable.  I get it every time I load a local PHP page.  I never get it when I only access any page on the Internet.

DLL: php6isapi.dll
INI: php.ini-recommended, modified as follows:
- doc_root = "C:\Inetpub\wwwroot";
- extension_dir = "C:\PHP5\ext"
I have not, however enabled any extensions.
I had to place php.ini in C:\WINDOWS for it to be read.

Steps to repeat:
- Reboot machine
- Open browser (IE 7.0.5730.11)
- Load http://myserver/phpinfo.php
- Close browser
- Restart computer (Start -> Turn off computer -> Restart)

Steps that do not produce the error:
- Reboot machine
- Open browser (IE 7.0.5730.11)
- Load http://www.anysite.com
- Close browser
- Restart computer (Start -> Turn off computer -> Restart)


Reproduce code:
---------------
It's simply a standard shell to call phpinfo() -- it's probably the standard phpinfo.php that's floating around the Net. 

Expected result:
----------------
The PHP code runs as expected. The browser closes as expected. But, when the machine is restarted or shut down, the symptom appears. I expect the machine to shut down without producting an error.

Actual result:
--------------
After Windows displays the shutdown page, after it enters the "Saving your settings" phase, the following window is displayed:

dllhost.exe - Application Error
The instruction at "0x010a5b81" referenced memory at "0x010a5b81". The memory could not be "written".
Click on OK to terminate the program
Click on CANCEL to debug the program

Clicking on "Cancel" shows the same information, with a single button: "Click on OK to terminate the program".

Clickin on OK completes the shutdown process, the screen goes black for the expected duration, and the startup process begins.

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2006-12-27 00:45 UTC] chv at cverdow dot com
IIS version is 5.1.
 [2006-12-27 09:37 UTC] tony2001@php.net
Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip


 [2006-12-29 00:57 UTC] chv at cverdow dot com
Thank you, Tony.  I tried it.  I'm still getting the same result -- but the memory address that's trying to write to itself is different.  

Should it help you to track this down, I am noticing that each time it aborts, the memory location is different, but it's always some location trying to write to itself that is failing.  

In my initial report, I was mistaked about where the error occurs.  It is in the very last phase, after "Windows is shutting down" is displayed on the screen.  Sorry.

I was exploring the registry, and noticed two things I thought I'd bring to your attention.  I've never been a registry expert.  But, these two struck me as curious:

HKEY_LOCAL_MACHINE
 SYSTEM
  ControlSet001
   Control
    Nls
     MUILanguages
      RCV2

This contains a rather long list of .dlls and .exes, but php5isapi.dll is not in the list.

HKEY_LOCAL_MACHINE
 SYSTEM
  ControlSet001
   Services
    W3SVC
     Parameters
      Script Map
       .php = [PUT PATH HERE]\php5isapi.dll

That is the exact text for the value.  It has to be finding the API, or phpinfo.php wouldn't be running, right?  But, "put path here" when I specifically browsed out to it when I entered it into IIS?  That doesn't seem right.  Honestly, neither does the fact that I have to put php.ini in C:\WINDOWS when C:\PHP5 is in my path in environment variables.

Thank you again for your efforts.  Please let me know if there is anything else I can try.
 [2006-12-29 16:54 UTC] fmk@php.net
Could you try the same test with a script without a call to phpinfo();

A simple echo "Hello World"; or something simple like that.
 [2007-01-02 03:01 UTC] chv at cverdow dot com
Thank you all for your efforts.  I can't afford to be without PHP, any longer.  I've installed the CGI interface, and that works without issue, including running the phpinfo() shell. 

I honestly would like to try to help you to track this down, but I have to have a stable production environment, I only have the one machine, and I don't have a serious dump generator anyway. I started life on mainframes, all the way back in the 1980s. I haven't forgotten how useful a good PMD dump can be. Since this is a rather low-level issue, we both know that being able to get one is probably going to be the only way to locate the problem efficiently.

Since so many of us seem to be affected by this, and have been for some time, I would like to ask you to continue working on this. It can't be a configuration issue specific to any one machine (e.g., a driver conflict with some obscure utility that no one else would ever install). Too many of us have reported it. You really should be able to see this on any Windows XP box with IIS enabled. And, on one of your machines, you'll have access to a PMD.

I'm sure I'm not the first to run out of time for experimenting, and to give up and install the CGI interface. I realise IIS on any flavor of Windows doesn't compare to Apache on Unix. I realise Microsoft would like for us to use ASP when we develop for this environment. But, some of us may be stuck with IIS in a few specific situations, for various reasons, and aren't about to write ASP just for these boxes. I'm sure we would all appreciate your tracking this down and fixing it.

Thank you again, and good luck!

Cynthia
 [2007-01-11 09:58 UTC] tony2001@php.net
.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Mar 28 12:01:27 2024 UTC