Re: SegFault 11 on 5.5.6 on function return
| From: | Mike | Date: | Mon, 09 Dec 2013 17:44:55 +0000 |
| Subject: | Re: SegFault 11 on 5.5.6 on function return | ||
| References: | 1 | Groups: | php.internals |
| Request: | Send a blank email to internals+get-70560@lists.php.net to get a copy of this message | ||
On Mon, 2013-12-09 at 11:25 -0600, Ralph Schindler wrote:
> Hi all,
>
> We started noticing Segfaults in Travis when PHP was upgraded to 5.5.6.
> I've tested this particular issue on both linux and mac and can
> produce the segfault in both place.
>
> Looking at the backtrace (provided), can anyone offer assistance as to
> what changed between 5.5.5 and 5.5.6 that might be causing this?
>
> I've been able to isolate the last line of PHP code that executes before
> the segfault:
>
>
>
> https://github.com/sebastianbergmann/phpunit/blob/3.7/PHPUnit/Util/Type.php#L203
>
> I know the value of $value there to be null when this SegFault occurs.
>
> Also, the backtrace seems to hint at a problem in the garbage collector
> since the source of the issue emanates from gc_remove_from_buffer().
>
> My guesses...
>
> Is it possible that either the garbage collector is running and
> destroying the stack, and that when unwinding the stack frames it is in
> an inconsistent state and/or the return value for that particular
> function is not placed on the stack so that the stack is in the proper
> context when the return is processed?
>
> I can do additional research if anyone would like to point me in the
> right direction, or I can provide access to a VM where this particular
> backtrace was produced from.
>
> Thanks in advance.
> -ralph
RETVAL_ZVAL_FAST comes to mind.... Nikita, Dmitry?
--
Regards,
Mike