Re: zend_bailout() crash.
| From: | Markus Fischer | Date: | Wed, 19 Jun 2002 08:26:17 +0000 |
| Subject: | Re: zend_bailout() crash. | ||
| References: | 1 2 3 | Groups: | php.dev |
| Request: | Send a blank email to php-dev+get-85331@lists.php.net to get a copy of this message | ||
On Wed, Jun 19, 2002 at 10:41:04AM +0200, moshe doron wrote :
> "Markus Fischer" <mfischer@guru.josefine.at> wrote in message
> news:20020618173942.GA5402@guru.josefine.at...
> > Is there somewhere a zend_try { } zend_try_catch statement
> > around the execution loop ? It is needed, maybe it's missing?
>
> there is no one.
> could u commit the needed change (i don't realy understands whats going
> there)?
Eh, sorry, no :-) I've no real clue either, all I did is
source reading applied pattern matching. In scriptengine.cpp
we have e.g. compile_string around line 465. A bailout always
does a longjmp out of the compile stage, but therefore you
need to call zend_try { and } zend_end_try(); around the
code.
Try something like this:
zend_try {
frag->opcodes = compile_string(&pv, "fragment" TSRMLS_CC);
if (frag->opcodes == NULL) {
free_code_fragment(frag);
[...]
}
} zend_end_try();
this is all just guessing.
- Markus
--
GnuPG Key: http://guru.josefine.at/~mfischer/C2272BD0.asc