broken fix?
| From: | Wez Furlong | Date: | Sat, 25 Dec 2004 03:22:13 +0000 |
| Subject: | broken fix? | ||
| Groups: | php.internals | ||
| Request: | Send a blank email to internals+get-14206@lists.php.net to get a copy of this message | ||
I've been working with Edin to try and track down what caused the
sudden round of crashes in the COM extension in the latest 4.3
release, and it seems that the PZVAL_UNLOCK that Stas introduced in
this commit:
http://viewcvs.php.net/viewcvs.cgi/Zend/Attic/zend_execute.c.diff?r1=1.316.2.41&r2=1.316.2.42&hideattic=0
fix overloaded calls not returning result, e.g.:
<? new Java('foo'); ?>
is to blame.
If you counter-act the unlock in the COM call handler (setting is_ref
and bumping the refcount), things work "fine". This is a hack, so I'm
hoping that you engine gurus will divine the correct fix.
A repro script is something like:
$word = new COM('Word.Application');
$word->Documents->Open('somedoc.doc');
It's impossible for me to debug right now, as most of my boxen are
still shipping from the UK, so I have no 4.3 build env on windows.
--Wez.