Hey:

On Thu, Aug 13, 2015 at 8:36 PM, James Gilliland <neclim...@gmail.com> wrote:
> So I've been trying for a couple days to narrow down this bug:
> https://bugs.php.net/bug.php?id=70242
>
> I can consistently recreate it with a complex test, but I have thus far not
> been able to find a pattern that helps me narrow down to a test script. I
> thought maybe I could reach out and see if I could get some help
> understanding what is happening in php and see if that has any clues.
>
>
> Seemingly important facts I've found digging through in gdb.
> 1) The connection related pointers on the stmt are already freed when the
> fault happens. It looks like the statement is being freed after the
> connection and the if (S->H->server) { surrounding the failing code is not
> sufficient to catch this
> 2) The trace has a spl_iterator in it so it seems like that is holding on
> to the stmt pointer. There is a IteratorIterator used on a PDO stmt in the
> code. But also in a lot of other non-triggering seemingly identical code
> and I haven't been able to get this to work.
> 3) The code in shutdown_executor that is triggering this is the 6th block
> of cleanups which seems to support 1). It is the block without any
> documentation which is sort of my luck in this.
>
> I'm guessing there is some way I need to trick a object to hold onto a
> reference through the other cleanups or something or trigger some sort of
> reference counter quirk but I just can't find it. Any help is appreciated.

thanks for the ssh access , I finally get the reason of this bug..

I  get a simple reproduce script and quick fix. all listed in
https://bugs.php.net/bug.php?id=70272&thanks=1

@dmitry: do you see a better solution ?

thanks


-- 
Xinchen Hui
@Laruence
http://www.laruence.com/

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to