ID: 31492 User updated by: csaba at alum dot mit dot edu Reported By: csaba at alum dot mit dot edu -Status: Feedback +Status: Open Bug Type: COM related Operating System: Win XP Pro PHP Version: 5.0.3 New Comment:
This is now working pretty spiffy. The reason that I've taken so long to come back is because of http://bugs.php.net/bug.php?id=32109&edit=1 Until this bug was fixed, my Apache web server was useless. Unfortunately, it is now experiencing random intermittent problems (which is why I don't file a separate problem). The behaviour that I observe is that apache will report that it has to shut down (Apache HTTP Server has encountered a problem and needs to close. We are sorry for the inconvenience.) and ask whether I want to submit a report to Microsoft. However, I don't actually observe a little red dot in the icon with the feather in the bottom right of screen and as near as I can tell apache doesn't die. The point is that there is some difference between the Feb 19 version and versions from the Feb 28 onwards that causes the nasty dialog to appear on my screen. The pages that I'm running are too big, and I don't have a reliable test case for you at this point. But anyway, I'm glad to see this bug worked out. Thanks. Previous Comments: ------------------------------------------------------------------------ [2005-02-28 21:08:35] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-latest.tar.gz For Windows: http://snaps.php.net/win32/php5-win32-latest.zip ------------------------------------------------------------------------ [2005-01-11 17:50:53] csaba at alum dot mit dot edu Done. This time, I got as far as navigating to Google.com (there were no additional title has changed lines). Just as I was getting ready to enter something to search for I got the dreaded error with locations 07c911629 and 006f0044 Clicking OK produced one more error alert with 07c911e58 and 00000000 I forgot to mention that the INI file that I used in both cases was the 5.0.3 ini-dist where the only thing I did with it was to uncomment the first 4 COM entries. ------------------------------------------------------------------------ [2005-01-11 16:19:05] [EMAIL PROTECTED] Please try using this CVS snapshot: http://snaps.php.net/php5-STABLE-latest.tar.gz For Windows: http://snaps.php.net/win32/php5.0-win32-latest.zip ------------------------------------------------------------------------ [2005-01-11 16:12:30] csaba at alum dot mit dot edu Description: ------------ If I run the code below (essentially lifted from http://www.zend.com/php5/articles/php5-dotnet.php and http://at2.php.net/manual/en/ref.com.php (superzouz entry from 11 Oct 2003)) then I get the started and com_event_sink lines printed and then two identical title has changed lines: title has changed: PHP: Hypertext Preprocessor So far so good. If I now go to the IE window and put google.com<enter> into the location bar, and then have it search for something, I may or may not get additional title has changed messages (sometimes the next one is even the original php title bar. Ie. when I navigate to Google.com, the third title has changed line might still be PHP: Hypertext Preprocessor. But in any case, if I close the window, I will definitely get an error dialog: Title: php.exe - Application Error Text: The instruction at "0x7c911629" referenced memory at "0x00000000". The memory could not be "written". Click on OK to terminate the program Click on CANCEL to debug the program The actual first location varies, but it has always started with "0x7c91 The second one is usually all 0s though occasionally it has low numbers. I have changed the message pump time, and sometimes it seems like this affects how soon I might get an error, but I haven't seen anything definitive yet. The problem does not happen if I comment out the com_event_sink line and the while loop. I am on Win XP Pro SP2 using IE 6 My antivirus definitions are up to date and Norton Antivirus has found a clean machine. If there are other tests that I can do to facilitate tracking this problem down, please let me know. My php.ini file is in the same directory as php.exe (I do not have Apache installed yet and I am running php.exe (from a directory outside where php.exe lives) from a CMD box. Possibly related to http://bugs.php.net/bug.php?id=31040&edit=2 ? Sincerely, Csaba Gabor from Vienna Reproduce code: --------------- <?php class IESink { public $terminated = false; public function TitleChange($text) { echo("title has changed: $text \n"); } public function OnQuit() { $this->terminated = true; echo ("Quitting\n"); } } $ie = new COM("InternetExplorer.Application"); $ie->Visible = true; $ie->Navigate("http://www.php.net/"); $sink = new IESink; print "started\n"; com_event_sink($ie, $sink, "DWebBrowserEvents2"); print "com_event_sink called\n"; while (!$sink->terminated) { com_message_pump(1000); } print "finished!\n"; ?> ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/?id=31492&edit=1