#31492 [Opn->Fbk]: com_event_sink => crash when InternetExplorer.Application navigates away
| From: | derick@php.net | Date: | Tue, 11 Jan 2005 15:19:06 +0000 |
| Subject: | #31492 [Opn->Fbk]: com_event_sink => crash when InternetExplorer.Application navigates away | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-71858@lists.php.net to get a copy of this message | ||
ID: 31492
Updated by: derick@php.net
Reported By: csaba at alum dot mit dot edu
-Status: Open
+Status: Feedback
Bug Type: Reproducible crash
Operating System: Win XP Pro
PHP Version: 5.0.3
New Comment:
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
Previous Comments:
------------------------------------------------------------------------
[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